Traffic-Erweiterung konfigurieren

Mit Service Extensions können unterstützte Application Load Balancer Plug‑ins verwenden oder Callouts an Backend-Dienste senden, um benutzerdefinierte Verarbeitungsschritte in den Verarbeitungspfad einzufügen. Traffic-Erweiterungen werden im Anfrageverarbeitungspfad zuletzt und im Antwortverarbeitungspfad zuerst ausgeführt, um Header und Nutzlasten zu ändern, ohne die Auswahl des Backend-Dienstes zu beeinflussen. Auf dieser Seite wird beschrieben, wie Sie Traffic-Erweiterungen konfigurieren.

Eine Übersicht über Application Load Balancer-Erweiterungen finden Sie unter Übersicht über Cloud Load Balancing-Erweiterungen.

Eine Traffic-Erweiterung für einen Application Load Balancer verweist auf die folgenden Ressourcen:

  • Eine Weiterleitungsregel, die angehängt werden soll
  • Ein Plug‑in oder ein Callout-Backend-Dienst, dessen Backends die ext_proc gRPC API ausführen

Eine Traffic-Erweiterung gruppiert zugehörige Erweiterungsdienste in einer oder mehreren Ketten. Sie können sowohl Plug‑ins als auch Callouts in derselben Erweiterungskette konfigurieren. Jede Erweiterungskette wählt den Traffic aus, auf den reagiert werden soll, indem sie Abgleichsbedingungen in der Common Expression Language (CEL) verwendet. Der Load Balancer gleicht eine Anfrage sequenziell mit der Abgleichsbedingung jeder Kette ab. Wenn eine Anfrage die von einer Kette definierten Bedingungen erfüllt, werden alle Erweiterungen in der Kette auf die Anfrage angewendet. Nur eine Kette entspricht einer bestimmten Anfrage.

Jede Erweiterung in einer Kette kann eigene unterstützte Ereignisse haben. Die Änderungen, die von einer Erweiterung an Anfrage- und Antwortinhalten vorgenommen werden, sind für die übrigen Erweiterungen in der Kette sichtbar. Bei Erweiterungen, die für die Unterstützung von Antwortereignissen konfiguriert sind, wird die Reihenfolge der Erweiterungen im Antwortpfad umgekehrt.

Die Traffic-Erweiterung verweist auf die Weiterleitungsregel des Load Balancers , die angehängt werden soll. Nachdem Sie die Ressource konfiguriert haben, sendet der Load Balancer übereinstimmende Anfragen an Erweiterungsdienste.

Informationen zu den mit Erweiterungen verbundenen Limits finden Sie auf der Seite Kontingente und Limits.

Mit Plug‑ins konfigurieren

In diesem Abschnitt wird beschrieben, wie Sie eine Traffic-Erweiterung mit einem Plug‑in konfigurieren.

Alle Erweiterungsressourcen, die auf ein bestimmtes Plug‑in verweisen, müssen denselben Typ haben. Die Erweiterungen müssen auch dasselbe Load-Balancing-Schema haben. Sie können Cloud Load Balancing-Erweiterungen nicht mit Plug‑ins konfigurieren, die bereits in Media CDN-Erweiterungen verwendet werden.

Hinweis

  1. Erstellen Sie ein Plug‑in, das Ihren benutzerdefinierten Code enthält.

  2. Erstellen und konfigurieren Sie einen Application Load Balancer, der Plug‑ins für Traffic-Erweiterungen unterstützt.

    Richten Sie beispielsweise einen globalen externen Application Load Balancer mit VM-Instanzgruppen-Backends ein.

  3. Richten Sie eine Möglichkeit ein, Testanfragen an Ihren Dienst zu senden, z. B. durch Ausführen von `curl`. Wenn Sie einen internen Load Balancer verwenden, erstellen Sie eine Client-VM zum Testen.

Traffic-Erweiterung mit einem Plug‑in konfigurieren

Im folgenden Beispiel wird gezeigt, wie Sie eine Traffic-Erweiterung mit einem Plug‑in konfigurieren, das einen Antwortheader (hello: service-extensions) hinzufügt, wenn der Host mit example.com übereinstimmt.

  1. Prüfen Sie, ob in der URL-Zuordnung eine Übereinstimmung für example.com vorhanden ist.

    1. Führen Sie den folgenden curl-Befehl für die Weiterleitungsregel in der Client-VM aus:

      curl -D - -H "host: example.com" FORWARDING_RULE_IP
      

      Ersetzen Sie FORWARDING_RULE_IP durch die IP-Adresse der Weiterleitungsregel. Verwenden Sie den gcloud compute forwarding-rules describe Befehl, um die IP-Adresse zu ermitteln.

      Die Ausgabe sieht etwa so aus:

      HTTP/1.1 200 OK
      ...
      content-length: 46
      content-type: text/html
      via: 1.1 google
      
  2. Konfigurieren Sie die Traffic-Erweiterung.

    Console

    1. Rufen Sie in der Google Cloud Console die Seite Diensterweiterungen auf.

      Zu Service Extensions

    2. Klicken Sie auf Erweiterung erstellen.

      Ein Assistent führt Sie durch einige erste Schritte.

    3. Wählen Sie als Produkt Load Balancing aus. Klicken Sie dann auf Weiter.

      Eine Liste der unterstützten Application Load Balancer wird angezeigt.

    4. Wählen Sie als Load-Balancer-Typ entweder „Globaler externer Application Load Balancer“ oder „Regionsübergreifender interner Application Load Balancer“ aus. Klicken Sie dann auf Weiter.

    5. Wählen Sie als Erweiterungstyp Traffic-Erweiterungen aus und klicken Sie dann auf Weiter.

    6. Klicken Sie auf Weiter, um das Formular Erweiterung erstellen zu öffnen.

      Im Formular Erweiterung erstellen sind die vorherigen Auswahlen, die oben auf der Seite angezeigt werden, nicht bearbeitbar.

    7. Führen Sie im Abschnitt Grundlagen folgende Schritte aus:

      1. Geben Sie einen eindeutigen Namen für die Erweiterung an.

        Der Name muss mit einem Kleinbuchstaben beginnen, gefolgt von bis zu 62 Kleinbuchstaben, Ziffern oder Bindestrichen. Das letzte Zeichen darf kein Bindestrich sein.

      2. Optional: Geben Sie eine kurze Beschreibung der Erweiterung mit bis zu 1.024 Zeichen ein.

    8. Optional: Klicken Sie im Abschnitt Labels auf Label hinzufügen. Führen Sie dann in der angezeigten Zeile folgende Schritte aus:

      • Geben Sie für Schlüssel einen Schlüsselnamen ein.
      • Geben Sie für Wert einen Wert für den Schlüssel ein.

      Klicken Sie auf Label hinzufügen, um weitere Schlüssel/Wert-Paare hinzuzufügen. Sie können maximal 64 Schlüssel/Wert-Paare hinzufügen.

      Weitere Informationen zu Labels finden Sie unter Labels für Projekte erstellen und aktualisieren.

    9. Wählen Sie unter Weiterleitungsregeln eine oder mehrere Weiterleitungsregeln aus, die mit der Erweiterung verknüpft werden sollen, z. B. http-content-rule.

      Weiterleitungsregeln, die bereits mit einer anderen Erweiterung verknüpft sind, können nicht ausgewählt werden und werden als nicht verfügbar angezeigt.

    10. Führen Sie unter Erweiterung die folgenden Schritte aus, um eine Erweiterung hinzuzufügen, die für eine übereinstimmende Anfrage ausgeführt werden soll:

      • Geben Sie für Abgleichsbedingung einen Common Expression Language (CEL)-Ausdruck an, um Anfragen abzugleichen, für die die Erweiterungskette ausgeführt wird, z. B. request.host == "example.com".

        Weitere Informationen zu CEL-Ausdrücken finden Sie unter Syntaxhilfe oder in der Referenz zur CEL-Abgleichssprache.

      • Wählen Sie für Programmierbarkeitstyp die Option Plug‑ins aus.

      • Wählen Sie unter Plug‑in ein Plug‑in aus, das mit Service Extensions für dasselbe Produkt und denselben Erweiterungstyp erstellt wurde.

      • Wählen Sie unter Ereignisse einen oder mehrere HTTP-Ereignistypen aus, die die Erweiterung aufrufen.

      • Wählen Sie unter Attribute weiterleiten die Attribute für Anfrage, Verbindung und Standort aus, die der Load Balancer an Ihr Wasm-Plug‑in weiterleiten soll. Sie können maximal 16 Attribute für jede Erweiterung konfigurieren. Weitere Informationen finden Sie unter Unterstützte Attribute.

      • Klicken Sie unter Header weiterleiten auf Header hinzufügen und fügen Sie dann HTTP-Header hinzu, die an die Erweiterung weitergeleitet werden sollen (vom Client oder vom Backend). Wenn kein Header angegeben ist, werden alle Header gesendet.

      • Optional: Wenn für die Erweiterung ein Zeitlimit überschritten wird oder ein Fehler auftritt und Sie die Anfrage- oder Antwortverarbeitung fortsetzen möchten, wählen Sie unter Fail open die Option Aktiviert aus. Nachfolgende Erweiterungen in der Kette werden ebenfalls ausgeführt.

        Standardmäßig ist die Option Fail open nicht ausgewählt. In diesem Fall wird die Anfrage- oder Antwortverarbeitung beendet, wenn ein Fehler auftritt. Wenn Antwortheader nicht an den nachgeschalteten Client gesendet wurden, wird ein generischer HTTP-Statuscode 500 an den Client zurückgegeben. Wenn Antwortheader gesendet wurden, wird der HTTP-Stream zum Client zurückgesetzt.

        Die Standardoption, Fail open nicht auszuwählen, wird bevorzugt, wenn Sicherheit oder Integrität Priorität haben. Wenn Sie Fail open aktivieren, insbesondere für nicht kritische Vorgänge, wird die Verfügbarkeit priorisiert.

      Wenn Sie mehr als eine Erweiterung oder Erweiterungskette anstelle einer einzelnen Erweiterung angeben möchten, klicken Sie am Ende des Formulars auf die Schaltfläche Zum erweiterten Modus wechseln und geben Sie die erforderlichen Erweiterungen und Ketten an. Die Erweiterungen werden in der Reihenfolge ausgeführt, in der sie aufgeführt sind.

      Geben Sie für jede Erweiterung und Erweiterungskette eindeutige Namen an. Die Namen müssen RFC 1034 entsprechen, dürfen nur Kleinbuchstaben, Ziffern und Bindestriche enthalten und dürfen maximal 63 Zeichen lang sein. Außerdem muss das erste Zeichen ein Buchstabe und das letzte Zeichen ein Buchstabe oder eine Ziffer sein.

    11. Klicken Sie auf Erweiterung erstellen.

    gcloud

    1. Definieren Sie das Plug‑in in einer YAML-Datei und verknüpfen Sie es mit einer Weiterleitungsregel, z. B. http-content-rule.

      cat >traffic-plugin.yaml <<EOF
          name: traffic-ext
          forwardingRules:
          - https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/forwardingRules/http-content-rule
          loadBalancingScheme: EXTERNAL_MANAGED
          extensionChains:
          - name: "chain1"
            matchCondition:
              celExpression: 'request.host == "example.com"'
            extensions:
            - name: 'ext1'
              service: projects/PROJECT_ID/locations/LOCATION/wasmPlugins/WASM_PLUGIN
              failOpen: false
              supportedEvents:
              - RESPONSE_HEADERS
              forwardAttributes:
              - request.host
              - request.path
      EOF
      

      Ersetzen Sie Folgendes:

      • PROJECT_ID: die Projekt-ID.
      • REGION: die Region der Weiterleitungsregel. Der Wert muss mit dem Wert übereinstimmen, der für den Standort des Plug‑ins angegeben wurde.
      • LOCATION: der Standort des Plug‑ins als global oder eine Region.
      • WASM_PLUGIN: die ID oder der vollqualifizierte Name des Plug‑ins.

      Weitere Informationen zu den Feldern in der YAML-Datei finden Sie in der API-Dokumentation unter ExtensionChain.

      Mit dem Feld forwardAttributes können Sie die Attribute für Anfrage, Verbindung und Standort angeben, die Sie an Ihr Wasm-Plug‑in weiterleiten können. Sie können maximal 16 Attribute für jede Erweiterung konfigurieren. Weitere Informationen zu unterstützten Attributen finden Sie unter Unterstützte Attribute.

    2. Importieren Sie die Traffic-Erweiterung. Verwenden Sie den gcloud service-extensions lb-traffic-extensions import Befehl mit den folgenden Beispielwerten.

      gcloud service-extensions lb-traffic-extensions import traffic-ext \
          --source=traffic-plugin.yaml \
          --location=global
      

    Nachdem eine Traffic-Erweiterung erstellt wurde, dauert es einige Zeit, bis das neue Plug‑in an allen Standorten verteilt ist. Die Zeit kann je nach Standort variieren, da das Plug‑in nicht gleichzeitig an alle Standorte gesendet wird.

  3. Verwenden Sie denselben curl-Befehl, um zu prüfen, ob die Traffic-Erweiterung wie erwartet funktioniert:

    curl -D - -H "host: example.com" FORWARDING_RULE_IP
    

    Die Ausgabe enthält den Antwortheader hello: service-extensions.

    HTTP/1.1 200 OK
    ...
    content-length: 46
    content-type: text/
    hello: service-extensions
    via: 1.1 google
    

    Wiederholen Sie den curl-Befehl ohne den host-Header, um zu prüfen, ob die Erweiterung nur auf example.com-Traffic ausgerichtet ist.

    curl -D - FORWARDING_RULE_IP
    

    Die Ausgabe sieht etwa so aus:

    HTTP/1.1 200 OK
    ...
    content-length: 46
    content-type: text/html
    via: 1.1 google
    

Traffic-Erweiterungen für von Nutzern verwaltete Dienste mit Callouts konfigurieren

In diesem Abschnitt wird beschrieben, wie Sie eine Traffic-Erweiterung für einen von Nutzern verwalteten Callout-Backend-Dienst mit einem Callout konfigurieren.

Hinweis

Erstellen Sie die erforderlichen Ressourcen, wie unter Callout-Backend-Dienst konfigurieren beschrieben.

Traffic-Erweiterung mit einem Callout konfigurieren

Im folgenden Beispiel wird gezeigt, wie Sie eine Traffic-Erweiterung mit einem Callout konfigurieren, das aufgerufen wird, wenn der Host mit example.com übereinstimmt. Der Traffic-Erweiterungsserver in der callout-vm fügt übereinstimmenden Anfragen einen Antwortheader (hello: service-extensions) hinzu.

  1. Prüfen Sie, ob in der URL-Zuordnung eine Übereinstimmung für example.com vorhanden ist.

    1. Führen Sie den folgenden curl-Befehl für die Weiterleitungsregel in der Client-VM aus:

      curl -D - -H "host: example.com" FORWARDING_RULE_IP
      

      Ersetzen Sie FORWARDING_RULE_IP durch die IP-Adresse der Weiterleitungsregel. Verwenden Sie den gcloud compute forwarding-rules describe Befehl, um die IP-Adresse zu ermitteln.

      Die Ausgabe sieht etwa so aus:

      HTTP/1.1 200 OK
      ...
      content-length: 46
      content-type: text/html
      via: 1.1 google
      
      Page served from: l7-ilb-backend-example-1c7t
      
  2. Konfigurieren Sie die Traffic-Erweiterung.

    Console

    1. Rufen Sie in der Google Cloud Console die Seite Diensterweiterungen auf.

      Zu Service Extensions

    2. Klicken Sie auf Erweiterung erstellen.

      Ein Assistent führt Sie durch einige erste Schritte.

    3. Wählen Sie als Produkt Load Balancing aus. Klicken Sie dann auf Weiter.

      Eine Liste der unterstützten Application Load Balancer wird angezeigt.

    4. Wählen Sie einen Load-Balancer-Typ aus. Geben Sie für regionale Load Balancer auch die Region an. Klicken Sie auf Weiter.

    5. Wählen Sie als Erweiterungstyp Traffic-Erweiterungen aus und klicken Sie dann auf Weiter.

    6. Klicken Sie auf Weiter, um das Formular Erweiterung erstellen zu öffnen.

      Im Formular Erweiterung erstellen sind die vorherigen Auswahlen, die oben auf der Seite angezeigt werden, nicht bearbeitbar.

    7. Führen Sie im Abschnitt Grundlagen folgende Schritte aus:

      1. Geben Sie einen eindeutigen Namen für die Erweiterung an.

        Der Name muss mit einem Kleinbuchstaben beginnen, gefolgt von bis zu 62 Kleinbuchstaben, Ziffern oder Bindestrichen. Das letzte Zeichen darf kein Bindestrich sein.

      2. Optional: Geben Sie eine kurze Beschreibung der Erweiterung mit bis zu 1.024 Zeichen ein.

    8. Optional: Klicken Sie im Abschnitt Labels auf Label hinzufügen. Führen Sie dann in der angezeigten Zeile folgende Schritte aus:

      • Geben Sie für Schlüssel einen Schlüsselnamen ein.
      • Geben Sie für Wert einen Wert für den Schlüssel ein.

      Klicken Sie auf Label hinzufügen, um weitere Schlüssel/Wert-Paare hinzuzufügen. Sie können maximal 64 Schlüssel/Wert-Paare hinzufügen.

      Weitere Informationen zu Labels finden Sie unter Labels für Projekte erstellen und aktualisieren.

    9. Wählen Sie unter Weiterleitungsregeln eine oder mehrere Weiterleitungs regeln aus, die mit der Erweiterung verknüpft werden sollen, z. B. l7-ilb-forwarding-rule.

      Weiterleitungsregeln, die bereits mit einer anderen Erweiterung verknüpft sind, können nicht ausgewählt werden und werden als nicht verfügbar angezeigt.

    10. Führen Sie unter Erweiterung die folgenden Schritte aus, um eine Erweiterung hinzuzufügen, die für eine übereinstimmende Anfrage ausgeführt werden soll:

      • Wählen Sie für Programmierbarkeitstyp die Option Callouts aus.

      • Geben Sie für Abgleichsbedingung einen Common Expression Language (CEL)-Ausdruck an, um Anfragen abzugleichen, für die die Erweiterungskette ausgeführt wird, z. B. request.host == "example.com".

        Weitere Informationen zu CEL-Ausdrücken finden Sie unter Syntaxhilfe oder in der Referenz zur CEL-Abgleichssprache.

      • Geben Sie für Autorität den authority Header aus der gRPC-Anfrage ein, die vom Load Balancer an den Erweiterungs dienst gesendet wird.

      • Wählen Sie unter Backend-Dienst einen Backend-Dienst aus, der gemäß der Anleitung unter Callout-Backend-Dienst konfigurieren erstellt wurde.

      • Geben Sie für Zeitlimit einen Wert zwischen 10 und 1.000 Millisekunden an, nach dem für eine Nachricht im Stream ein Zeitlimit überschritten wird.

      • Wählen Sie unter Ereignisse einen oder mehrere HTTP-Ereignistypen aus, die die Erweiterung aufrufen.

      • Wählen Sie unter Attribute weiterleiten die Attribute für Anfrage, Verbindung und Standort aus, die der Load Balancer an Ihren Callout-Dienst weiterleiten soll. Sie können maximal 16 Attribute für jede Erweiterung konfigurieren. Weitere Informationen finden Sie unter Unterstützte Attribute.

      • Klicken Sie unter Header weiterleiten auf Header hinzufügen und fügen Sie dann HTTP-Header hinzu, die an die Erweiterung weitergeleitet werden sollen (vom Client oder vom Backend). Wenn kein Header angegeben ist, werden alle Header gesendet.

      • Optional: Wenn für die Erweiterung ein Zeitlimit überschritten wird oder ein Fehler auftritt und Sie die Anfrage- oder Antwortverarbeitung fortsetzen möchten, wählen Sie unter Fail open die Option Aktiviert aus. Nachfolgende Erweiterungen in der Kette werden ebenfalls ausgeführt.

        Standardmäßig ist die Option Fail open nicht ausgewählt. In diesem Fall wird die Anfrage- oder Antwortverarbeitung beendet, wenn ein Fehler auftritt. Wenn Antwortheader nicht an den nachgeschalteten Client gesendet wurden, wird ein generischer HTTP-Statuscode 500 an den Client zurückgegeben. Wenn Antwortheader gesendet wurden, wird der HTTP-Stream zum Client zurückgesetzt.

        Die Standardoption, Fail open nicht auszuwählen, wird bevorzugt, wenn Sicherheit oder Integrität Priorität haben. Wenn Sie Fail open aktivieren, insbesondere für nicht kritische Vorgänge, wird die Verfügbarkeit priorisiert.

      • Klicken Sie unter Metadaten auf Metadaten hinzufügen und geben Sie die vorgeschlagenen Beispiel werte an. Geben Sie für Schlüssel key und für Wert value an.

        Klicken Sie auf Metadaten hinzufügen , um ein weiteres Schlüssel/Wert-Paar hinzuzufügen. Geben Sie für Schlüssel fr und für Wert forwarding_rule_id an.

        Mit dem Feld Metadaten können Sie zusätzliche Informationen vom Load Balancer an den Erweiterungsserver weitergeben. Die Metadaten werden in einer ProcessingRequest-Nachricht gesendet und als protobuf.Struct codiert. Jeder Text in den Metadaten, der mit der angegebenen Weiterleitungsregel-ID übereinstimmt, wird durch die vollqualifizierte Ressourcen-URL der Weiterleitungsregel ersetzt, die mit der Clientanfrage verknüpft ist.

        Die Gesamtgröße der Metadaten muss kleiner als 1 KiB sein. Die Gesamtzahl der Schlüssel in den Metadaten muss kleiner als 20 sein. Die Länge jedes Schlüssels muss kleiner als 64 Zeichen sein. Die Länge jedes Werts muss kleiner als 1.024 Zeichen sein. Alle Werte müssen Strings sein.

      Wenn Sie mehr als eine Erweiterung oder Erweiterungskette anstelle einer einzelnen Erweiterung angeben möchten, klicken Sie am Ende des Formulars auf die Schaltfläche Zum erweiterten Modus wechseln und geben Sie die erforderlichen Erweiterungen und Ketten an. Die Erweiterungen werden in der Reihenfolge ausgeführt, in der sie aufgeführt sind.

      Geben Sie für jede Erweiterung und Erweiterungskette eindeutige Namen an. Die Namen müssen RFC 1034 entsprechen, dürfen nur Kleinbuchstaben, Ziffern und Bindestriche enthalten und dürfen maximal 63 Zeichen lang sein. Außerdem muss das erste Zeichen ein Buchstabe und das letzte Zeichen ein Buchstabe oder eine Ziffer sein.

    11. Klicken Sie auf Erweiterung erstellen.

    gcloud

    1. Definieren Sie das Callout in einer YAML-Datei und verknüpfen Sie es mit der Weiterleitungsregel. Verwenden Sie die angegebenen Beispielwerte.

      cat >traffic.yaml <<EOF
          name: traffic-ext
          forwardingRules:
          - https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/forwardingRules/l7-ilb-forwarding-rule
          loadBalancingScheme: INTERNAL_MANAGED
          extensionChains:
          - name: "chain1"
            matchCondition:
              celExpression: 'request.host == "example.com"'
            extensions:
            - name: 'ext11'
              authority: ext11.com
              service: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/backendServices/l7-ilb-callout-service
              failOpen: false
              timeout: 0.1s
              metadata:
                "key": "value"
                "fr": "forwarding_rule_id"
              supportedEvents:
              - RESPONSE_HEADERS
              forwardAttributes:
              - request.host
              - request.path
      EOF
      

      Ersetzen Sie PROJECT_ID durch die Projekt-ID.

      Mit dem Feld metadata in der Erweiterungskonfiguration können Sie zusätzliche Informationen vom Load Balancer an den Erweiterungsserver weitergeben. Die Metadaten werden in einer ProcessingRequest-Nachricht gesendet und als protobuf.Struct codiert. Jeder Text in den Metadaten, der mit der angegebenen Weiterleitungsregel-ID übereinstimmt, wird durch die voll qualifizierte Ressourcen-URL der Weiterleitungsregel ersetzt, die mit der Clientanfrage verknüpft ist.

      Die Gesamtgröße von metadata muss kleiner als 1 KiB sein. Die Gesamtzahl der Schlüssel in den Metadaten muss kleiner als 16 sein. Die Länge jedes Schlüssels muss kleiner als 64 Zeichen sein. Die Länge jedes Werts muss kleiner als 1.024 Zeichen sein. Alle Werte müssen Strings sein.

      Weitere Informationen zu den Feldern in der YAML-Datei finden Sie in der API-Dokumentation unter ExtensionChain.

      Mit dem Feld forwardAttributes können Sie die Attribute für Anfrage, Verbindung und Standort angeben, die an Ihren Callout-Dienst weitergeleitet werden sollen. Sie können maximal 16 Attribute für jede Erweiterung konfigurieren. Weitere Informationen zu unterstützten Attributen finden Sie unter Unterstützte Attribute.

    2. Importieren Sie die Traffic-Erweiterung. Verwenden Sie den gcloud service-extensions lb-traffic-extensions import Befehl mit den folgenden Beispielwerten.

      gcloud service-extensions lb-traffic-extensions import traffic-ext \
          --source=traffic.yaml \
          --location=us-west1
      
  3. Prüfen Sie, ob die Traffic-Erweiterung wie erwartet funktioniert. Verwenden Sie denselben curl-Befehl:

    curl -D - -H "host: example.com" FORWARDING_RULE_IP
    

    Die Ausgabe enthält den Antwortheader hello: service-extensions.

    HTTP/1.1 200 OK
    ...
    content-length: 46
    content-type: text/
    hello: service-extensions
    via: 1.1 google
    
    Page served from: l7-ilb-backend-example-1c7t
    

    Wiederholen Sie den curl-Befehl ohne den host-Header, um zu prüfen, ob die Erweiterung nur auf example.com-Traffic ausgerichtet ist.

    curl -D - FORWARDING_RULE_IP
    

    Die Ausgabe sieht etwa so aus:

    HTTP/1.1 200 OK
    ...
    content-length: 46
    content-type: text/html
    via: 1.1 google
    
    Page served from: l7-ilb-backend-example-1c7t
    

Nächste Schritte