Globale externe Proxy-Network Load Balancer zu Dual-Stack-Backends migrieren

In diesem Dokument wird gezeigt, wie Sie globale externe Proxy-Network Load Balancer-Ressourcen und Backends nur von IPv4 (Single-Stack) zu IPv4 und IPv6 (Dual-Stack) migrieren.

Die Anleitung in diesem Dokument gilt sowohl für globale SSL-Proxy- als auch für globale externe Proxy-Network Load Balancer von TCP-Proxy.

Sie müssen zuerst nur von IPv4 zu IPv4- und IPv6-Backends (Dual-Stack) migrieren. Sie können später die Richtlinie zur IP-Adressauswahl des Backend-Dienstes ändern, um den Traffictyp anzugeben, der vom GFE an die Backends gesendet wird. Weitere Informationen finden Sie unter Richtlinie zur Auswahl der IP-Adresse konfigurieren.

Informationen zum Migrationsvorgang

Für den Migrationsprozess müssen Sie die folgenden Load Balancer-Ressourcen aktualisieren:

  • Subnetz Der IP-Stacktyp des Subnetzes kann so aktualisiert werden, dass nur IPv4 (Einzel-Stack) oder IPv4 und IPv6 (Dual-Stack) unterstützt werden. Sie können kein Downgrade Ihres Subnetzes von Dual-Stack-Adressen auf Single-Stack-Adressen ausführen. Informationen zum Aktualisieren finden Sie unter Subnetz aktualisieren.
  • Backends Der IP-Stacktyp der folgenden Backends kann so aktualisiert werden, dass nur IPv4 (Einzel-Stack) oder IPv4 und IPv6 (Dual-Stack) unterstützt werden:
    • Alle Instanzgruppen-Backends: Ein oder mehrere verwaltete, nicht verwaltete oder eine Kombination aus verwalteten und nicht verwalteten Instanzgruppen-Backends.

      Informationen zum Aktualisieren finden Sie unter VM-Instanz oder Vorlagen aktualisieren.

    • Alle zonalen NEGs: eine oder mehrere zonale NEGs des Typs GCE_VM_IP_PORT

      Informationen zum Aktualisieren finden Sie unter Zonale NEG aktualisieren.

  • Firewallregeln Erstellen Sie eine Firewallregel, um Traffic von IPv6-Systemdiagnoseprüfungen zuzulassen, um Backends zu erreichen. Informationen zum Erstellen finden Sie unter Firewallregel für IPv6-Systemdiagnose erstellen.
  • Backend-Dienst Die Richtlinie zur IP-Adressauswahl des Backend-Dienstes kann aktualisiert werden, um den Traffictyp anzugeben, der vom GFE an Ihre Backends gesendet wird. Informationen zum Aktualisieren finden Sie unter Backend-Dienst aktualisieren.
  • Weiterleitungsregel Weiterleitungsregel für IPv6 erstellen

Es gibt keine Validierung, um zu prüfen, ob Sie alle erforderlichen Ressourcen aktualisiert haben. Nachdem Sie alle Ressourcen aktualisiert haben, sollte der Traffic zu den Backends fließen. Sie können die Logs prüfen und bestätigen, dass die Migration abgeschlossen ist.

Ressourcen identifizieren, die migriert werden sollen

  1. Führen Sie den folgenden Befehl in Cloud Shell aus, um alle Subnetze aufzulisten:

    gcloud compute networks subnets list
    

    Notieren Sie sich den Namen des Subnetzes mit reinem IPv4-Stack, um zu Dual-Stack zu migrieren. Diese wird später als SUBNET bezeichnet. Das VPC-Netzwerk wird später als NETWORK bezeichnet.

  2. Führen Sie den folgenden Befehl in Cloud Shell aus, um alle Backend-Dienste aufzulisten:

    gcloud beta compute backend-services list
    

    Notieren Sie sich den Namen des Backend-Dienstes, der zu Dual-Stack migriert werden soll. Diese wird später als BACKEND_SERVICE bezeichnet.

  3. Führen Sie den folgenden Befehl in Cloud Shell aus, um alle VM-Instanzen und Instanzvorlagen aufzulisten:

    gcloud compute instances list
    
    gcloud compute instance-templates list
    

    Notieren Sie sich den Namen der Instanzen und Instanzvorlagen, die zu Dual-Stack migriert werden sollen. Dieser wird später als VM_INSTANCE und INSTANCE_TEMPLATES bezeichnet.

  4. Führen Sie den folgenden Befehl in Cloud Shell aus, um alle zonalen Netzwerk-Endpunktgruppen (NEGs) aufzulisten:

    gcloud compute network-endpoint-groups list
    

    Notieren Sie sich den Namen der Netzwerk-Endpunktgruppen, die zum Dual-Stack migriert werden sollen. Diese wird später als ZONAL_NEG bezeichnet.

  5. Führen Sie den folgenden Befehl in Cloud Shell aus, um alle Ziel-SSL-Proxys aufzulisten:

    gcloud compute target-ssl-proxies list
    

    Notieren Sie sich den Namen des mit Ihrem Load Balancer verknüpften Zielproxys. Diese wird später als TARGET_PROXY bezeichnet.

  6. Führen Sie den folgenden Befehl in Cloud Shell aus, um alle Ziel-TCP-Proxys aufzulisten:

    gcloud compute target-tcp-proxies list
    

    Notieren Sie sich den Namen des mit Ihrem Load Balancer verknüpften Zielproxys. Diese wird später als TARGET_PROXY bezeichnet.

Von IPv4 zu IPv4 und IPv6 migrieren (Dual-Stack)

In diesem Abschnitt wird das Verfahren zum Migrieren Ihres Load Balancers und Ihrer Backends mit reinen IPv4-Adressen zu IPv4- und IPv6-Adressen (Dual-Stack) beschrieben.

Vorbereitung

Bevor Sie beginnen, müssen Sie bereits einen SSL-Proxy oder einen globalen externen Proxy-Network Load Balancer mit IPv4-Stack mit Instanzgruppe oder zonalen NEG-Backends eingerichtet haben.

Weitere Informationen finden Sie in der folgenden Dokumentation:

Mit dem folgenden Befehl können Sie die Stacktypinformationen aller VM-Instanzen in einem Projekt auflisten:

gcloud

gcloud compute instances list \
  --format= \
  "table(
name,
zone.basename(),
networkInterfaces[].stackType.notnull().list(),
networkInterfaces[].ipv6AccessConfigs[0].externalIpv6.notnull().list():label=EXTERNAL_IPV6,
networkInterfaces[].ipv6Address.notnull().list():label=INTERNAL_IPV6)"

Subnetz aktualisieren

Dual-Stack-Subnetze werden nur in VPC-Netzwerken im benutzerdefinierten Modus unterstützt. Dual-Stack-Subnetze werden in VPC-Netzwerken im Legacy-Modus oder Legacy-Netzwerken nicht unterstützt.

So aktualisieren Sie das Netzwerk auf die Dual-Stack-Einstellung:

  1. Wenn Sie ein VPC-Netzwerk im automatischen Modus verwenden, müssen Sie zuerst das VPC-Netzwerk im automatischen Modus in den benutzerdefinierten Modus umwandeln.

  2. Informationen zum Aktivieren von IPv6 finden Sie unter Stack-Typ eines Subnetzes in Dual-Stack ändern.

VM-Instanz oder Vorlagen aktualisieren

VM-Instanzen, die Teil einer verwalteten oder nicht verwalteten Instanzgruppe sind, können nicht bearbeitet werden. So aktualisieren Sie die VM-Instanzen auf Dual-Stack:

  1. Bestimmte Instanzen aus einer Gruppe löschen
  2. Erstellen Sie eine Dual-Stack VM.
  3. Instanzen mit bestimmten Namen in MIGs erstellen

Sie können eine vorhandene Instanzvorlage nicht aktualisieren. Wenn Sie Änderungen vornehmen müssen, können Sie eine weitere Vorlage mit ähnlichen Attributen erstellen. So aktualisieren Sie die VM-Instanzvorlagen auf Dual-Stack:

Console

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

    Zu Instanzvorlagen

    1. Klicken Sie auf die Instanzvorlage, die Sie kopieren und aktualisieren möchten.
    2. Klicken Sie auf Ähnliche erstellen.
    3. Maximieren Sie den Bereich Erweiterte Optionen.
    4. Geben Sie bei Netzwerk-Tags den Wert allow-health-check-ipv6 ein.
    5. Klicken Sie im Bereich Netzwerkschnittstellen auf Netzwerkschnittstelle hinzufügen.
    6. Wählen Sie in der Liste Netzwerk das VPC-Netzwerk im benutzerdefinierten Modus aus.
    7. Wählen Sie in der Liste Subnetzwerk die Option SUBNET aus.
    8. Wählen Sie für IP-Stack-Typ IPv4 und IPv6 (Dual-Stack) aus.
    9. Klicken Sie auf Erstellen.
  2. Grundlegendes Rolling Update starten in der verwalteten InstanzgruppeMIG mit dem Load Balancer verknüpft.

Zonale NEG aktualisieren

Zonale NEG-Endpunkte können nicht bearbeitet werden. Sie müssen die IPv4-Endpunkte löschen und einen neuen Dual-Stack-Endpunkt mit IPv4- und IPv6-Adressen erstellen.

Erstellen Sie zuerst die VMs in der Zone GCP_NEG_ZONE, um eine zonale NEG (mit Endpunkten des Typs GCE_VM_IP_PORT) in der Region REGION_A einzurichten. Fügen Sie dann der zonalen NEG die VM-Netzwerkendpunkte hinzu.

VMs erstellen

Console

  1. Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.

    Zu Seite „VM-Instanzen“

  2. Klicken Sie auf Instanz erstellen.

  3. Legen Sie als Name vm-a1 fest.

  4. Wählen Sie als Region REGION_A und dann einen beliebigen Wert für das Feld Zone aus. In diesem Verfahren wird die Zone als GCP_NEG_ZONE bezeichnet.

  5. Achten Sie im Bereich Bootlaufwerk darauf, dass als Bootlaufwerk-Optionen das Betriebssystem Debian und die Version 10 (Buster) ausgewählt sind. Klicken Sie auf Auswählen, um das Image bei Bedarf zu ändern.

  6. Maximieren Sie den Bereich Erweiterte Optionen und nehmen Sie folgende Änderungen vor:

    • Maximieren Sie den Bereich Netzwerk.
    • Geben in dem Feld Netzwerk allow-health-check ein.
    • Nehmen Sie im Bereich Netzwerkschnittstellen folgende Änderungen vor:
      • Netzwerk: NETWORK
      • Subnetz: SUBNET
      • IP-Stack-Typ: IPv4 und IPv6 (Dual-Stack)
    • Klicken Sie auf Fertig.
    • Klicken Sie auf Verwaltung. Kopieren Sie den folgenden Skriptinhalt und fügen Sie ihn im Feld Startskript ein.

      #! /bin/bash
      apt-get update
      apt-get install apache2 -y
      a2ensite default-ssl
      a2enmod ssl
      vm_hostname="$(curl -H "Metadata-Flavor:Google" \
      http://metadata.google.internal/computeMetadata/v1/instance/name)"
      echo "Page served from: $vm_hostname" | \
      tee /var/www/html/index.html
      systemctl restart apache2
      
  7. Klicken Sie auf Erstellen.

  8. Wiederholen Sie die folgenden Schritte, um eine zweite VM zu erstellen. Verwenden Sie dabei die folgende Kombination aus Name und Zone:

    • Name: vm-a2, Zone: GCP_NEG_ZONE

gcloud

Erstellen Sie die VMs. Führen Sie dazu den folgenden Befehl zweimal aus und verwenden Sie diese Kombinationen für den Namen der VM und ihrer Zone. Der Skriptinhalt ist für beide VMs identisch.

  • VM_NAME von vm-a1 und einer GCP_NEG_ZONE-Zone Ihrer Wahl
  • VM_NAME von vm-a2 und derselben GCP_NEG_ZONE-Zone

    gcloud compute instances create VM_NAME \
        --zone=GCP_NEG_ZONE \
        --stack-type=IPV4_IPV6 \
        --image-family=debian-10 \
        --image-project=debian-cloud \
        --tags=allow-health-check \
        --subnet=SUBNET \
        --metadata=startup-script='#! /bin/bash
          apt-get update
          apt-get install apache2 -y
          a2ensite default-ssl
          a2enmod ssl
          vm_hostname="$(curl -H "Metadata-Flavor:Google" \
          http://metadata.google.internal/computeMetadata/v1/instance/name)"
          echo "Page served from: $vm_hostname" | \
          tee /var/www/html/index.html
          systemctl restart apache2'
    

Fügen Sie der zonalen NEG Endpunkte hinzu

Console

Fügen Sie der zonalen NEG Endpunkte hinzu:

  1. Rufen Sie in der Google Cloud Console die Seite Netzwerk-Endpunktgruppen auf.

    Zu den Netzwerk-Endpunktgruppen

  2. Klicken Sie in der Liste Name auf den Namen der Netzwerk-Endpunktgruppe (ZONAL_NEG). Die Seite Netzwerk-Endpunktgruppendetails wird angezeigt.

  3. Wählen Sie im Bereich Netzwerkendpunkte in dieser Gruppe den zuvor erstellten NEG-Endpunkt aus. Klicken Sie auf Endpunkt entfernen.

  4. Klicken Sie im Bereich Netzwerkendpunkte in dieser Gruppe auf Netzwerkendpunkt hinzufügen.

  5. Wählen Sie die VM-Instanz aus.

  6. Im Abschnitt Netzwerkschnittstelle werden der Name, die Zone und das Subnetz der VM angezeigt.

  7. Geben Sie im Feld IPv4-Adresse die IPv4-Adresse des neuen Netzwerkendpunkts ein.

  8. Geben Sie im Feld IPv6-Adresse die IPv6-Adresse des neuen Netzwerkendpunkts ein.

  9. Wählen Sie den Porttyp aus.

    1. Wenn Sie Standard auswählen, wird für den Endpunkt der Standardport 80 für alle Endpunkte in der Netzwerk-Endpunktgruppe verwendet. Dies ist für unser Beispiel ausreichend, da der Apache-Server Anfragen an Port 80 verarbeitet.
    2. Wenn Sie Benutzerdefiniert auswählen, geben Sie die Portnummer für den zu verwendenden Endpunkt ein.
  10. Klicken Sie zum Hinzufügen weiterer Endpunkte auf Netzwerkendpunkt hinzufügen und wiederholen Sie die vorherigen Schritte.

  11. Nachdem Sie alle Endpunkte hinzugefügt haben, klicken Sie auf Erstellen.

gcloud

  1. Fügen Sie Endpunkte (GCE_VM_IP_PORT-Endpunkte) zu ZONAL_NEG hinzu.

    gcloud compute network-endpoint-groups update ZONAL_NEG \
        --zone=GCP_NEG_ZONE \
        --add-endpoint='instance=vm-a1,ip=IPv4_ADDRESS, \
          ipv6=IPv6_ADDRESS,port=80' \
        --add-endpoint='instance=vm-a2,ip=IPv4_ADDRESS, \
          ipv6=IPv6_ADDRESS,port=80'
    

Ersetzen Sie Folgendes:

IPv4_ADDRESS: IPv4-Adresse des Netzwerkendpunkts Die IPv4-Adresse muss zu einer VM in Compute Engine gehören (entweder die primäre IP-Adresse oder als Teil eines Alias-IP-Bereichs). Wenn die IP-Adresse nicht angegeben ist, wird die primäre IP-Adresse für die VM-Instanz in dem Netzwerk verwendet, zu dem die Netzwerk-Endpunktgruppe gehört.

IPv6_ADDRESS: IPv6-Adresse des Netzwerkendpunkts. Die IPv6-Adresse muss zu einer VM-Instanz in dem Netzwerk gehören, zu dem die Netzwerk-Endpunktgruppe gehört (externe IPv6-Adresse).

Firewallregel für die IPv6-Systemdiagnose erstellen

Sie benötigen eine Regel für eingehenden Traffic, die für die Instanzen mit Load-Balancing gilt und Traffic von den Systemdiagnosen von Google Cloud zulässt (2600:2d00:1:b029::/64, 2600:2d00:1:1::/64). In diesem Beispiel wird das Ziel-Tag allow-health-check-ipv6 verwendet, um die VM-Instanzen zu identifizieren, auf die sie angewendet wird.

Ohne diese Firewallregeln blockiert die Standardregel zum Ablehnen von eingehendem Traffic den eingehenden Traffic zu den Backend-Instanzen.

Console

  1. Rufen Sie in der Google Cloud Console die Seite der Firewall-Richtlinien auf.

    Zu den Firewall-Richtlinien

  2. Klicken Sie noch einmal auf Firewallregel erstellen und geben Sie die folgenden Informationen ein, um IPv6-Subnetz-Traffic zuzulassen:

    • Name: fw-allow-lb-access-ipv6
    • Netzwerk: NETWORK
    • Priorität: 1000
    • Trafficrichtung: Eingehend
    • Ziele: Specified target tags
    • Zieltags: allow-health-check-ipv6
    • Quellfilter: IPv6-Bereiche
    • Quell-IPv6-Bereiche: 2600:2d00:1:b029::/64,2600:2d00:1:1::/64
    • Protokolle und Ports: Alle zulassen
  3. Klicken Sie auf Erstellen.

gcloud

  1. Erstellen Sie die Firewallregel fw-allow-lb-access-ipv6, um die Kommunikation mit dem Subnetz zuzulassen:

    gcloud compute firewall-rules create fw-allow-lb-access-ipv6 \
        --network=NETWORK \
        --action=allow \
        --direction=ingress \
        --target-tags=allow-health-check-ipv6 \
        --source-ranges=2600:2d00:1:b029::/64,2600:2d00:1:1::/64 \
        --rules=all
    

Backend-Dienst aktualisieren und Weiterleitungsregel für IPv6 erstellen

Sie können das vorhandene BACKEND_SERVICE so aktualisieren, dass es Dual-Stack unterstützt. In diesem Abschnitt wird beschrieben, wie Sie den Backend-Dienst mit der Richtlinie zur IP-Adressauswahl als Prefer IPv6 aktualisieren und ein zonales NEG-Backend hinzufügen.

Wenn eine Instanzgruppe mit Ihrem Backend-Dienst verknüpft ist, müssen Sie den Backend-Dienst aktualisieren.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Load-Balancing auf.

    Load-Balancing aufrufen

  2. Klicken Sie auf den Namen des Load-Balancers.

  3. Klicken Sie auf Bearbeiten.

Backend-Dienst für IPv6 konfigurieren

  1. Klicken Sie auf Backend-Konfiguration.
  2. Wählen Sie als Backend-Typ die Option Internetnetzwerk-Endpunktgruppe aus.
  3. Wählen Sie in der Liste Richtlinie zur IP-Adressauswahl die Option IPv6 bevorzugen aus.
  4. Im Feld Protokoll:
    • Wählen Sie für den TCP-Proxy die Option TCP aus.
    • Wählen Sie für den SSL-Proxy die Option SSL aus.
  5. Klicken Sie im Bereich Backends auf Backend hinzufügen.
  6. Führen Sie im Bereich Neues Backend folgende Schritte aus:
    • Wählen Sie in der Liste Netzwerk-Endpunktgruppe ZONAL_NEG aus.
    • Geben Sie im Feld Maximale Verbindungen den Wert 10 ein.
  7. Klicken Sie auf Fertig.
  8. Wählen Sie in der Liste Systemdiagnose eine HTTP-Systemdiagnose aus.

IPv6-Weiterleitungsregel konfigurieren

  1. Klicken Sie auf Front-End-Konfiguration.
  2. Klicken Sie auf Front-End-IP und Port hinzufügen.
  3. Geben Sie im Feld Name einen Namen für die Weiterleitungsregel ein.
  4. Im Feld Protokoll:
    • Wählen Sie für den TCP-Proxy die Option TCP aus.
    • Wählen Sie für den SSL-Proxy die Option SSL aus.
  5. Legen Sie IPv6 als IP-Version fest.
  6. Wählen Sie für den SSL-Proxy in der Liste Zertifikate ein Zertifikat aus.
  7. Klicken Sie auf Fertig.
  8. Klicken Sie auf Aktualisieren.

gcloud

  1. Erstellen Sie den Back-End-Dienst für HTTP-Traffic:

    gcloud beta compute backend-services update BACKEND_SERVICE \
       --protocol=[SSL|TCP] \
       --port-name=http \
       --ip-address-selection-policy=PREFER_IPV6 \
       --health-checks=HEALTH_CHECK \
       --global
    
  2. Fügen Sie dem Backend-Dienst zonale NEGs als Backend hinzu.

    gcloud beta compute backend-services add-backend BACKEND_SERVICE \
       --network-endpoint-group=ZONAL_NEG \
       --global
    
  3. Reservieren Sie eine externe IPv6-Adresse, über die Ihre Kunden den Load Balancer erreichen.

    gcloud compute addresses create lb-ipv6-1 \
       --ip-version=IPV6 \
       --network-tier=PREMIUM \
       --global
    
  4. Erstellen Sie für den SSL-Proxy eine Weiterleitungsregel für den Backend-Dienst.

    gcloud beta compute target-ssl-proxies create TARGET_PROXY \
       --backend-service=BACKEND_SERVICE \
       --ssl-certificates=[SSL_CERT_1][,[SSL_CERT_2],...] \
       --ssl-policy=my-ssl-policy \
       --proxy-header=NONE
    
    gcloud beta compute forwarding-rules create  \
       --load-balancing-scheme=EXTERNAL_MANAGED \
       --network-tier=PREMIUM \
       --address=lb-ipv6-1 \
       --global \
       --target-ssl-proxy=TARGET_PROXY \
       --ports=443
    
  5. Erstellen Sie für den TCP-Proxy eine Weiterleitungsregel für den Backend-Dienst.

    gcloud beta compute target-tcp-proxies create TARGET_PROXY \
       --backend-service=BACKEND_SERVICE \
       --proxy-header=NONE
    
    gcloud beta compute forwarding-rules create  \
       --load-balancing-scheme=EXTERNAL_MANAGED \
       --network-tier=PREMIUM \
       --address=lb-ipv6-1 \
       --global \
       --target-tcp-proxy=TARGET_PROXY \
       --ports=443
    

Backend-Dienst für eine Instanzgruppe aktualisieren

Wenn eine Instanzgruppe mit Ihrem Backend-Dienst verknüpft ist, müssen Sie den Back-End-Dienst so aktualisieren:

Console

  1. Rufen Sie in der Google Cloud Console die Seite Load-Balancing auf.

    Load-Balancing aufrufen

  2. Klicken Sie auf den Namen des Load-Balancers.

  3. Klicken Sie auf Bearbeiten.

Backend-Dienst konfigurieren

  1. Klicken Sie auf Backend-Konfiguration.
  2. Wählen Sie für den Backend-Typ die Option Instanzgruppe aus.
  3. Wählen Sie in der Liste Richtlinie zur IP-Adressauswahl die Option IPv6 bevorzugen aus.
  4. Im Feld Protokoll:
    • Wählen Sie für den TCP-Proxy die Option TCP aus.
    • Wählen Sie für den SSL-Proxy die Option SSL aus.
  5. Wenn Sie die VM-Instanz oder die Vorlagen auf Dual-Stack aktualisiert haben, muss der Bereich Back-Ends nicht noch einmal aktualisiert werden.
  6. Wählen Sie eine Systemdiagnose aus.
  7. Klicken Sie auf Aktualisieren.

gcloud

  1. Erstellen Sie den Back-End-Dienst für HTTP-Traffic:

    gcloud beta compute backend-services update BACKEND_SERVICE \
       --protocol=[SSL|TCP] \
       --port-name=http \
       --ip-address-selection-policy=PREFER_IPV6 \
       --health-checks=HEALTH_CHECK \
       --global
    
  2. Fügen Sie Ihre Instanzgruppe als Backend zum Backend-Dienst hinzu: Wenn Sie die VM-Instanz oder die Vorlagen auf Dual-Stack aktualisiert haben, können Sie diesen Schritt überspringen.

    gcloud beta compute backend-services add-backend BACKEND_SERVICE \
       --instance-group=INSTANCE_GROUP \
       --global
    

Richtlinie zur IP-Adressauswahl konfigurieren

Dieser Schritt ist optional und enthält eine Anleitung zum Konfigurieren der Richtlinie zur IP-Adressauswahl des Backend-Dienstes. Nachdem Sie Ihre Backends zu Dual-Stack migriert haben, können Sie mit der Richtlinie zur IP-Adressauswahl den Traffictyp angeben, der vom GFE an Ihre Backends gesendet wird.

Ersetzen Sie IP_ADDRESS_SELECTION_POLICY durch einen der folgenden Werte:

Richtlinie zur IP-Adressauswahl Beschreibung
Nur IPv4 Senden Sie nur IPv4-Traffic an die Backends des Backend-Dienstes, unabhängig vom Traffic vom Client zum GFE. Es werden nur IPv4-Systemdiagnosen verwendet, um den Status der Backends zu prüfen.
IPv6 bevorzugen

Priorisieren Sie die IPv6-Verbindung des Backends gegenüber der IPv4-Verbindung (sofern ein fehlerfreies Backend mit IPv6-Adressen vorhanden ist).

Die Systemdiagnosen überwachen regelmäßig die IPv6- und IPv4-Verbindungen der Backends. Das GFE versucht zuerst die IPv6-Verbindung. Wenn die IPv6-Verbindung unterbrochen oder langsam ist, verwendet das GFE glückliche Augen, um ein Fallback auszuführen und eine Verbindung zu IPv4 herzustellen.

Selbst wenn eine der IPv6- oder IPv4-Verbindungen fehlerhaft ist, wird das Backend weiterhin als fehlerfrei behandelt. Beide Verbindungen können vom GFE getestet werden, wobei letztendlich die Augenmerk sich entscheiden, welche sie verwenden möchten.

Nur IPv6

Senden Sie nur IPv6-Traffic an die Backends des Backend-Dienstes, unabhängig vom Traffic vom Client zum Proxy. Nur IPv6-Systemdiagnosen werden verwendet, um den Status der Backends zu prüfen.

Es gibt keine Validierung, um zu prüfen, ob der Backend-Traffictyp mit der Richtlinie zur IP-Adressauswahl übereinstimmt. Wenn Sie beispielsweise IPv4-Back-Ends haben und Only IPv6 als Richtlinie zur IP-Adressauswahl auswählen, werden keine Konfigurationsfehler angezeigt, aber der Traffic fließt nicht zu Ihren Backends.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Load-Balancing auf.

    Load-Balancing aufrufen

  2. Klicken Sie auf den Namen des Load-Balancers.

  3. Klicken Sie auf Bearbeiten.

  4. Klicken Sie auf Backend-Konfiguration.

  5. Wählen Sie im Feld Backend-Dienst die Option BACKEND_SERVICE aus.

  6. Der Backend-Typ muss Zonale Netzwerk-Endpunktgruppe oder Instanzgruppe sein.

  7. Wählen Sie in der Liste Richtlinie zur IP-Adressauswahl die Option IP_ADDRESS_SELECTION_POLICY aus.

  8. Klicken Sie auf Fertig.

gcloud

  1. Aktualisieren Sie den Backend-Dienst:

    gcloud beta compute backend-services update BACKEND_SERVICE \
       --load-balancing-scheme=EXTERNAL_MANAGED \
       --protocol=HTTP \
       --ip-address-selection-policy=IP_ADDRESS_SELECTION_POLICY \
       --global
    

Load-Balancer testen

Testen Sie den Load Balancer, um zu prüfen, ob die Migration erfolgreich ist und der eingehende Traffic die Backends wie erwartet erreicht.

Externe IP-Adressen ermitteln

Console

  1. Rufen Sie in der Google Cloud Console die Seite Load-Balancing auf.

    Load-Balancing aufrufen

  2. Klicken Sie auf den Namen des Load-Balancers.

  3. Im Abschnitt Frontend werden zwei Load Balancer-IP-Adressen angezeigt. In diesem Verfahren wird die IPv4-Adresse als IP_ADDRESS_IPV4 und die IPv6-Adresse als IP_ADDRESS_IPV6 bezeichnet.

  4. Wenn die Richtlinie zur IP-Adressauswahl im Bereich Backends den Wert Prefer IPv6 hat, werden zwei Systemdiagnosestatus für die Backends angezeigt.

An Ihre Instanzen gesendeten Traffic testen

In diesem Beispiel werden Anfragen vom Befehl curl nach dem Zufallsprinzip auf die Backends verteilt.

  1. Wiederholen Sie den folgenden Befehl einige Male, bis alle Backend-VMs antworten.

    curl -m1 IP_ADDRESS_IPV4:PORT
    
    curl -m1 IP_ADDRESS_IPV6:PORT
    

    Wenn die IPv6-Adresse beispielsweise [fd20:1db0:b882:802:0:46:0:0]:80 lautet, sieht der Befehl in etwa so aus:

    curl -m1 [fd20:1db0:b882:802:0:46:0:0]:80
    

Log prüfen

Jeder Logeintrag erfasst die IPv4- und IPv6-Zieladresse für das Backend. Da wir Dual-Stack unterstützen, ist es wichtig, die vom Backend verwendete IP-Adresse zu beobachten.

Rufen Sie die Logs auf, um zu prüfen, ob der Traffic an IPv6 gesendet wird oder auf IPv4 zurückfällt.

Die Logs enthalten die mit dem Backend verknüpfte backend_ip-Adresse. Anhand der Logs und dem Vergleich der IPv4- bzw. IPv6-Zieladresse von backend_ip können Sie feststellen, welche IP-Adresse verwendet wird.

Beschränkungen

Wenn die Richtlinie zur IP-Adressauswahl als IPV6_ONLY konfiguriert ist, können Sie weiterhin IPv4 only-Backends konfigurieren. Eine solche Konfiguration führt zu keinen fehlerfreien Backends, zu Clients erhalten den Antwortcode 503 und es gibt keinen vorgelagerten Traffic. Bei der Überprüfung der Logs sehen Sie die statusDetails-Nachricht mit failed_to_pick_backend.