Übersicht über Cloud Load Balancing- und Cloud CDN-Erweiterungen

Mit Service Extensions können Sie Erweiterungen verwenden, um unterstützte Application Load Balancer anzuweisen, Plug-ins zu verwenden oder Callouts vom Load-Balancing-Datenpfad zu senden, um Callout-Backend-Dienste oder Google-Dienste aufzurufen. Auf dieser Seite erhalten Sie einen Überblick über Cloud Load Balancing-Erweiterungen.

Sie können Application Load Balancer so konfigurieren, dass sie die folgenden Arten von Erweiterungen verwenden:

  • Mit Edge-Erweiterungen können Sie Anfrageheader bearbeiten, um die Auswahl des Backend-Dienstes und die Inhalte zu beeinflussen, die Cloud CDN aus dem Cache bereitstellt. Diese Erweiterungen werden so konfiguriert, dass sie früh im Lebenszyklus der Anfrageverarbeitung ausgeführt werden, um Caching- und Routingentscheidungen am Edge zu beeinflussen.

  • Mit Routenerweiterungen können Sie die Auswahl des Backend-Dienstes beeinflussen. Diese Erweiterungen sind so konfiguriert, dass sie früh im Lebenszyklus der Anfrageverarbeitung ausgeführt werden.

  • Mit Autorisierungserweiterungen können Sie Autorisierungsanfragen an Ihre benutzerdefinierte Autorisierungs-Engine senden. Sie konfigurieren diese am Ende des Verarbeitungszyklus, kurz bevor der Load Balancer Anfragen an Back-Ends sendet.

  • Traffic-Erweiterungen unterstützen zusätzliche benutzerdefinierte Sicherheitslogik und Funktionen zur Traffic-Verwaltung. Sie konfigurieren diese nach Autorisierungserweiterungen, aber bevor der Load Balancer Anfragen an Backends sendet oder Antworten von ihnen empfängt.

Unterstützte Application Load Balancer für benutzerverwaltete Erweiterungen

Service Extensions unterstützt nutzerverwaltete Erweiterungen für die folgenden Application Load Balancer:

Application Load Balancer Erweiterungen
Edge Route Autorisierung Traffic
Plug-ins Plug-ins Aufrufe Aufrufe Plug-ins Aufrufe
Globaler externer Application Load Balancer
Regionaler externer Application Load Balancer ✓ Vorschau ✓ Vorschau
Regionaler interner Application Load Balancer ✓ Vorschau ✓ Vorschau
Regionsübergreifender interner Application Load Balancer

Erweiterungspunkte im Load-Balancing-Datenpfad

Service Extensions unterstützt Erweiterungen in verschiedenen Phasen des Load-Balancing-Datenpfads.

Abbildung 1 zeigt, wie Service Extensions Erweiterungen in den Phasen für Anwendungssicherheit und Traffic-Management für globale externe Application Load Balancer unterstützt.

Abbildung 1. Globale externe Application Load Balancer unterstützen Erweiterungen in den Phasen „Edge-Routing“, „Anwendungssicherheit“ und „Traffic-Verwaltung“ (zum Vergrößern klicken).

Abbildung 2 zeigt, wie Service Extensions Erweiterungen in den Phasen für Routing, Anwendungssicherheit und Traffic-Verwaltung für die folgenden Arten von Load Balancern unterstützt: regionaler externer Application Load Balancer, regionaler interner Application Load Balancer und regionenübergreifender interner Application Load Balancer.

Abbildung 2. Regionale externe Application Load Balancer, regionale interne Application Load Balancer und regionenübergreifende interne Application Load Balancer unterstützen Erweiterungen in den Phasen für Routing und Traffic-Verwaltung (zum Vergrößern klicken).

Funktionsweise von Edge-Erweiterungen

Edge-Erweiterungen werden zuerst im Anfrageverarbeitungspfad ausgeführt. Mit Anfrageheadern können Sie die Auswahl des Backend-Dienstes und die Inhalte beeinflussen, die Cloud CDN aus dem Cache bereitstellt.

Nachdem ein Load Balancer eine Edge-Erweiterung aufgerufen hat, führt er die folgenden Schritte aus:

  • Wählt den Backend-Dienst durch Auswerten der URL-Zuordnung aus.
  • Wendet Google Cloud Armor-Richtlinien-Sicherheitsrichtlinien an
  • Führt eine Cache-Suche durch und stellt Inhalte aus dem Cache bereit, wenn ein Cache-Treffer vorliegt.
  • Wendet Cloud Armor-Richtlinien für den ausgewählten Backend-Dienst an
  • CORS-Richtlinien anwenden
  • Wendet die Richtlinie für die zustandsorientierte Sitzungsaffinität an.
  • Wendet Identity-Aware Proxy (IAP)-Richtlinien auf den ausgewählten Back-End-Dienst an
  • Erweiterungen für die Autorisierung von Aufrufen, sofern im Verarbeitungspfad des ausgewählten Backend-Dienstes welche konfiguriert sind
  • Führt Fault Injection durch
  • Ruft Traffic-Erweiterungen auf, sofern vorhanden
  • Führt URL-Umschreibungen durch
  • Führt die Header-Manipulation gemäß der URL-Zuordnung aus und fügt benutzerdefinierte Variablen für Anfrage-Header hinzu.
  • Führt Weiterleitungen oder Routing zum ausgewählten Backend-Dienst aus und wendet dabei Zeitüberschreitungen und Richtlinien für Wiederholungsversuche in der URL-Zuordnung und den Load-Balancing-Einstellungen für den Backend-Dienst an.
  • Führt die Spiegelung von Anfragen aus

Funktionsweise von Autorisierungserweiterungen

Im Anfragepfad werden Autorisierungserweiterungen aufgerufen, nachdem Routenerweiterungen aufgerufen und ein Backend für die Anfrage ausgewählt wurde. Diese Erweiterungen können die Auswahl des Back-End-Dienstes nicht beeinflussen.

Autorisierungserweiterungen können nur Anfrageheader und nicht Anfragetexte oder Teile von Antworten verarbeiten.

So funktionieren Routenerweiterungen

Routerweiterungen werden zuerst im Anfrageverarbeitungspfad ausgeführt, wenn der Load-Balancer Anfrageheader empfängt und bevor er die URL-Zuordnung auswertet.

Nachdem ein Load-Balancer eine Routenerweiterung für eine Anfrage aufgerufen hat, führt er die folgenden Schritte aus:

  • Wählt den Backend-Dienst durch Auswerten der URL-Zuordnung aus.
  • Wendet Cloud Armor-Richtlinien für den ausgewählten Backend-Dienst an
  • Wendet IAP-Richtlinien für den ausgewählten Backend-Dienst an
  • Führt Fault Injection durch
  • Führt Anfrageheadertransformationen durch und löst benutzerdefinierte Anfrageheadervariablen auf.
  • Ruft Traffic-Erweiterungen auf, sofern sie im Verarbeitungspfad des ausgewählten Back-End-Dienstes vorhanden sind.
  • Führt URL-Umschreibungen durch
  • Führt Weiterleitungen oder das Routing zum ausgewählten Backend-Dienst aus und wendet Zeitüberschreitungen und Richtlinien für Wiederholungsversuche in der URL-Zuordnung und andere Load-Balancing-Einstellungen für den Backend-Dienst an.

Funktionsweise von Traffic-Erweiterungen

Load Balancer führen Traffic-Erweiterungen zuletzt im Anfrageverarbeitungspfad und zuerst im Antwortverarbeitungspfad aus.

Mit diesen Erweiterungen können Sie die Header und Nutzlasten von Anfragen und Antworten ändern, ohne die Auswahl des Backend-Dienstes zu beeinträchtigen. Sie können Traffic-Erweiterungen auch für benutzerdefiniertes Logging verwenden, indem Sie die Informationen, das Format und den externen Anbieter angeben, die protokolliert werden sollen.

Bevor ein Load-Balancer eine Traffic-Erweiterung auf dem Anfragepfad für eine Anfrage aufruft, führt er die folgenden Schritte aus:

  • Führt Fault Injection durch
  • Wählt einen Back-End-Dienst für die Anfrage aus
  • Wendet Cloud Armor-Richtlinien für den ausgewählten Backend-Dienst an
  • Wendet IAP-Richtlinien für den ausgewählten Backend-Dienst an
  • Wendet Cloud CDN-Caching-Richtlinien für den ausgewählten Backend-Dienst im Fall von globalen externen Application Load Balancern an.

Nachdem ein Load-Balancer eine Traffic-Erweiterung auf dem Anfragepfad für eine Anfrage aufgerufen hat, führt er die folgenden Schritte aus:

  • Führt URL-Umschreibungen durch
  • Führt die Header-Manipulation gemäß der URL-Zuordnung aus und fügt benutzerdefinierte Variablen für Anfrage-Header hinzu.
  • Führt Weiterleitungen oder Routing zum ausgewählten Backend-Dienst aus und wendet dabei Zeitüberschreitungen und Richtlinien für Wiederholungsversuche in der URL-Zuordnung und den Load-Balancing-Einstellungen für den Backend-Dienst an.
  • Führt die Spiegelung von Anfragen aus

Nachdem ein Load-Balancer eine Traffic-Erweiterung auf dem Antwortpfad für eine Anfrage aufgerufen hat, führt er die folgenden Schritte aus:

  • Führt Transformationen von Antwortheadern durch und löst benutzerdefinierte Variablen für Antwortheader auf.
  • Logging mit Cloud Logging
  • Führt Cloud CDN-Caching bei globalen externen Application Load Balancern durch

Einschränkungen für Erweiterungen

  • Eine Weiterleitungsregel kann nur eine LbEdgeExtension-Ressource, eine LbTrafficExtension-Ressource und eine LbRouteExtension-Ressource haben.
  • Für Callouts muss sich der Callout-Backend-Dienst im selben Projekt wie die Weiterleitungsregel befinden.
  • Projektübergreifende Verweise zwischen Erweiterungen und Weiterleitungsregeln werden nicht unterstützt.

Nächste Schritte