IPv6 für Application Load Balancer und Proxy-Network Load Balancer

In diesem Dokument erfahren Sie, wie IPv6-Traffic von Proxy-Load-Balancern verarbeitet wird. 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.

Google Cloud unterstützt IPv6-Traffic für Backend-Dienst-basierte Passthrough-Network-Load-Balancer. Weitere Informationen finden Sie unter Backend-Dienst-basierter externer Passthrough-Netzwerk Load Balancer und Backend-Dienst-basierter interner Passthrough-Netzwerk Load Balancer.

Globale externe Application Load Balancer und globale externe Proxy-Network Load Balancer beenden eingehenden IPv6-Traffic und leiten diesen Traffic dann über eine IPv4- oder IPv6-Verbindung an Ihre IPv4- und IPv6-Back-Ends (Dual-Stack) weiter.

In der folgenden Tabelle ist aufgeführt, welche Load-Balancer IPv6-Frontend- sowie IPv4- und IPv6-Back-Ends (Dual-Stack) unterstützen:

Funktion Application Load Balancer Proxy-Netzwerk Load Balancer
Intern Extern Intern Extern
IPv6-Front-Ends Global
Klassisch+
Global
Klassisch+
IPv4- und IPv6-Back-Ends (Dual-Stack) regionenübergreifend*
regional*
global*
regional*
regionenübergreifend*
regional*
global*
regional*

* Unterstützt IPv4- und IPv6-Instanzgruppen (Dual-Stack) und zonalen NEG-Back-Ends. Zonale NEGs unterstützen Dual-Stack nur bei Endpunkten vom Typ GCE_VM_IP_PORT.

+ Unterstützung für die Premium-Stufe

In den folgenden Abschnitten dieses Dokuments wird beschrieben, wie IPv6-Traffic von globalen externen Application Load Balancern und globalen externen Proxy-Network Load Balancern verarbeitet wird.

Das folgende Beispiel zeigt, wie das Load-Balancing für globale IPv6-Clients funktioniert:

Globales IPv6-Load Balancing
Globaler IPv6-Load Balancing (zum Vergrößern anklicken).

Mithilfe der IPv6-Beendigung können Sie IPv6-Anfragen von Ihren Nutzern verarbeiten und über IPv4 oder IPv6 an Ihre Backends weiterleiten. Mit IPv6 können Sie das tun:

  • Nur eine Anycast-IPv6-Adresse für die Bereitstellung in mehreren Regionen Für Anwendungsinstanzen, die in mehreren Regionen ausgeführt werden, benötigen Sie nur eine Load-Balancer-IPv6-Adresse. Ihr DNS-Server hat also einen einzigen AAAA und Sie müssen kein Load-Balancing über mehrere IPv6-Adressen ausführen. Clients können AAAA-Einträge problemlos im Cache speichern, da nur eine Adresse gespeichert werden muss. Die von Nutzern an die IPv6-Adresse gerichteten Anfragen werden per Load-Balancing automatisch an das nächstgelegene intakte Back-End mit verfügbarer Kapazität geleitet.

  • Load Balancing für HTTP-, HTTPS-, HTTP/2-, TCP- und SSL/TLS-IPv6-Clienttraffic

  • Regionsübergreifende Weiterleitung mit nur einer Load-Balancer-IPv6-Adresse Wenn Back-Ends in einer Region keine Ressourcen mehr haben oder nicht intakt sind, leitet der globale Load-Balancer Nutzeranfragen automatisch an die nächstgelegene Region mit verfügbaren Ressourcen weiter. Sobald die nächstgelegene Region wieder über Ressourcen verfügt, verarbeitet das globale Load-Balancing wieder Anfragen über diese Region. Für globales Load-Balancing ist die Premium-Stufe der Netzwerkdienststufen erforderlich.

  • Dual-Stack-Bereitstellungen ausführen. Damit sowohl IPv6- als auch IPv4-Clients bedient werden, müssen Sie zwei IP-Ressourcen für den Load-Balancer erstellen – eine für IPv6 und eine für IPv4 – und beide mit denselben Anwendungsinstanzen verknüpfen. IPv4-Clients stellen eine Verbindung zur IPv4-Adresse her, IPv6-Clients eine Verbindung zur IPv6-Adresse. Diese Clients werden dann per Load-Balancing automatisch zu den nächstgelegenen fehlerfreien IPv4- oder IPv6-Dual-Stack-Backends mit verfügbarer Kapazität geleitet. Informationen dazu, welche Load-Balancer Dual-Stack-Backends unterstützen, finden Sie unter Tabelle: Backend-Dienste und unterstützte Backend-Typen. Wir stellen IPv6-Weiterleitungsregeln kostenlos zur Verfügung, sodass Sie nur die IPv4-Gebühren bezahlen.

    Weiterleitung von IPv4- und IPv6-Traffic an dieselben Backends.
    Weiterleitung von IPv4- und IPv6-Traffic an dieselben Backends (zum Vergrößern anklicken).

IPv6-Beendigung und -Proxy

Wenn Sie die IPv6-Beendigung für Ihre Load-Balancer konfigurieren, werden die Backends in Ihren IPv6-Clients als IPv6-Anwendungen angezeigt, wie in der folgenden Abbildung dargestellt:

IPv6-Beendigung zum Load Balancing.
IPv6-Beendigung zum Load Balancing (zum Vergrößern anklicken).

Wenn sich Nutzer über IPv6 mit dem Load-Balancer verbinden, ist der Ablauf so:

  1. Der Load-Balancer mit seiner IPv6-Adresse und Weiterleitungsregel wartet auf Nutzerverbindungen.
  2. Ein IPv6-Client verbindet sich über IPv6 mit dem Load Balancer.
  3. Der Load-Balancer fungiert als Reverseproxy und beendet die IPv6-Clientverbindung. Basierend auf der Richtlinie zur IP-Adressauswahl des Backend-Dienstes wird die Anfrage über eine IPv4- oder IPv6-Verbindung an ein Backend weitergeleitet.
  4. Aus der anderen Richtung erhält das Lastenausgleichsmodul die Antwort des Backends und leitet diese über die IPv6-Verbindung zurück an den ursprünglichen Client.

Beschränkungen

  • Klassische Proxy-Network Load Balancer und klassische Application Load Balancer unterstützen keine Dual-Stack-Backends. Der IPv6-Traffic wird vom Load Balancer beendet und dann über eine IPv4-Verbindung an die Backends weitergeleitet.

  • Regionale externe Application Load Balancer, regionenübergreifende interne Application Load Balancer, regionale interne Application Load Balancer, regionale interne Proxy-Network Load Balancer, regionenübergreifende interne Proxy-Network Load Balancer oder regionale externe Proxy-Network Load Balancer unterstützen keine IPv6-Frontend. Eingehender IPv4-Traffic wird über eine IPv4- oder IPv6-Verbindung an die IPv4- und IPv6-(Dual-Stack-)Backends weitergeleitet.

  • Nur VM-Instanzgruppen-Back-Ends und zonale Netzwerk-Endpunktgruppe (NEG) mit GCE_VM_IP_PORT-Endpunkten unterstützen IPv4 und IPv6 (Dual-Stack).

IPv6-Adresszuweisung für Weiterleitungsregeln des Lastenausgleichsmoduls

Wenn Sie einen externen Load-Balancer konfigurieren, stellen Sie eine oder mehrere globale Weiterleitungsregeln bereit, die jeweils eine externe, öffentlich weitergeleitete IPv4- oder IPv6-Adresse haben (oder beides). Sie können diese IP-Adresse in den DNS-Einträgen für Ihre Website verwenden.

Wenn Sie eine Weiterleitungsregel erstellen, können Sie entweder eine für Ihr Projekt reservierte statische IP-Adresse verwenden oder festlegen, dass die Weiterleitungsregel bei ihrer Erstellung automatisch eine sitzungsspezifische IP-Adresse erwirbt. Eine statische IP-Adresse ist für Ihr Projekt reserviert. Sie können sie behalten, bis Sie diese gezielt wieder freigeben. Eine sitzungsspezifische Adresse gehört zur Weiterleitungsregel, solange sie besteht. Wenn Sie die Weiterleitungsregel löschen, wird die sitzungsspezifische Adresse wieder in den Google Cloud-Pool freigegeben.

Wenn Sie für den Load-Balancer sowohl eine IPv6- als auch eine IPv4-Adresse benötigen, können Sie zwei Weiterleitungsregeln erstellen. Eine davon wird mit einer IPv4-Adresse und die andere mit einer IPv6-Adresse verknüpft. Sie können dann beide Regeln mit demselben Load-Balancer verknüpfen.

IPv6-Adressformat

Google Cloud stellt einen /64-IPv6-Adressbereich für IPv6-Weiterleitungsregeln bereit. Das Google Cloud CLI listet IPv6-Adressen auf, bei denen die niedrigstwertigen 64 Bit auf 0 gesetzt sind, der Load-Balancer akzeptiert aber Traffic aus dem gesamten Bereich. Daher können in X-Forwarded-For-Headern andere IPv6-Adressen des Load-Balancers aus dem zugewiesenen Bereich angezeigt werden, je nachdem, mit welcher IPv6-Server-IP-Adresse der Client verbunden ist.

Google Cloud folgt bei der Formatierung von IPv6-Adressen den Empfehlungen unter RFC 5952, Abschnitt 4.

Client-IP-Header mit IPv6-Beendigung für externe Application Load Balancer

Wenn der Load-Balancer die IPv6-Verbindung vom Client in eine IPv4-Verbindung zum Backend überführt, wird die ursprüngliche Quell-IP-Adresse durch die IP-Adresse des Load-Balancers ersetzt. Allerdings benötigen die Back-Ends häufig die ursprüngliche Quell-IP-Adresse für Logging, Entscheidungsfindung oder andere Zwecke. Google Cloud stellt einen HTTP-Header bereit, der an die Back-Ends weitergegeben wird und die ursprüngliche IPv6-Client-IP-Adresse enthält.

HTTP-Header für IPv6 ähneln denen für IPv4. Das Format für Anfragen sieht so aus:

  • X-Forwarded-For: CLIENT_IP_ADDRESS, GLOBAL_FORWARDING_RULE_EXTERNAL_IP_ADDRESSES

Das letzte Element enthält die IP-Adresse des Load-Balancers Das vorletzte Element enthält die Client-IP-Adresse, wie sie vom Load-Balancer empfangen wird. Es können andere Elemente im X-Forwarded-For-Header vorhanden sein, wenn der Client oder die dazwischenliegenden Proxys weitere X-Forwarded-For-Header hinzufügen, bevor die Anfrage an den Load-Balancer gesendet wird.

Ein X-Forwarded-For-Header kann beispielsweise so aussehen:

X-Forwarded-For: 2001:db8:abcd:1::1234, 2607:f8b0:4005:801::200e

2001:db8:abcd:1::1234 ist die IPv6-Adresse des Clients. 2607:f8b0:4005:801::200e ist die IPv6-Adresse des externen Application Load Balancers.

Von Single-Stack- in Dual-Stack konvertieren

Sie können Load-Balancer-Ressourcen, die nur IPv4 (Single-Stack) verwenden, in IPv4 und IPv6 (Dual-Stack) konvertieren. Wenn Sie Load Balancer-Ressourcen aktualisieren, können Sie IPv6-Traffic automatisch an Ihre Backends weiterleiten.

Eine Anleitung zum Umwandeln Ihrer Load Balancer-Ressourcen und ‑Backends in Dual-Stack finden Sie in der folgenden Dokumentation:

Load-Balancer Dokumentation
Globaler externer Application Load Balancer
Regionsübergreifender interner Application Load Balancer
Regionaler externer Application Load Balancer
Regionaler interner Application Load Balancer
Application Load Balancer in IPv6 konvertieren
SSL-Proxy und TCP-Proxy – Globaler externer Proxy-Netzwerk-Load-Balancer
Regionenübergreifender interner Proxy-Netzwerk-Load-Balancer
Regionaler externer Proxy-Netzwerk-Load-Balancer
Regionaler interner Proxy-Netzwerk-Load-Balancer
Proxy-Network Load Balancer in IPv6 konvertieren

Preise

Die Weiterleitungsregeln für die IPv6-Beendigung nutzen Sie ohne zusätzliche Kosten. Sitzungsspezifische IPv6-Adressen werden nicht in Rechnung gestellt. Reservierte IPv6-Adressen werden nach den vorliegenden Tarifen abgerechnet, unabhängig davon, ob sie verwendet werden oder nicht. Ansonsten entsprechen die Preise für das IPv6-Load-Balancing denen für das IPv4-Load-Balancing. Weitere Informationen zu Load-Balancing-Preisen finden Sie unter Netzwerkpreise.

Nächste Schritte

* IP-Adressauswahlprotokoll