Diensterweiterungen – Übersicht

Mit Service Extensions 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. Auf dieser Seite finden Sie 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 Aufrufe.

Plug-ins

Mit Plug-ins können Sie benutzerdefinierten Code direkt in den Netzwerkdatenpfad 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. Plug-ins werden auf von Google verwalteten Compute-Ressourcen ausgeführt. Sie haben eingeschränkte Funktionen und unterliegen strengen 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 Logik direkt im Code (zum Vergrößern klicken).

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

Aufrufe

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

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

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

Für Aufrufe gelten keine Laufzeitbeschränkungen und vorhandene Software kann bei Bedarf wiederverwendet werden. Mit Aufrufen können Sie die Vorteile vollständig verwalteter Dienste nutzen, die auch an die individuellen Anforderungen bestimmter Arbeitslasten angepasst werden können. Sie müssen nur die Skalierbarkeit und Verfügbarkeit Ihres Aufrufdienstes bestätigen.

Weitere Informationen zu Aufrufen finden Sie unter Übersicht über Cloud Load Balancing-Aufrufe.

Cloud Load Balancing-Erweiterungen

Mit Service Extensions 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 dem Verarbeitungspfad von Cloud Load Balancing hinzufü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 Anfragen und Antworten 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 Anfrage- oder Antwortheadern von Clients schreiben und Entscheidungen zur Durchsetzung innerhalb Ihres Plug-ins treffen
Skript-Injection
HTML vom Ursprung für die Google reCAPTCHA-Integration oder das Google Analytics-Tagging umschreiben
Cloud CDN beeinflussen
HTTP-Anfrageeigenschaften bearbeiten, um die benutzerdefinierte Caching-Dynamik zu beeinflussen und zu bestimmen, welche Inhalte aus dem Cloud CDN-Cache bereitgestellt werden
E-Mail-Routing
HTTP-Anfragen umschreiben, um die Auswahl des Backend-Dienstes zu beeinflussen und erweiterte Routingentscheidungen am Edge zu ermöglichen

Aufrufe an nutzerverwaltete Dienste

Mit Service Extensions können unterstützte Application Load Balancer einen Aufruf vom Datenverarbeitungspfad an Backend-Dienste senden, die vom Nutzer verwaltet werden.

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

  • Wenn die Menge an Compute- oder Speicherressourcen beliebig ist
  • Wenn Sie den Status beibehalten möchten
  • Wenn Sie externe Dienste wie BigQuery oder Anwendungen von Drittanbietern verwenden möchten, die überall gehostet werden können

Aufrufe sind sehr flexibel und unterstützen eine Vielzahl von Anpassungen. Einige Beispiele für alltägliche Anwendungsfälle:

Benutzerdefiniertes Routing und Trafficmanagement
HTTP- oder URL-Weiterleitungen ausführen
Anfrageattribute wie Header oder URLs basierend auf anwendungsspezifischer Logik ändern, um die URL-Zuordnung zu zwingen, einen anderen Backend-Dienst auszuwählen als den, der ursprünglich von der Anfrage angezielt wurde
Header hinzufügen, entfernen oder ändern oder URLs basierend auf komplexer anwendungsspezifischer Logik umschreiben, bevor der Traffic an den Backend-Dienst weitergeleitet wird
Benutzerdefinierte Sitzungsaffinität oder -persistenz basierend auf den spezifischen Attributen einer Anfrage implementieren
In der Vorschau, dynamische Weiterleitung implementieren, die Mandanten programmatisch Endpunkten zuordnet.
Sicherheit und Logging
Benutzerdefinierte Informationen aus Nutzlasten oder benutzerdefinierten Headern in Logging oder einer benutzerdefinierten Logginglösung protokollieren
Sicherheitstools oder -dienste verwenden, einschließlich benutzerdefinierter Unterstützung für Nutzerauthentifizierung und -autorisierung
Beliebige Header und Abfrageparameter wie Geräte-IDs validieren
Anfragen und Antworten in Logginglösungen von Drittanbietern protokollieren
Benutzerdefinierte Nutzerauthentifizierung und -autorisierung implementieren
Partner integration
Sicherheitsprodukte wie API Gateway-Sicherheit, Bot-Verwaltung oder Web Application Firewall (WAF) einbinden
Autorisierung
Den Autorisierungsentscheidungsprozess verbessern oder die Autorisierungsentscheidungen von von Google bereitgestellten integrierten Autorisierungs-Engines weiter einschränken
Autorisierungsentscheidungen aus mehreren Autorisierungssystemen kombinieren
Google-Autorisierungs-Engines nahtlos in umfassendere Autorisierungs-Ökosysteme und -Infrastrukturen einbinden, einschließlich externer Richtlinien-Engines

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

Aufrufe an Google-Dienste

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

Sie können eine Erweiterung so konfigurieren, dass Model Armor aufgerufen wird, um Sicherheitsrichtlinien für den Inferenz-Traffic auf Application Load Balancern, einschließlich GKE Inference Gateway, einheitlich durchzusetzen.

Weitere Informationen finden Sie unter Integration mit Google-Diensten.

GKE-Erweiterungen

Das Google Kubernetes Engine (GKE)-Gateway unterstützt die Verwendung von Erweiterungen, um benutzerdefinierten Code in den Verarbeitungspfad für das Load Balancing 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 für GKE Gateway mit Service Extensions anpassen.

Media CDN-Erweiterungen

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

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

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 dem Verarbeitungspfad von Media CDN hinzufügen.

Einige wichtige Anwendungsfälle, in denen Sie Plug-ins mit Media CDN verwenden können:

Anpassung
Anfrage-URLs umschreiben.
Headerwerte normalisieren, um die Cacheleistung zu verbessern.
Sicherheit und Logging
Bei Live-Events Nutzer mit gestohlenen Tokens 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.
Benutzerdefinierte Anzeigen-Targeting implementieren.
Testnutzungsmodelle ohne Aufpreis anbieten.
Partner integration
Video-Wasserzeichen implementieren.
Videos und Bilder optimieren.