Diensterweiterungen – Übersicht

Mit Diensterweiterungen können Nutzer von Google Cloud -Produkten wie Cloud Load Balancing und Media CDN benutzerdefinierten Code direkt in den Datenpfad einfügen. So können Sie das Verhalten dieser Produkte an Ihre geschäftlichen Anforderungen anpassen. Diese Seite bietet eine allgemeine Übersicht über Service Extensions.

Arten von Erweiterungen

Der Datenpfad in Netzwerkprodukten wie Cloud Load Balancing und Media CDN kann als Pipeline von Datenverarbeitungsphasen visualisiert werden. Mit Service Extensions können Sie benutzerdefinierte Logik in eine oder mehrere dieser Phasen einfügen.

Service Extensions bietet zwei Möglichkeiten zum Einfügen benutzerdefinierter Logik: Plug-ins und Callouts.

Plug-ins

Mit Plug‑ins können Sie benutzerdefinierten Code inline in den Netzwerk-Datenpfad einfügen. Sie erstellen diese Plug-ins mit WebAssembly (Wasm) und der Proxy-Wasm-ABI.

Plug-ins werden als Wasm-Module in einer von Google verwalteten Sandbox-Infrastruktur ausgeführt, die einer serverlosen Infrastruktur ähnelt. Plugins werden auf von Google verwalteten Compute-Ressourcen ausgeführt. Sie haben eingeschränkte Funktionen und strenge Laufzeitanforderungen. Sie werden in der Nähe der Datenebene ausgeführt und die Latenzoptimierung wird verwaltet. Die folgende Abbildung zeigt, wie Plug-ins funktionieren.

Plug‑ins enthalten benutzerdefinierte Inline-Logik.
Plug-ins enthalten benutzerdefinierte Inline-Logik (zum Vergrößern klicken).

Weitere Informationen zu Plug-ins finden Sie unter Plug-ins – Übersicht.

Aufrufe

Mit Callouts können Sie Cloud Load Balancing verwenden, um Envoy-gRPC-Aufrufe an Google-Dienste und nutzerverwaltete Dienste während der Datenverarbeitung zu senden.

Callouts werden als universelle gRPC-Server auf nutzerverwalteten Compute-VMs, auf Google Kubernetes Engine-Pods (GKE) in GKE Multi-Cloud oder in lokalen Umgebungen ausgeführt. Die folgende Abbildung zeigt, wie Callouts an Dienste funktionieren.

Callouts enthalten benutzerdefinierte Logik von Diensten.
Callouts enthalten benutzerdefinierte Logik aus Diensten (zum Vergrößern klicken)

Für Callouts gibt es keine Laufzeitbeschränkungen und vorhandene Software kann bei Bedarf wiederverwendet werden. Mit Callouts profitieren Sie von den Vorteilen vollständig verwalteter Dienste, die sich auch an die individuellen Anforderungen bestimmter Arbeitslasten anpassen lassen. Sie müssen nur die Skalierbarkeit und Verfügbarkeit Ihres Callout-Dienstes bestätigen.

Weitere Informationen zu Callouts finden Sie unter Cloud Load Balancing-Callouts.

Cloud Load Balancing-Erweiterungen

Mit Diensterweiterungen für Cloud Load Balancing können Nutzer die Anfrage- und Antwortverarbeitungspfade für unterstützte Application Load Balancer umfassend anpassen.

Weitere Informationen finden Sie unter Übersicht über Cloud Load Balancing-Erweiterungen.

Plug-ins

Mit Service Extensions können Sie vorab veröffentlichte Plug-ins für Ihre benutzerdefinierten Anforderungen verwenden, indem Sie sie in den Cloud Load Balancing-Verarbeitungspfad einfügen.

Verwenden Sie Plug-ins mit Cloud Load Balancing in den folgenden Beispielszenarien:

Ausnahmebehandlung
Clients für bestimmte Antwortklassen auf eine benutzerdefinierte Fehlerseite weiterleiten
Benutzerdefiniertes Logging
Benutzerdefinierte Header oder benutzerdefinierte Daten in Cloud Logging protokollieren
Header-Hinzufügung
Neue Header erstellen, die für Ihre Anwendungen oder für bestimmte Kunden relevant sind
Neue Header für Anfrage und Antwort einfügen
Header-Manipulation
Vorhandene Anfrage- und Antwortheader umschreiben oder Clientheader auf dem Weg zum Backend oder bei der Antwort an einen Client überschreiben
Sicherheit
Benutzerdefinierte Sicherheitsrichtlinien basierend auf Clientanfrage- oder Antwortheadern schreiben und Entscheidungen zur Durchsetzung innerhalb Ihres Plug-ins treffen
Script-Injection
HTML vom Ursprung für die Google reCAPTCHA-Integration oder das Google Analytics-Tagging neu schreiben.
Cloud CDN beeinflussen
HTTP-Anfrageattribute bearbeiten, um die benutzerdefinierte Caching-Dynamik zu beeinflussen und festzulegen, welche Inhalte aus dem Cloud CDN-Cache bereitgestellt werden
E-Mail-Routing
HTTP-Anfragen umschreiben, um die Auswahl des Backend-Dienstes zu beeinflussen und so erweiterte Routing-Entscheidungen am Edge zu ermöglichen.

Aufrufe nutzerverwalteter Dienste

Mit Service Extensions können unterstützte Application Load Balancer einen Callout vom Datenverarbeitungspfad an nutzerverwaltete Backend-Dienste senden.

Verwenden Sie Callouts mit Cloud Load Balancing für Folgendes:

  • Wenn die Menge an Rechenleistung oder Speicherplatz beliebig ist
  • Wenn Sie den Status beibehalten möchten
  • Wenn Sie externe Dienste wie BigQuery oder Drittanbieteranwendungen verwenden möchten, die an einem beliebigen Ort gehostet werden

Hinweis-Callouts sind sehr flexibel und unterstützen eine Vielzahl von Anpassungen. Hier einige Beispiele für Anwendungsfälle im Alltag:

Benutzerdefiniertes Routing und benutzerdefinierte Trafficverwaltung
HTTP- oder URL-Weiterleitungen durchführen.
Anfrageattribute wie Header oder URLs basierend auf anwendungsspezifischer Logik ändern, damit in der URL-Zuordnung ein anderer Back-End-Dienst ausgewählt wird als ursprünglich für die Anfrage vorgesehen.
Header hinzufügen, entfernen oder ändern oder URLs basierend auf komplexer anwendungsspezifischer Logik neu schreiben, bevor der Traffic an den Back-End-Dienst weitergeleitet wird.
Benutzerdefinierte Sitzungsaffinität oder Stickiness basierend auf den spezifischen Attributen einer Anfrage implementieren.
Implementieren Sie in Preview> dynamische Weiterleitung>, die Mandanten programmatisch Endpunkten zuordnet.
Sicherheit und Protokollierung
Benutzerdefinierte Informationen aus Nutzlasten oder benutzerdefinierten Headern in Logging oder einer benutzerdefinierten Logging-Lösung protokollieren.
 Sicherheitstools oder ‑dienste verwenden, einschließlich Unterstützung für benutzerdefinierte Nutzerauthentifizierung und ‑autorisierung.
Beliebige Header und Abfrageparameter wie Geräte-IDs validieren.
Anfragen und Antworten in Drittanbieterlösungen protokollieren
Benutzerdefinierte Nutzerauthentifizierung und ‑autorisierung implementieren
Partner integration
Sicherheitsprodukte wie API Gateway-Sicherheit, BOT-Verwaltung oder Web Application Firewall (WAF) einbinden
Autorisierung
Den Autorisierungsentscheidungsprozess optimieren oder die Autorisierungsentscheidungen der von Google bereitgestellten integrierten Autorisierungs-Engines weiter einschränken.
Mix-Autorisierungsentscheidungen aus mehreren Autorisierungssystemen.
Nahtlose Integration von Google-Autorisierungsmodulen in umfassendere Autorisierungssysteme und ‑infrastrukturen, einschließlich externer Richtlinienmodule.

Weitere Informationen finden Sie unter Übersicht: Cloud Load Balancing- und Cloud CDN-Erweiterungen.

Aufrufe von Google-Diensten

Mit Service Extensions können unterstützte Application Load Balancer einen Callout vom Datenverarbeitungspfad an ausgewählte Google-Dienste senden.

Sie können eine Erweiterung konfigurieren, um Model Armor aufzurufen und Sicherheitsrichtlinien für Inferenz-Traffic auf Application Load Balancern, einschließlich GKE Inference Gateway, einheitlich zu erzwingen.

Weitere Informationen finden Sie unter Integration in Google-Dienste.

GKE-Erweiterungen

Das Google Kubernetes Engine (GKE) Gateway unterstützt die Verwendung von Erweiterungen, um benutzerdefinierten Code in den Load-Balancing-Verarbeitungspfad einzufügen. Mit diesen Erweiterungen können Sie das Routing anpassen, Anfrage- oder Antwortnutzlasten ändern und in externe Dienste einbinden.

Weitere Informationen finden Sie unter Traffic-Routing von GKE Gateway mit Diensterweiterungen anpassen.

Media CDN-Erweiterungen

Media CDN bietet viele integrierte Kernfunktionen für die häufigsten Anwendungsfälle für Content Delivery Networks (CDNs). Mit Service Extensions können Sie mehrere Anforderungen erfüllen, die über diese Funktionen hinausgehen.

Weitere Informationen finden Sie unter Media CDN-Erweiterungen – Übersicht.

Plug‑ins für Media CDN

Mit Service Extensions können Sie vorab veröffentlichte Plug-ins für Ihre benutzerdefinierten Anforderungen verwenden, indem Sie sie in den Media CDN-Verarbeitungspfad einfügen.

Im Folgenden sind einige wichtige Anwendungsfälle aufgeführt, in denen Sie Plug‑ins mit Media CDN verwenden können:

Anpassung
Anfrage-URLs umschreiben
Header-Werte normalisieren, um die Cacheleistung zu verbessern
Sicherheit und Protokollierung
Nutzer mit gestohlenen Tokens während Live-Events blockieren
Benutzerdefinierte Nutzerauthentifizierung und ‑autorisierung unterstützen.
Benutzerdefinierte URL-Signierung übersetzen und implementieren.
Cache-Schlüssel, anwendungsspezifische Header oder Gerätetypen anpassen
Benutzerdefinierte Variablen in Cloud Logging protokollieren
Ausrichtung und Monetarisierung
Conversions durch A/B-Tests verbessern
Benutzerdefiniertes Anzeigen-Targeting implementieren
Testnutzungsmodelle ohne Aufpreis anbieten
Partner integration
Wasserzeichen in Videos einfügen
Videos und Bilder optimieren