In diesem Dokument erfahren Sie, wie Sie Proxy-Network Load Balancer-Ressourcen und -Back-Ends von nur IPv4 (Einzel-Stack) in IPv4 und IPv6 (Dual-Stack) konvertieren. In diesem Dokument bezieht sich nur IPv4 (Einzelstack) auf die Ressourcen, die nur IPv4-Adressen verwenden, und IPv4 und IPv6 (Dual-Stack) bezieht sich auf die Ressourcen, die sowohl IPv4- als auch IPv6-Adressen verwenden.
Die Anleitung in diesem Dokument gilt sowohl für SSL-Proxy- als auch für TCP-Proxy-Network Load Balancer.
Vorteile
Das Umwandeln Ihrer Load Balancer in Dual-Stack hat mehrere wichtige Vorteile:
Der Hauptvorteil von IPv6 besteht darin, dass ein viel größerer Pool von IP-Adressen zugewiesen werden kann.
Viele Kunden, die bereits "nur IPv4"-Load Balancer verwenden, können einen Schritt weiter gehen, indem sie cloudspezifische Methoden nutzen und von "nur IPv4"-unterstützten Backends in IPv4- und IPv6-Backends (Dual-Stack) konvertieren.
Sie können den Load-Balancer so konfigurieren, dass eingehender IPv6-Traffic beendet wird und dieser Traffic per Proxy über eine IPv4- oder IPv6-Verbindung (je nach Ihren Wünschen) an Ihre Back-Ends weitergeleitet wird. Weitere Informationen finden Sie unter IPv6.
Beschränkungen
Hinweis: Sie können den IP-Stacktyp des Subnetzes nicht von IPv4 und IPv6 (Dual-Stack) auf "nur IPv4" aktualisieren.
Wenn Sie die Richtlinie zur IP-Adressauswahl für den Backend-Dienst als "nur IPv6" konfigurieren, können Sie dennoch "nur IPv4"-Backends konfigurieren. Eine solche Konfiguration führt zu fehlerhaften Back-Ends. Clients erhalten den Antwortcode
503
. und der Traffic fließt nicht upstream. Die Logs zeigenfailed_to_pick_backend
instatusDetails
an.Sie können die Richtlinie zur IP-Adressauswahl des Backend-Dienstes auf "nur IPv6" konfigurieren. Der IP-Stack-Typ der Backends ist jedoch immer IPv4 und IPv6 (Dual-Stack).
Nur VM-Instanzgruppen-Backends und zonale Netzwerk-Endpunktgruppen (NEG) mit
GCE_VM_IP_PORT
-Endpunkten unterstützen IPv4 und IPv6 (Dual-Stack).Regionenübergreifende interne Proxy-Network Load Balancer, regionale externe Proxy-Network Load Balancer und regionale interne Proxy-Network Load Balancer unterstützen keine Weiterleitungsregeln mit IPv6. Eingehender IPv4-Traffic wird über eine IPv4- oder IPv6-Verbindung an Dual-Stack-Backends weitergeleitet.
Klassische Proxy-Network Load Balancer unterstützen keine Dual-Stack-Backends. Der Load-Balancer beendet eingehenden IPv6-Traffic, der von IPv6-Clients empfangen wird, und leitet diesen Traffic über eine IPv4-Verbindung an Ihre IPv4-Backends weiter.
Hinweise
Sie müssen bereits einen SSL-Proxy- oder TCP-Proxy-Proxy-Network Load Balancer mit "nur IPv4"-Stack mit einer Instanzgruppe oder zonalen NEG-Backends (Netzwerk-Endpunktgruppe) eingerichtet haben.
Weitere Informationen zum Einrichten von globalen externen Proxy-Network Load Balancern finden Sie in der folgenden Dokumentation:
- Globalen externen Proxy-Network Load Balancer (SSL-Proxy) mit VM-Instanzgruppen-Backends einrichten
- Globalen externen Proxy-Network Load Balancer(TCP-Proxy) mit zonalen NEGs einrichten
Weitere Informationen zum Einrichten von regionalen externen Proxy-Network Load Balancern finden Sie in der folgenden Dokumentation:
- Globalen externen Proxy-Network Load Balancer (SSL-Proxy) mit VM-Instanzgruppen-Backends einrichten
- Regionalen externen Proxy-Network Load Balancer(TCP-Proxy) mit zonalen NEGs einrichten
Weitere Informationen zum Einrichten von regionenübergreifenden internen Proxy-Network Load Balancern finden Sie in der folgenden Dokumentation:
- Regionenübergreifenden internen Proxy-Network Load Balancer(SSL-Proxy) mit VM-Instanzgruppen-Backends einrichten
- Regionenübergreifenden internen Proxy-Network Load Balancer(TCP-Proxy) mit zonalen NEGs einrichten
Weitere Informationen zum Einrichten von regionalen internen Proxy-Network Load Balancern finden Sie in der folgenden Dokumentation:
- Regionalen internen Proxy-Network Load Balancer(SSL-Proxy) mit VM-Instanzgruppen-Backends einrichten
- Regionalen internen Proxy-Network Load Balancer(TCP-Proxy) mit zonalen NEGs einrichten
Zu konvertierende Ressourcen identifizieren
Notieren Sie die Namen der Ressourcen, denen Ihr Load-Balancer zugeordnet ist. Sie müssen diese Namen später angeben.
Verwenden Sie den Befehl
gcloud compute networks subnets list
, um alle Subnetze aufzulisten:gcloud compute networks subnets list
Notieren Sie sich den Namen des Subnetzes mit "nur IPv4"-Stack, das zu Dual-Stack migriert werden sollen. Diese wird später als
SUBNET
bezeichnet. Das VPC-Netzwerk wird später alsNETWORK
bezeichnet.Verwenden Sie den Befehl
gcloud beta compute backend-services list
, um alle Backend-Dienste aufzulisten:gcloud beta compute backend-services list
Notieren Sie sich den Namen des Backend-Dienstes, der zu Dual-Stack konvertiert werden soll. Diese wird später als
BACKEND_SERVICE
bezeichnet.Wenn Sie bereits einen Load Balancer haben, verwenden Sie den Befehl
gcloud compute instances list
, um den IP-Stacktyp Ihrer Backends aufzurufen: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)"
Verwenden Sie zum Auflisten aller VM-Instanzen und Instanzvorlagen den Befehl
gcloud compute instances list
und den Befehlgcloud compute instance-templates list
:gcloud compute instances list
gcloud compute instance-templates list
Notieren Sie sich die Namen der Instanzen und Instanzvorlagen, die in Dual-Stack konvertiert werden sollen. Dieser wird später als
VM_INSTANCE
undINSTANCE_TEMPLATES
bezeichnet.Verwenden Sie den Befehl
gcloud compute network-endpoint-groups list
, um alle zonalen NEGs aufzulisten:gcloud compute network-endpoint-groups list
Notieren Sie sich den Namen der Netzwerk-Endpunktgruppen, die zu Dual-Stack migriert werden sollen. Diese wird später als
ZONAL_NEG
bezeichnet.Verwenden Sie den Befehl
gcloud compute target-ssl-proxies list
, 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.Verwenden Sie den Befehl
gcloud compute target-tcp-proxies list
, 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 Single-Stack- in Dual-Stack-Backends konvertieren
In diesem Abschnitt erfahren Sie, wie Sie Ihre Load Balancer-Ressourcen und Backends, die "nur IPv4"-Adressen (Single-Stack) verwenden, in IPv4- und IPv6-Adressen (Dual-Stack) konvertieren.
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. Während Netzwerke im automatischen Modus für eine erste Erkundung hilfreich sein können, sind für die meisten Produktionsumgebungen VPC-Netzwerke im benutzerdefinierten Modus besser geeignet. Wir empfehlen, VPCs im benutzerdefinierten Modus zu verwenden.
So aktualisieren Sie das VPC auf die Dual-Stack-Einstellung:
Wenn Sie ein VPC-Netzwerk im automatischen Modus verwenden, müssen Sie zuerst das VPC-Netzwerk im automatischen Modus in den benutzerdefinierten Modus umwandeln.
Informationen zum Aktivieren von IPv6 finden Sie unter Stack-Typ eines Subnetzes in Dual-Stack ändern.
Optional: Führen Sie die folgenden Schritte aus, um interne IPv6-Adressbereiche in Subnetzen in diesem Netzwerk zu konfigurieren:
- Wählen Sie für Interner VPC-Netzwerk-IPv6-ULA-Bereich den Wert Aktiviert aus.
Wählen Sie unter Internen IPv6-Bereich zuweisen die Option Automatisch oder Manuell aus.
Geben Sie einen
/48
-Bereich aus dem Bereichfd20::/20
ein, wenn Sie Manuell auswählen. Wenn der Bereich verwendet wird, werden Sie aufgefordert, einen anderen Bereich anzugeben.
Nur-Proxy-Subnetz aktualisieren
Wenn Sie einen Envoy-basierten Load Balancer verwenden, empfehlen wir, den Nur-Proxy-Subnetz-Stacktyp in Dual-Stack zu ändern. Informationen zu Load Balancern, die Nur-Proxy-Subnetze unterstützen, finden Sie unter Unterstützte Load Balancer.
So ändern Sie den Stacktyp des Nur-Proxy-Subnetzes in Dual-Stack:
Console
Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf.
Klicken Sie auf den Namen eines Netzwerks, um die Seite VPC-Netzwerkdetails aufzurufen.
Klicken Sie auf den Tab Subnetze.
Klicken Sie im Abschnitt Reservierte Nur-Proxy-Subnetze für das Load Balancing auf den Namen des Nur-Proxy-Subnetzes, das Sie ändern möchten.
Klicken Sie auf der Seite mit den Subnetz-Details auf Bearbeiten.
Wählen Sie für IP-Stack-Typ IPv4 und IPv6 (Dual-Stack) aus. Der Zugriffstyp IPv6 ist Intern.
Klicken Sie auf Speichern.
gcloud
Führen Sie den Befehl subnets update
aus.
gcloud compute networks subnets update PROXY_ONLY_SUBNET \ --stack-type=IPV4_IPV6 \ --ipv6-access-type=INTERNAL \ --region=REGION
Ersetzen Sie Folgendes:
PROXY_ONLY_SUBNET
: die Region des Nur-Proxy-Subnetzes.REGION
: die Region des Subnetzes.IPv6_ACCESS_TYPE
: der IPv6-Zugriffstyp des Subnetzes istINTERNAL
.
VM-Instanz oder Vorlagen aktualisieren
Sie können IPv6-Adressen auf einer VM-Instanz konfigurieren, wenn in dem Subnetz, mit dem die VM verbunden ist, ein IPv6-Bereich konfiguriert ist. Nur die folgenden Backends können IPv6-Adressen unterstützen:
- Instanzgruppen-Back-Ends: Ein oder mehrere verwaltete, nicht verwaltete oder eine Kombination aus verwalteten und nicht verwalteten Instanzgruppen-Back-Ends
- zonalen NEGs: eine oder mehrere zonale NEGs des Typs
GCE_VM_IP_PORT
VM-Instanzen 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:
- Bestimmte Instanzen aus einer Gruppe löschen
- Dual-Stack-VM erstellen
- Instanzen mit bestimmten Namen in MIGs erstellen
VM-Instanzvorlagen aktualisieren
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
Rufen Sie in der Google Cloud Console die Seite Instanzvorlagen auf.
- Klicken Sie auf die Instanzvorlage, die Sie kopieren und aktualisieren möchten.
- Klicken Sie auf Ähnliche erstellen.
- Maximieren Sie den Bereich Erweiterte Optionen.
- Geben Sie bei Netzwerk-Tags den Wert
allow-health-check-ipv6
ein. - Klicken Sie im Bereich Netzwerkschnittstellen auf Netzwerkschnittstelle hinzufügen.
- Wählen Sie in der Liste Netzwerk das VPC-Netzwerk im benutzerdefinierten Modus aus.
- Wählen Sie in der Liste Subnetzwerk die Option
SUBNET
aus. - Wählen Sie für IP-Stack-Typ IPv4 und IPv6 (Dual-Stack) aus.
- Klicken Sie auf Erstellen.
Grundlegendes Rolling Update starten in der verwalteten Instanzgruppe
MIG
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
Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.
Klicken Sie auf Instanz erstellen.
Legen Sie als Name
vm-a1
fest.Wählen Sie als Region
REGION_A
und dann einen beliebigen Wert für das Feld Zone aus. In diesem Verfahren wird die Zone alsGCP_NEG_ZONE
bezeichnet.Achten Sie darauf, dass im Abschnitt Bootlaufwerk Debian GNU/Linux 12 (bookworm) als Bootlaufwerk-Optionen ausgewählt ist. Klicken Sie auf Auswählen, um das Image bei Bedarf zu ändern.
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)
- Netzwerk:
- 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
Klicken Sie auf Erstellen.
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
- Name:
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
vonvm-a1
und einerGCP_NEG_ZONE
-Zone Ihrer WahlVM_NAME
vonvm-a2
und derselbenGCP_NEG_ZONE
-Zonegcloud compute instances create VM_NAME \ --zone=GCP_NEG_ZONE \ --stack-type=IPV4_IPV6 \ --image-family=debian-12 \ --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:
Rufen Sie in der Google Cloud Console die Seite Netzwerk-Endpunktgruppen auf.
Klicken Sie in der Liste Name auf den Namen der Netzwerk-Endpunktgruppe (
ZONAL_NEG
). Die Seite Netzwerk-Endpunktgruppendetails wird angezeigt.Wählen Sie im Bereich Netzwerkendpunkte in dieser Gruppe den zuvor erstellten NEG-Endpunkt aus. Klicken Sie auf Endpunkt entfernen.
Klicken Sie im Bereich Netzwerkendpunkte in dieser Gruppe auf Netzwerkendpunkt hinzufügen.
Wählen Sie die VM-Instanz aus.
Im Abschnitt Netzwerkschnittstelle werden der Name, die Zone und das Subnetz der VM angezeigt.
Geben Sie im Feld IPv4-Adresse die IPv4-Adresse des neuen Netzwerkendpunkts ein.
Geben Sie im Feld IPv6-Adresse die IPv6-Adresse des neuen Netzwerkendpunkts ein.
Wählen Sie den Porttyp aus.
- 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 Port80
verarbeitet. - Wenn Sie Benutzerdefiniert auswählen, geben Sie die Portnummer für den zu verwendenden Endpunkt ein.
- Wenn Sie Standard auswählen, wird für den Endpunkt der Standardport
Klicken Sie zum Hinzufügen weiterer Endpunkte auf Netzwerkendpunkt hinzufügen und wiederholen Sie die vorherigen Schritte.
Nachdem Sie alle Endpunkte hinzugefügt haben, klicken Sie auf Erstellen.
gcloud
Fügen Sie Endpunkte (
GCE_VM_IP_PORT
-Endpunkte) zuZONAL_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
). 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
Rufen Sie in der Google Cloud Console die Seite der Firewall-Richtlinien auf.
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
Geben Sie für einen globalen externen Application Load Balancer und einen globalen externen Proxy-Network Load Balancer
2600:2d00:1:b029::/64
,2600:2d00:1:1::/64
einFür regionenübergreifenden internen Application Load Balancer, regionalen externen Application Load Balancer, regionalen internen Application Load Balancer, regionenübergreifenden internen Proxy-Network Load Balancer, regionalen externen Proxy-Network Load Balancer und regionalen internen Proxy-Network Load Balancer geben Sie
2600:2d00:1:b029::/64
ein.
Protokolle und Ports: Alle zulassen
- Name:
Klicken Sie auf Erstellen.
gcloud
Erstellen Sie die Firewallregel
fw-allow-lb-access-ipv6
, um die Kommunikation mit dem Subnetz zuzulassen:Verwenden Sie für einen globalen externen Application Load Balancer und einen globalen externen Proxy-Network Load Balancer den folgenden Befehl:
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
Für regionenübergreifenden internen Application Load Balancer, regionalen externen Application Load Balancer, regionalen internen Application Load Balancer, regionenübergreifenden internen Proxy-Network Load Balancer, regionalen externen Proxy-Network Load Balancer und regionalen internen Proxy-Network Load Balancer verwenden Sie den folgenden Befehl:
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 \ --rules=all
Nur-Proxy-Subnetz-Firewallregel hinzufügen
Wenn Sie einen Envoy-basierten Load Balancer verwenden, müssen Sie die Firewallregel für eingehenden Traffic fw-allow-lb-access-ipv6
aktualisieren, um Traffic vom Nur-Proxy-Subnetz zu den Backends zuzulassen.
Führen Sie den folgenden Befehl aus, um das internalIpv6Prefix
aus dem Nur-Proxy-Subnetz abzurufen:
gcloud compute networks subnets describe PROXY_ONLY_SUBNET \ --region=REGION \ --format="value(internalIpv6Prefix)"
Notieren Sie sich die interne IPv6-Adresse. Diese wird später als IPv6_PROXY
bezeichnet.
So aktualisieren Sie die Firewallregel fw-allow-lb-access-ipv6
für das Nur-Proxy-Subnetz:
Console
Rufen Sie in der Google Cloud Console die Seite der Firewall-Richtlinien auf.
Klicken Sie im Bereich VPC-Firewallregeln auf
fw-allow-lb-access-ipv6
.- Quell-IPv6-Bereiche:
2600:2d00:1:b029::/64
,IPv6_PROXY
- Quell-IPv6-Bereiche:
Klicken Sie auf Speichern.
gcloud
Aktualisieren Sie die Firewallregel
fw-allow-lb-access-ipv6
, um die Kommunikation mit dem Nur-Proxy-Subnetz zuzulassen:gcloud compute firewall-rules update fw-allow-lb-access-ipv6 \ --source-ranges=2600:2d00:1:b029::/64,2600:2d00:1:1::/64, IPv6_PROXY \
Backend-Dienst aktualisieren und Weiterleitungsregel für IPv6 erstellen
Dieser Abschnitt enthält eine Anleitung zum Aktualisieren des Backend-Dienstes BACKEND_SERVICE
mit der
Richtlinie zur IP-Adressauswahl als Prefer IPv6
und zum Hinzufügen eines zonalen NEG-Backends.
Die Weiterleitungsregel mit IPv6 kann nur für globale externe Proxy-Network Load Balancer erstellt werden. Eine Weiterleitungsregel mit IPv6 wird nicht für regionenübergreifende interne Proxy-Network Load Balancer, regionale externe Proxy-Network Load Balancer und regionale interne Proxy-Network Load Balancer unterstützt.
Wenn eine Instanzgruppe mit Ihrem Backend-Dienst verknüpft ist, finden Sie weitere Informationen unter Backend-Dienst für eine Instanzgruppe aktualisieren.
Console
Rufen Sie in der Google Cloud Console die Seite Load-Balancing auf.
Klicken Sie auf den Namen des Load-Balancers.
Klicken Sie auf Bearbeiten.
Backend-Dienst für IPv6 konfigurieren
- Klicken Sie auf Backend-Konfiguration.
- Wählen Sie als Backend-Typ die Option Internetnetzwerk-Endpunktgruppe aus.
- Wählen Sie in der Liste Richtlinie zur IP-Adressauswahl die Option IPv6 bevorzugen aus.
- 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.
- Klicken Sie im Bereich Backends auf Backend hinzufügen.
- 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.
- Wählen Sie in der Liste Netzwerk-Endpunktgruppe
- Klicken Sie auf Fertig.
- Wählen Sie in der Liste Systemdiagnose eine HTTP-Systemdiagnose aus.
IPv6-Weiterleitungsregel konfigurieren
Eine Weiterleitungsregel mit IPv6 wird nicht für regionenübergreifende interne Proxy-Network Load Balancer, regionale externe Proxy-Network Load Balancer und regionale interne Proxy-Network Load Balancer unterstützt.
- Klicken Sie auf Frontend-Konfiguration.
- Klicken Sie auf Front-End-IP und Port hinzufügen.
- Geben Sie im Feld Name einen Namen für die Weiterleitungsregel ein.
- 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.
- Legen Sie
IPv6
als IP-Version fest. - Wählen Sie für den SSL-Proxy in der Liste Zertifikate ein Zertifikat aus.
- Klicken Sie auf Fertig.
- Klicken Sie auf Aktualisieren.
gcloud
Aktualisieren Sie den Backend-Dienst für SSL- oder TCP-Traffic:
global
Verwenden Sie für einen globalen externen Proxy-Network Load Balancer den folgenden Befehl:
gcloud beta compute backend-services update BACKEND_SERVICE \ --load-balancing-scheme=EXTERNAL_MANAGED \ --protocol=[SSL|TCP] \ --ip-address-selection-policy=PREFER_IPV6 \ --global
Verwenden Sie für den regionenübergreifenden internen Proxy-Network Load Balancer den folgenden Befehl:
gcloud beta compute backend-services update BACKEND_SERVICE \ --load-balancing-scheme=INTERNAL_MANAGED \ --protocol=[SSL|TCP] \ --ip-address-selection-policy=PREFER_IPV6 \ --global
regional
Verwenden Sie für den regionalen externen Proxy-Network Load Balancer den folgenden Befehl:
gcloud beta compute backend-services update BACKEND_SERVICE \ --load-balancing-scheme=EXTERNAL_MANAGED \ --protocol=[SSL|TCP] \ --ip-address-selection-policy=PREFER_IPV6 \ --region=REGION
Verwenden Sie für den regionalen internen Proxy-Network Load Balancer den folgenden Befehl:
gcloud beta compute backend-services update BACKEND_SERVICE \ --load-balancing-scheme=INTERNAL_MANAGED \ --protocol=[SSL|TCP] \ --ip-address-selection-policy=PREFER_IPV6 \ --region=REGION
Fügen Sie dem Backend-Dienst zonale NEGs als Backend hinzu.
global
Verwenden Sie für den globalen externen Proxy-Network Load Balancer und den regionenübergreifenden internen Proxy-Network Load Balancer den folgenden Befehl:
gcloud beta compute backend-services add-backend BACKEND_SERVICE \ --network-endpoint-group=ZONAL_NEG \ --max-rate-per-endpoint=10 \ --global
regional
Verwenden Sie für den regionalen externen Proxy-Network Load Balancer und den regionalen internen Proxy-Network Load Balancer den folgenden Befehl:
gcloud beta compute backend-services add-backend BACKEND_SERVICE \ --network-endpoint-group=ZONAL_NEG \ --max-rate-per-endpoint=10 \ --region=REGION
Reservieren Sie eine externe IPv6-Adresse, über die Ihre Kunden den Load Balancer erreichen.
global
Verwenden Sie für einen globalen externen Proxy-Network Load Balancer den folgenden Befehl:
gcloud compute addresses create lb-ipv6-1 \ --ip-version=IPV6 \ --network-tier=PREMIUM \ --global
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
global
Verwenden Sie für einen globalen externen Proxy-Network Load Balancer den folgenden Befehl:
gcloud beta compute forwarding-rules create FORWARDING_RULE_IPV6 \ --load-balancing-scheme=EXTERNAL_MANAGED \ --network-tier=PREMIUM \ --address=lb-ipv6-1 \ --global \ --target-ssl-proxy=TARGET_PROXY \ --ports=80
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
global
Verwenden Sie für einen globalen externen Proxy-Network Load Balancer den folgenden Befehl:
gcloud beta compute forwarding-rules create FORWARDING_RULE_IPV6 \ --load-balancing-scheme=EXTERNAL_MANAGED \ --network-tier=PREMIUM \ --address=lb-ipv6-1 \ --global \ --target-tcp-proxy=TARGET_PROXY \ --ports=80
Verwenden Sie für den regionenübergreifenden internen Proxy-Network Load Balancer den folgenden Befehl:
gcloud beta compute forwarding-rules create FORWARDING_RULE_IPV6 \ --load-balancing-scheme=INTERNAL_MANAGED \ --network-tier=PREMIUM \ --network=NETWORK \ --subnet=SUBNET \ --subnet-region=REGION \ --address=lb-ipv6-1 \ --global \ --target-tcp-proxy=TARGET_PROXY \ --ports=80
regional
Verwenden Sie für den regionalen externen Proxy-Network Load Balancer den folgenden Befehl:
gcloud beta compute forwarding-rules create FORWARDING_RULE_IPV6 \ --load-balancing-scheme=EXTERNAL_MANAGED \ --network-tier=PREMIUM \ --network=NETWORK \ --subnet=SUBNET \ --address=lb-ipv6-1 \ --region=REGION \ --target-tcp-proxy==TARGET_PROXY \ --target-tcp-proxy-region=REGION \ --ports=80
Verwenden Sie für den regionalen internen Proxy-Network Load Balancer den folgenden Befehl:
gcloud beta compute forwarding-rules create FORWARDING_RULE_IPV6 \ --load-balancing-scheme=INTERNAL_MANAGED \ --network-tier=PREMIUM \ --network=NETWORK \ --subnet=SUBNET \ --address=lb-ipv6-1 \ --region=REGION \ --target-tcp-proxy=TARGET_PROXY \ --target-tcp-proxy-region=REGION \ --ports=80
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
Rufen Sie in der Google Cloud Console die Seite Load-Balancing auf.
Klicken Sie auf den Namen des Load-Balancers.
Klicken Sie auf Bearbeiten.
Backend-Dienst konfigurieren
- Klicken Sie auf Backend-Konfiguration.
- Wählen Sie für den Backend-Typ die Option Instanzgruppe aus.
- Wählen Sie in der Liste Richtlinie zur IP-Adressauswahl die Option IPv6 bevorzugen aus.
- 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.
- Wenn Sie die VM-Instanz oder die Vorlagen auf Dual-Stack aktualisiert haben, muss der Bereich Back-Ends nicht noch einmal aktualisiert werden.
- Wählen Sie eine Systemdiagnose aus.
- Klicken Sie auf Aktualisieren.
gcloud
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.
global
Verwenden Sie für den globalen externen Proxy-Network Load Balancer und den regionenübergreifenden internen Proxy-Network Load Balancer den folgenden Befehl:
gcloud beta compute backend-services add-backend BACKEND_SERVICE \ --instance-group=INSTANCE_GROUP \ --global
regional
Verwenden Sie für den regionalen externen Proxy-Network Load Balancer und den regionalen internen Proxy-Network Load Balancer den folgenden Befehl:
gcloud beta compute backend-services add-backend BACKEND_SERVICE \ --instance-group=INSTANCE_GROUP \ --region=REGION
Richtlinie zur IP-Adressauswahl konfigurieren
Dieser Schritt ist optional. Nachdem Sie Ihre Ressourcen und Backends in Dual-Stack konvertiert haben, können Sie mit der Richtlinie zur IP-Adressauswahl den Traffictyp angeben, der vom Backend-Dienst 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 |
Console
Rufen Sie in der Google Cloud Console die Seite Load-Balancing auf.
Klicken Sie auf den Namen des Load-Balancers.
Klicken Sie auf Bearbeiten.
Klicken Sie auf Backend-Konfiguration.
Wählen Sie im Feld Backend-Dienst die Option
BACKEND_SERVICE
aus.Der Backend-Typ muss Zonale Netzwerk-Endpunktgruppe oder Instanzgruppe sein.
Wählen Sie in der Liste Richtlinie zur IP-Adressauswahl die Option
IP_ADDRESS_SELECTION_POLICY
aus.Klicken Sie auf Fertig.
gcloud
Aktualisieren Sie den Backend-Dienst:
global
Verwenden Sie für einen globalen externen Proxy-Network Load Balancer den folgenden Befehl:
gcloud beta compute backend-services update BACKEND_SERVICE_IPV6 \ --load-balancing-scheme=EXTERNAL_MANAGED \ --protocol=[SSL|TCP] \ --ip-address-selection-policy=IP_ADDRESS_SELECTION_POLICY \ --global
Verwenden Sie für den regionenübergreifenden internen Proxy-Network Load Balancer den folgenden Befehl:
gcloud beta compute backend-services update BACKEND_SERVICE_IPV6 \ --load-balancing-scheme=INTERNAL_MANAGED \ --protocol=[SSL|TCP] \ --ip-address-selection-policy=IP_ADDRESS_SELECTION_POLICY \ --global
regional
Verwenden Sie für den regionalen externen Proxy-Network Load Balancer den folgenden Befehl:
gcloud beta compute backend-services update BACKEND_SERVICE_IPV6 \ --load-balancing-scheme=EXTERNAL_MANAGED \ --protocol=[SSL|TCP] \ --ip-address-selection-policy=IP_ADDRESS_SELECTION_POLICY \ --region=REGION
Verwenden Sie für den regionalen internen Proxy-Network Load Balancer den folgenden Befehl:
gcloud beta compute backend-services update BACKEND_SERVICE_IPV6 \ --load-balancing-scheme=INTERNAL_MANAGED \ --protocol=[SSL|TCP] \ --ip-address-selection-policy=IP_ADDRESS_SELECTION_POLICY \ --region=REGION
Load-Balancer testen
Sie müssen prüfen, ob alle erforderlichen Ressourcen auf Dual-Stack aktualisiert wurden. Nachdem Sie alle Ressourcen aktualisiert haben, muss der Traffic automatisch zu den Backends fließen. Sie können die Logs prüfen und prüfen, ob die Konvertierung abgeschlossen ist.
Testen Sie den Load Balancer, um zu prüfen, ob die Konvertierung erfolgreich ist und der eingehende Traffic die Backends wie erwartet erreicht.
Externe IP-Adressen ermitteln
Console
Rufen Sie in der Google Cloud Console die Seite Load-Balancing auf.
Klicken Sie auf den Namen des Load-Balancers.
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 alsIP_ADDRESS_IPV6
bezeichnet.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.
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.