In diesem Dokument erfahren Sie, wie Sie einen externen Passthrough-Network Load Balancer mit zonalen NEG-Backends (Netzwerk-Endpunktgruppe) bereitstellen. Mit zonalen NEGs mit GCE_VM_IP
-Endpunkten können Sie Folgendes tun:
- Leiten Sie Pakete an die Nicht-
nic0
-Netzwerkschnittstellen von VM-Instanzen weiter, indem Sie eine Netzwerkschnittstelle einer VM-Instanz als Backend-Endpunkt darstellen. - Erstellen Sie einen flexiblen Satz von Backend-Endpunkten, bei denen ein Endpunkt an mehrere NEGs angehängt werden kann und jede NEG einen anderen, sich aber möglicherweise überlappenden Satz von Endpunkten haben kann.
Bevor Sie diese Anleitung durcharbeiten, sollten Sie sich mit Folgendem vertraut machen:
- Backend-Dienst-basierter externer Passthrough-Netzwerk-Load-Balancer
- Übersicht über zonale Netzwerk-Endpunktgruppen
Berechtigungen
Damit Sie diese Schritte ausführen können, müssen Sie Instanzen erstellen und ein Netzwerk in einem Projekt ändern können. Sie müssen entweder Inhaber oder Bearbeiter des Projekts sein oder alle folgenden Compute Engine-IAM-Rollen innehaben.
Aufgabe | Erforderliche Rolle |
---|---|
Netzwerke, Subnetze und Load-Balancer-Komponenten erstellen | Netzwerkadministrator |
Firewallregeln hinzufügen und löschen | Sicherheitsadministrator |
Instanzen erstellen | Compute-Instanzadministrator |
Weitere Informationen finden Sie auf den folgenden Seiten:
Einrichtung: Übersicht
In diesem Dokument erfahren Sie, wie Sie einen externen Passthrough-Network Load Balancer konfigurieren und testen, der zonale GCE_VM_IP
-NEG-Backends verwendet. Die Schritte in diesem Abschnitt zeigen, wie Sie folgende Elemente konfigurieren:
- Ein VPC-Netzwerk mit dem Namen
lb-network
und einem benutzerdefinierten Subnetz - Firewall-Regeln, die eingehende Verbindung zu Backend-VMs ermöglichen
- Vier VMs:
- VMs
vm-a1
undvm-a2
in Zoneus-west1-a
- VMs
vm-c1
undvm-c2
in Zoneus-west1-c
- VMs
- Zwei zonale Back-End-NEGs,
neg-a
in Zoneus-west1-a
undneg-c
in Zoneus-west1-c
. Jede NEG hat die folgenden Endpunkte:neg-a
enthält diese beiden Endpunkte:nic1
der VMvm-a1
, die durch ihre primäre interne IP-Adresse identifiziert wirdnic1
der VMvm-a2
, die durch ihre primäre interne IP-Adresse identifiziert wird
neg-c
enthält diese beiden Endpunkte:nic1
der VMvm-c1
, die durch ihre primäre interne IP-Adresse identifiziert wirdnic1
der VMvm-c2
, die durch ihre primäre interne IP-Adresse identifiziert wird
- Eine Client-VM (
vm-client
) inus-west1-a
zum Testen von Verbindungen - Die folgenden Load Balancer-Komponenten:
- Einen externen Back-End-Dienst in der Region
us-west1
, um die Verteilung von Verbindungen zu den zwei zonalen NEGs zu verwalten - Eine externe Weiterleitungsregel und eine IP-Adresse für das Frontend des Load-Balancers
- Einen externen Back-End-Dienst in der Region
Der externe Passthrough-Network-Load-Balancer ist ein regionaler Load-Balancer. Alle Load-Balancer-Komponenten (Back-End-VMs, Back-End-Dienst und Weiterleitungsregel) müssen sich in derselben Region befinden.
Die Architektur dieses Beispiels sieht so aus:
Hinweise
Installieren Sie die Google Cloud CLI. Eine vollständige Übersicht über das Tool finden Sie im Leitfaden zur gcloud CLI. Befehle für das Load-Balancing finden Sie in den Referenzen zur API und zur gcloud CLI.
Wenn Sie die gcloud CLI noch nicht ausgeführt haben, führen Sie zuerst den Befehl gcloud init
zur Authentifizierung aus.
Auf dieser Seite wird davon ausgegangen, dass Sie mit bash vertraut sind.
Netzwerk und Subnetze einrichten
In dem Beispiel auf dieser Seite wird ein VPC-Netzwerk im benutzerdefinierten Modus mit dem Namen lb-network
verwendet. Sie können ein VPC-Netzwerk im automatischen Modus verwenden, wenn Sie nur IPv4-Traffic verarbeiten möchten.
Für IPv6-Traffic ist jedoch ein Subnetz im benutzerdefinierten Modus erforderlich.
Für IPv6-Traffic ist außerdem ein Dual-Stack-Subnetz erforderlich (stack-type
ist auf IPv4_IPv6
gesetzt). Wenn Sie ein Dual-Stack-Subnetz in einem VPC-Netzwerk im benutzerdefinierten Modus erstellen, wählen Sie einen IPv6-Zugriffstyp für das Subnetz aus. In diesem Beispiel setzen wir den Parameter ipv6-access-type
des Subnetzes auf EXTERNAL
. Dies bedeutet, dass neuen VMs in diesem Subnetz sowohl externe IPv4-Adressen als auch externe IPv6-Adressen zugewiesen werden können. Den Weiterleitungsregeln können sowohl externe IPv4- als auch externe IPv6-Adressen zugewiesen werden.
Die Back-Ends und die für dieses Beispiel verwendeten Load-Balancer-Komponenten befinden sich in dieser Region und in diesem Subnetz:
- Region:
us-central1
- Subnetz:
lb-subnet
, mit primärem IPv4-Adressbereich10.1.2.0/24
. Obwohl Sie auswählen, welcher IPv4-Adressbereich im Subnetz konfiguriert wurde, wird der IPv6-Adressbereich automatisch zugewiesen. Google bietet einen (/64) IPv6-CIDR-Block mit fester Größe.
Gehen Sie so vor, um das Netzwerk und das Subnetz zu erstellen:
Console
Führen Sie die folgenden Schritte aus, um IPv4- und IPv6-Traffic zu unterstützen:
Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf.
Klicken Sie auf VPC-Netzwerk erstellen.
Geben Sie als Namen
lb-network
ein.Im Bereich Subnetze:
- Legen Sie Modus für Subnetzerstellung auf Benutzerdefiniert fest.
- Konfigurieren Sie im Abschnitt Neues Subnetz die folgenden Felder und klicken Sie auf Fertig:
- Name:
lb-subnet
- Region:
us-central1
- IP-Stack-Typ: IPv4 und IPv6 (Dual-Stack)
- IPv4-Bereich:
10.1.2.0/24
Sie können zwar einen IPv4-Adressbereich für das Subnetz konfigurieren, Sie können aber nicht den Bereich der IPv6-Adressen für das Subnetz auswählen. Google bietet einen (/64) IPv6-CIDR-Block mit fester Größe. - IPv6-Zugriffstyp: Extern
- Name:
Klicken Sie auf Erstellen.
Führen Sie die folgenden Schritte aus, um nur IPv4-Traffic zu unterstützen:
Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf.
Klicken Sie auf VPC-Netzwerk erstellen.
Geben Sie als Namen
lb-network
ein.Im Bereich Subnetze:
- Legen Sie Modus für Subnetzerstellung auf Benutzerdefiniert fest.
- Konfigurieren Sie im Abschnitt Neues Subnetz die folgenden Felder und klicken Sie auf Fertig:
- Name:
lb-subnet
- Region:
us-central1
- IP-Stack-Typ: IPv4 (Einzel-Stack)
- IPv4-Bereich:
10.1.2.0/24
- Name:
Klicken Sie auf Erstellen.
gcloud
Erstellen Sie das VPC-Netzwerk im benutzerdefinierten Modus:
gcloud compute networks create lb-network \ --subnet-mode=custom
Erstellen Sie im Netzwerk
lb-network
ein Subnetz für Back-Ends in der Regionus-central1
.Verwenden Sie für IPv4- und IPv6-Traffic den folgenden Befehl, um ein Dual-Stack-Subnetz zu erstellen:
gcloud compute networks subnets create lb-subnet \ --stack-type=IPV4_IPv6 \ --ipv6-access-type=EXTERNAL \ --network=lb-network \ --range=10.1.2.0/24 \ --region=us-central1
Verwenden Sie für nur IPv4-Traffic den folgenden Befehl:
gcloud compute networks subnets create lb-subnet \ --network=lb-network \ --range=10.1.2.0/24 \ --region=us-central1
VMs und Netzwerk-Endpunktgruppen erstellen
Um den regionalen Charakter von externen Passthrough-Network Load Balancern zu veranschaulichen, verwendet dieses Beispiel zwei zonale NEG-Backends in zwei verschiedenen Zonen. Für den Traffic wird über beide NEGs und über die Endpunkte innerhalb jedes NEGs Load-Balancing durchgeführt.
VMs erstellen
Für dieses Load Balancing-Szenario erstellen Sie vier VMs und installieren auf jeder Instanz einen Apache-Webserver. Der Webserver überwacht den TCP-Port 80. Apache ist standardmäßig für die Bindung an eine beliebige IP-Adresse konfiguriert. Externe Passthrough-Network Load Balancer liefern Pakete aus und behalten dabei die Ziel-IP bei.
Zur Vereinfachung der Anleitung führen diese Back-End-VMs Debian GNU/Linux 10 aus.
Konfigurieren Sie die Backend-VMs als Dual-Stack, um sowohl IPv4- als auch IPv6-Traffic zu verarbeiten. Setzen Sie den stack-type
der VM auf IPv4_IPv6
. Die VMs übernehmen außerdem die Einstellung ipv6-access-type
(im Beispiel EXTERNAL
) aus dem Subnetz. Weitere Informationen zu IPv6-Anforderungen finden Sie in der Übersicht über externen Passthrough-Network-Load-Balancer: Weiterleitungsregeln.
Wenn Sie vorhandene VMs als Back-Ends verwenden möchten, aktualisieren Sie die VMs mit dem Befehl gcloud compute instances network-interfaces update
auf Dual-Stack.
Instanzen, die als Backend-VMs für externe Passthrough-Network-Load-Balancer verwendet werden, müssen die entsprechende Linux-Gastumgebung, Windows-Gastumgebung oder andere Prozesse ausführen, die gleichwertige Funktionen bereitstellen.
Jede VM wird mit zwei Netzwerkschnittstellen nic0
und nic1
erstellt. In dieser Anleitung wird nic1
verwendet, das dem VPC-Netzwerk lb-network
und dem Subnetz lb-subnet
zugeordnet ist. Verwenden Sie dieses lb-network
-Netzwerk und dieses lb-subnet
-Subnetz, um später in diesem Verfahren die zonalen NEGs zu erstellen.
Console
VMs erstellen
Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.
Wiederholen Sie die nachstehenden Schritte, um vier VMs mit den folgenden Kombinationen aus Name und Zone zu erstellen.
- Name:
vm-a1
, Zone:us-west1-a
- Name:
vm-a2
, Zone:us-west1-a
- Name:
vm-c1
, Zone:us-west1-c
- Name:
vm-c2
, Zone:us-west1-c
- Name:
Klicken Sie auf Instanz erstellen.
Legen Sie den Namen wie zuvor angegeben fest.
Wählen Sie für Region die Option
us-west1
und dann eine Zone aus, wie zuvor angegeben.Achten Sie darauf, dass im Abschnitt Bootlaufwerk Debian GNU/Linux 12 (bookworm) als Bootlaufwerk-Optionen ausgewählt ist. Klicken Sie bei Bedarf auf Auswählen, um das Image zu ändern.
Klicken Sie auf Erweiterte Optionen und nehmen Sie die folgenden Änderungen vor:
- Klicken Sie auf Netzwerke und fügen Sie die folgenden Netzwerk-Tags hinzu:
lb-tag
Klicken Sie unter Netzwerkschnittstellen auf Netzwerkschnittstelle hinzufügen und nehmen Sie folgende Änderungen vor:
Für IPv4- und IPv6-Back-Ends:
- Netzwerk:
lb-network
- Subnetz:
lb-subnet
- IP-Stacktyp:
IPv4 and IPv6 (dual-stack)
- Primäre interne IP: sitzungsspezifisch (automatisch)
- Externe IPv4-Adresse: sitzungsspezifisch (automatisch)
- Externe IPv6-Adresse: Automatisch zuweisen
Für nur IPv4-Backends:
- Netzwerk:
lb-network
- Subnetz:
lb-subnet
- IP-Stacktyp:
IPv4 (single-stack)
- Primäre interne IP: sitzungsspezifisch (automatisch)
- Externe IP: sitzungsspezifisch
Klicken Sie dann auf Fertig.
- Netzwerk:
Klicken Sie auf Verwaltung. Kopieren Sie den folgenden Skriptinhalt und fügen Sie ihn im Feld Startskript ein. Der Skriptinhalt ist für alle vier VMs gleich:
#! /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 Netzwerke und fügen Sie die folgenden Netzwerk-Tags hinzu:
Klicken Sie auf Erstellen.
gcloud
Erstellen Sie die vier VMs, indem Sie den folgenden Befehl viermal ausführen und die nachstehenden vier Kombinationen für [VM-NAME]
und [ZONE]
verwenden. Der Skriptinhalt ist für alle vier VMs identisch.
- VM_NAME:
vm-a1
und ZONE:us-west1-a
- VM_NAME:
vm-a2
und ZONE:us-west1-a
- VM_NAME:
vm-c1
und ZONE:us-west1-c
- VM_NAME:
vm-c2
und ZONE:us-west1-c
Verwenden Sie den folgenden Befehl, um IPv4- und IPv6-Traffic zu verarbeiten.
gcloud compute instances create VM_NAME \ --zone=ZONE \ --image-family=debian-12 \ --image-project=debian-cloud \ --tags=lb-tag \ --network-interface=network=default,subnet=default,stack_type=IPv4_IPv6,--ipv6-network-tier=PREMIUM \ --network-interface=network=lb-network,subnet=lb-subnet,stack_type=IPv4_IPv6,--ipv6-network-tier=PREMIUM \ --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'
Verwenden Sie den folgenden Befehl, um nur IPv4-Traffic zu verarbeiten.
gcloud compute instances create VM_NAME \ --zone=ZONE \ --image-family=debian-12 \ --image-project=debian-cloud \ --tags=lb-tag \ --network-interface=network=default,subnet=default,stack_type=IPv4_ONLY \ --network-interface=network=lb-network,subnet=lb-subnet,stack_type=IPv4_ONLY \ --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'
Zonale NEGs mit GCE_VM_IP
-Endpunkten erstellen
Die NEGs müssen in den Zonen erstellt werden, in denen sich die im vorherigen Schritt erstellten VMs befinden. In diesem Beispiel wird auch die NEG im VPC-Netzwerk lb-network
und im Subnetz lb-subnet
erstellt, die nic1
der im vorherigen Schritt erstellten VMs zugeordnet sind. Daher befinden sich die Endpunkte der NEG auf nic1
der VMs.
Console
So erstellen Sie eine zonale Netzwerk-Endpunktgruppe:
- Gehen Sie in der Google Cloud Console zur Seite "Netzwerk-Endpunktgruppen".
Zur Seite "Netzwerk-Endpunktgruppen" - Klicken Sie auf Netzwerk-Endpunktgruppe erstellen.
- Geben Sie einen Namen für die zonale NEG
neg-a
ein. - Wählen Sie den Typ der Netzwerk-Endpunktgruppe aus: Netzwerk-Endpunktgruppe (zonal).
- Wählen Sie das Netzwerk aus: lb-network.
- Wählen Sie das Subnetz aus: lb-subnet
- Wählen Sie die Zone aus: us-west1-a
- Klicken Sie auf Erstellen.
- Wiederholen Sie diese Schritte, um eine zweite zonale NEG mit dem Namen
neg-c
in der Zone us-west1-c zu erstellen.
Fügen Sie der zonalen NEG Endpunkte hinzu:
- Gehen Sie in der Google Cloud Console zur Seite "Netzwerk-Endpunktgruppen".
Zur Netzwerk-Endpunktgruppe - Klicken Sie auf den Namen der im vorherigen Schritt erstellten Netzwerk-Endpunktgruppe (neg-a). Die Seite Netzwerk-Endpunktgruppendetails wird angezeigt.
Klicken Sie im Bereich Netzwerkendpunkte in dieser Gruppe auf Netzwerkendpunkt hinzufügen. Die Seite Netzwerk-Endpunkt hinzufügen wird angezeigt.
- Klicken Sie auf VM-Instanz und wählen Sie vm-a1 aus, um dessen interne IP-Adressen als Netzwerkendpunkte hinzuzufügen.
- Klicken Sie auf Erstellen.
- Klicken Sie noch einmal auf Netzwerkendpunkt hinzufügen und wählen Sie unter VM-Instanz vm-a2 aus.
- Klicken Sie auf Erstellen.
Klicken Sie auf den Namen der zweiten Netzwerk-Endpunktgruppe, die im vorherigen Schritt erstellt wurde (neg-c). Die Seite Netzwerk-Endpunktgruppendetails wird angezeigt.
Klicken Sie im Bereich Netzwerkendpunkte in dieser Gruppe auf Netzwerkendpunkt hinzufügen. Die Seite Netzwerk-Endpunkt hinzufügen wird angezeigt.
- Klicken Sie auf VM-Instanz und wählen Sie vm-c1 aus, um die internen IP-Adressen als Netzwerkendpunkte hinzuzufügen.
- Klicken Sie auf Erstellen.
- Klicken Sie noch einmal auf Netzwerkendpunkt hinzufügen und wählen Sie unter VM-Instanz vm-c2 aus.
- Klicken Sie auf Erstellen.
gcloud
Erstellen Sie mit dem Befehl
gcloud compute network-endpoint-groups create
eine zonaleGCE_VM_IP
-NEG mit dem Namenneg-a
inus-west1-a
:gcloud compute network-endpoint-groups create neg-a \ --network-endpoint-type=gce-vm-ip \ --zone=us-west1-a \ --network=lb-network \ --subnet=lb-subnet
Fügen Sie Endpunkte zu
neg-a
hinzu:gcloud compute network-endpoint-groups update neg-a \ --zone=us-west1-a \ --add-endpoint='instance=vm-a1' \ --add-endpoint='instance=vm-a2'
Erstellen Sie mit dem Befehl
gcloud compute network-endpoint-groups create
eine zonaleGCE_VM_IP
-NEG mit dem Namenneg-c
inus-west1-c
:gcloud compute network-endpoint-groups create neg-c \ --network-endpoint-type=gce-vm-ip \ --zone=us-west1-c \ --network=lb-network \ --subnet=lb-subnet
Fügen Sie Endpunkte zu
neg-c
hinzu:gcloud compute network-endpoint-groups update neg-c \ --zone=us-west1-c \ --add-endpoint='instance=vm-c1' \ --add-endpoint='instance=vm-c2'
Firewallregeln konfigurieren
Erstellen Sie Firewallregeln, die externen Traffic (einschließlich Systemdiagnoseprüfungen) zulassen, um die Backend-Instanzen zu erreichen.
In diesem Beispiel wird eine Firewallregel erstellt, die den TCP-Traffic aus allen Quellbereichen zulässt, um Ihre Backend-Instanzen auf Port 80 zu erreichen. Wenn Sie separate Firewallregeln speziell für die Systemdiagnoseprüfungen erstellen möchten, verwenden Sie die Quell-IP-Adressbereiche, die unter Übersicht über Systemdiagnosen: Prüfungs-IP-Bereiche und Firewallregeln dokumentiert sind.
Console
Rufen Sie in der Google Cloud Console die Seite Firewall auf.
Zum Zulassen von IPv4-Traffic führen Sie die folgenden Schritte aus:
- Klicken Sie auf Firewallregel erstellen.
- Geben Sie einen Namen ein:
allow-network-lb-ipv4
. - Wählen Sie für Netzwerk die Option lb-network aus.
- Wählen Sie unter Ziele die Option Angegebene Ziel-Tags aus.
- Geben Sie im Feld Zieltags
lb-tag
ein. - Wählen Sie unter Quellfilter die Option IPv4-Bereiche aus.
- Legen Sie für Quell-IPv4-Bereiche den Wert
0.0.0.0/0
fest. Dadurch wird IPv4-Traffic von einer beliebigen Quelle zugelassen. Dadurch können auch die Systemdiagnoseprüfungen von Google die Backend-Instanzen erreichen. - Wählen Sie unter Angegebene Protokolle und Ports die Option TCP aus und geben Sie
80
ein. - Klicken Sie auf Erstellen.
Zum Zulassen von IPv6-Traffic führen Sie die folgenden Schritte aus:
- Klicken Sie noch einmal auf Firewallregel erstellen.
- Geben Sie einen Namen ein:
allow-network-lb-ipv6
. - Wählen Sie für Netzwerk die Option lb-network aus.
- Wählen Sie unter Ziele die Option Angegebene Ziel-Tags aus.
- Geben Sie im Feld Zieltags
lb-tag
ein. - Wählen Sie für Quellfilter die Option IPv6-Bereiche aus.
- Legen Sie für Quell-IPv6-Bereiche den Wert
::/0
fest. Dadurch wird IPv6-Traffic von einer beliebigen Quelle zugelassen. Dadurch können auch die Systemdiagnoseprüfungen von Google die Backend-Instanzen erreichen. - Wählen Sie unter Angegebene Protokolle und Ports die Option TCP aus und geben Sie
80
ein. - Klicken Sie auf Erstellen.
gcloud
Führen Sie den folgenden Befehl aus, um IPv4-Traffic zuzulassen:
gcloud compute firewall-rules create allow-network-lb-ipv4 \ --network=lb-network \ --target-tags=lb-tag \ --allow=tcp:80 \ --source-ranges=0.0.0.0/0
Führen Sie den folgenden Befehl aus, um IPv6-Traffic zuzulassen:
gcloud compute firewall-rules create allow-network-lb-ipv6 \ --network=lb-network \ --target-tags=lb-tag \ --allow=tcp:80 \ --source-ranges=::/0
Load-Balancer konfigurieren
Richten Sie als Nächstes den Load-Balancer ein.
Durch entsprechende Konfiguration des Load Balancers empfangen Ihre VMs Pakete für die von Ihnen konfigurierte statische externe IP-Adresse. Wenn Sie ein von Compute Engine bereitgestelltes Image verwenden, werden die Instanzen automatisch für diese IP-Adresse konfiguriert. Wenn Sie ein anderes Image verwenden, müssen Sie diese Adresse als Alias auf eth1
oder als Loopback auf den einzelnen Instanzen konfigurieren.
Folgen Sie der Anleitung, um den Load-Balancer einzurichten.
Console
Konfiguration starten
Rufen Sie in der Google Cloud Console die Seite Load-Balancing auf.
- Klicken Sie auf Load-Balancer erstellen.
- Wählen Sie unter Typ des Load Balancers die Option Network Load Balancer (TCP/UDP/SSL) aus und klicken Sie auf Weiter.
- Wählen Sie für Proxy oder Passthrough die Option Passthrough-Load Balancer aus und klicken Sie auf Weiter.
- Wählen Sie für Öffentlich oder intern die Option Öffentlich (extern) aus und klicken Sie auf Weiter.
- Klicken Sie auf Konfigurieren.
Backend-Konfiguration
- Geben Sie auf der Seite Externen Passthrough-Network Load Balancer erstellen den Namen
network-lb-zonal-neg
für den neuen Load Balancer ein. - Wählen Sie bei Region die Option
us-west1
aus. - Wählen Sie unter Back-End-Typ die Option Zonale Netzwerk-Endpunktgruppe aus.
- Klicken Sie auf Backend-Konfiguration. Der zuvor für den Load-Balancer eingegebene Name wird angezeigt, kann aber nicht geändert werden.
- On the Backend configuration page, make the following changes:
- Wählen Sie in der Liste Netzwerk-Endpunktgruppe
neg-a
aus und klicken Sie dann auf Fertig. - Klicken Sie auf Backend hinzufügen und wiederholen Sie diesen Schritt, um
neg-c
hinzuzufügen. - Für Systemdiagnose wählen Sie Systemdiagnose erstellen oder Weitere Systemdiagnose erstellen aus und geben dann die folgenden Informationen ein:
- Name:
tcp-health-check
- Protokoll:
TCP
- Port:
80
- Name:
- Klicken Sie auf Speichern.
- Wählen Sie in der Liste Netzwerk-Endpunktgruppe
- Überprüfen Sie, bevor Sie fortfahren, ob sich neben Backend-Konfiguration ein blaues Häkchen befindet.
Frontend-Konfiguration
- Klicken Sie auf Frontend-Konfiguration.
- Geben Sie für Name
netlb-forwarding-rule
ein. - Führen Sie die folgenden Schritte aus, um IPv4-Traffic zu verarbeiten:
- Setzen Sie die IP-Version auf IPv4.
- Klicken Sie unter IP auf das Drop-down-Menü und wählen Sie IP-Adresse erstellen aus.
- Geben Sie auf der Seite Neue statische IP-Adresse reservieren unter Name den Wert
netlb-ipv4-address
ein. - Klicken Sie auf Reservieren.
- Geben Sie auf der Seite Neue statische IP-Adresse reservieren unter Name den Wert
- Wählen Sie für Ports die Option Einzeln aus. Geben Sie als Portnummer
80
ein. - Klicken Sie auf Fertig.
Führen Sie die folgenden Schritte aus, um IPv6-Traffic zu verarbeiten:
- Setzen Sie die IP-Version auf IPv4.
- Wählen Sie für Subnetzwerk die Option lb-subnet aus.
- Klicken Sie unter IPv6-Bereich auf das Drop-down-Menü und wählen Sie IP-Adresse erstellen aus.
- Geben Sie auf der Seite Neue statische IP-Adresse reservieren unter Name den Wert
netlb-ipv6-address
ein. - Klicken Sie auf Reservieren.
- Geben Sie auf der Seite Neue statische IP-Adresse reservieren unter Name den Wert
- Wählen Sie für Ports die Option Einzeln aus. Geben Sie als Portnummer
80
ein. - Klicken Sie auf Fertig.
Bei erfolgreicher Einrichtung wird links neben Frontend-Konfiguration ein blauer Kreis mit einem Häkchen angezeigt.
Konfiguration prüfen
- Klicken Sie auf Prüfen und abschließen.
- Prüfen Sie die Konfigurationseinstellungen des Load-Balancers.
- Optional: Klicken Sie auf Entsprechender Code, um die REST API-Anfrage aufzurufen, die zum Erstellen des Load-Balancers verwendet wird.
Klicken Sie auf Erstellen.
Auf der Load-Balancing-Seite sollte in der Spalte „Backend“ ein grünes Häkchen für den neuen Load-Balancer angezeigt werden. Dies weist darauf hin, dass der neue Load-Balancer fehlerfrei ist.
gcloud
Reservieren einer statischen externen IP-Adresse.
Für IPv4-Traffic: Erstellen Sie eine statische externe IPv4-Adresse für den Load-Balancer.
gcloud compute addresses create netlb-ipv4-address \ --region=us-west1
Für IPv6-Traffic: Erstellen Sie einen statischen externen IPv6-Adressbereich für den Load-Balancer. Das verwendete Subnetz muss ein Dual-Stack-Subnetz mit einem externen IPv6-Bereich sein.
gcloud compute addresses create netlb-ipv6-address \ --region=us-west1 \ --subnet=lb-subnet \ --ip-version=IPV6 \ --endpoint-type=NETLB
TCP-Systemdiagnose erstellen
gcloud compute health-checks create tcp tcp-health-check \ --region=us-west1 \ --port=80
Erstellen Sie einen Back-End-Dienst.
gcloud compute backend-services create networklb-backend-service \ --protocol=TCP \ --health-checks=tcp-health-check \ --health-checks-region=us-west1 \ --region=us-west1
Fügen Sie dem Back-End-Dienst die beiden zonalen NEGs
neg-a
undneg-c
hinzu:gcloud compute backend-services add-backend networklb-backend-service \ --region=us-west1 \ --network-endpoint-group=neg-a \ --network-endpoint-group-zone=us-west1-a
gcloud compute backend-services add-backend networklb-backend-service \ --region=us-west1 \ --network-endpoint-group=neg-c \ --network-endpoint-group-zone=us-west1-c
Erstellen Sie die Weiterleitungsregeln, je nachdem, ob Sie IPv4- oder IPv6-Traffic verarbeiten möchten. Erstellen Sie beide Weiterleitungsregeln, um beide Arten von Traffic zu verarbeiten.
Für IPv4-Traffic: Erstellen Sie eine Weiterleitungsregel, um eingehenden TCP-Traffic an den Backend-Dienst weiterzuleiten. Verwenden Sie die in Schritt 1 reservierte IPv4-Adresse als statische externe IP-Adresse des Load-Balancers.
gcloud compute forwarding-rules create forwarding-rule-ipv4 \ --load-balancing-scheme=EXTERNAL \ --region=us-west1 \ --ports=80 \ --address=netlb-ipv4-address \ --backend-service=networklb-backend-service
Für IPv6-Traffic: Erstellen Sie eine Weiterleitungsregel für den IPv6-Traffic. Verwenden Sie den in Schritt 1 reservierten IPv6-Adressbereich als statische externe IP-Adresse des Load-Balancers. Das verwendete Subnetz muss ein Dual-Stack-Subnetz mit einem externen IPv6-Subnetzbereich sein.
gcloud compute forwarding-rules create forwarding-rule-ipv6 \ --load-balancing-scheme=EXTERNAL \ --region=us-west1 \ --network-tier=PREMIUM \ --ip-version=IPV6 \ --subnet=lb-subnet \ --address=netlb-ipv6-address \ --ports=80 \ --backend-service=networklb-backend-service
Load-Balancer testen
Nachdem Sie den Load-Balancing-Dienst konfiguriert haben, können Sie Traffic an die externe IP-Adresse des Load-Balancers senden und den Traffic an die Backend-Instanzen verteilen.
Externe IP-Adresse des Load-Balancers ermitteln
Console
Gehen Sie auf der Load-Balancing-Seite Erweitert zum Tab Weiterleitungsregeln.
Suchen Sie die vom Load-Balancer verwendete Weiterleitungsregel.
Notieren Sie die in der Spalte IP-Adresse angegebene externe IP-Adresse.
gcloud: IPv4
Geben Sie den folgenden Befehl ein, um die externe IPv4-Adresse der vom Load-Balancer verwendeten Weiterleitungsregel network-lb-forwarding-rule
aufzurufen:
gcloud compute forwarding-rules describe forwarding-rule-ipv4 \ --region=us-west1
gcloud: IPv6
Geben Sie den folgenden Befehl ein, um die externe IPv6-Adresse der vom Load-Balancer verwendeten Weiterleitungsregel network-lb-forwarding-rule
aufzurufen:
gcloud compute forwarding-rules describe forwarding-rule-ipv6 \ --region=us-west1
Traffic an den Load-Balancer senden
Stellen Sie mit curl
Webanfragen an den Load-Balancer, um dessen IP-Adresse zu kontaktieren.
Führen Sie von Clients mit IPv4-Verbindung den folgenden Befehl aus:
$ while true; do curl -m1 IPV4_ADDRESS; done
Führen Sie von Clients mit IPv6-Verbindung den folgenden Befehl aus:
$ while true; do curl -m1 http://IPV6_ADDRESS; done
Wenn die zugewiesene IPv6-Adresse beispielsweise
[2001:db8:1:1:1:1:1:1/96]:80
lautet, sollte der Befehl so aussehen:$ while true; do curl -m1 http://[2001:db8:1:1:1:1:1:1]:80; done
Beachten Sie den vom Befehl curl
zurückgegebenen Text. Der Name der Back-End-VM, die die Antwort generiert, wird in diesem Text angezeigt. Beispiel: Page served
from: VM_NAME
Die Antwort des Befehls curl
wechselt nach dem Zufallsprinzip zwischen den drei Instanzen. Wenn anfangs keine Antwort zurückgegeben wird, müssen Sie vor einem erneuten Versuch unter Umständen etwa 30 Sekunden warten, bis die Konfiguration vollständig geladen ist und die Instanzen als fehlerfrei markiert werden:
Zusätzliche Konfigurationsoptionen
Um den externen Passthrough-Network Load Balancer weiter anzupassen, können Sie die Sitzungsaffinität und die Trafficsteuerung konfigurieren und eine Failover-Richtlinie oder eine Verbindungs-Tracking-Richtlinie einrichten. Diese Aufgaben sind optional und können in beliebiger Reihenfolge ausgeführt werden. Eine Anleitung dazu finden Sie unter Zusätzliche Konfigurationsoptionen.
IPv6-Weiterleitungsregel mit BYOIP erstellen
Der in den vorherigen Schritten erstellte Load-Balancer wurde mit Weiterleitungsregeln mit IP version
als IPv4
oder IPv6
konfiguriert. In diesem Abschnitt wird beschrieben, wie Sie eine IPv6-Weiterleitungsregel mit BYOIP-Adressen (Bring your own IP addresses) erstellen.
Mit BYOIP können Sie Ihre eigenen öffentlichen IPv6-Adressen für Google Cloud-Ressourcen bereitstellen und verwenden. Weitere Informationen finden Sie unter Eigene IP-Adressen verwenden.
Bevor Sie eine IPv6-Weiterleitungsregel mit BYOIP-Adressen konfigurieren, müssen Sie die folgenden Schritte ausführen:
- Öffentlich beworbenes IPv6-Präfix erstellen
- Öffentliche delegierte Präfixe erstellen
- IPv6-Unterpräfixe erstellen
- Präfix ankündigen
So erstellen Sie eine neue Weiterleitungsregel:
Console
Rufen Sie in der Google Cloud Console die Seite Load-Balancing auf.
- Klicken Sie auf den Namen des Load-Balancers, den Sie ändern möchten.
- Klicken Sie auf Bearbeiten.
- Klicken Sie auf Frontend-Konfiguration.
- Klicken Sie auf Front-End-IP und Port hinzufügen.
- Geben Sie im Abschnitt Neue Frontend-IP-Adresse und neuer Frontend-Port Folgendes an:
- Das Protokoll ist TCP.
- Wählen Sie im Feld IP-Version die Option IPv6 aus.
- Wählen Sie im Feld Quelle des IPv6-Bereichs die Option BYOIP aus.
- Wählen Sie in der Liste IP-Sammlung ein Unterpräfix aus, das Sie in den vorherigen Schritten erstellt haben und für das die Option „Weiterleitungsregel“ aktiviert ist.
- Geben Sie im Feld IPv6-Bereich den IPv6-Adressbereich ein. Der IPv6-Adressbereich muss den Spezifikationen für IPv6-Unterpräfixe entsprechen.
- Geben Sie in das Feld Ports eine Portnummer ein.
- Klicken Sie auf Fertig.
- Klicken Sie auf Aktualisieren.
Google Cloud CLI
Erstellen Sie die Weiterleitungsregel mit dem Befehl gcloud compute forwarding-rules create
:
gcloud compute forwarding-rules create FWD_RULE_NAME \ --load-balancing-scheme EXTERNAL \ --ip-protocol PROTOCOL \ --ports ALL \ --ip-version IPV6 \ --region REGION_A \ --address IPV6_CIDR_RANGE \ --backend-service BACKEND_SERVICE \ --ip-collection PDP_NAME
Ersetzen Sie dabei Folgendes:
FWD_RULE_NAME
: der Name der WeiterleitungsregelPROTOCOL
: das IP-Protokoll für die Weiterleitungsregel. Standardmäßig istTCP
festgelegt. Das IP-Protokoll kannTCP
,UDP
oderL3_DEFAULT
sein.REGION_A
: Region für die WeiterleitungsregelIPV6_CIDR_RANGE
: der IPv6-Adressbereich, den die Weiterleitungsregel bereitstellt. Der IPv6-Adressbereich muss den Spezifikationen für IPv6-Unterpräfixe entsprechen.BACKEND_SERVICE
: der Name des Backend-Dienstes.PDP_NAME
: der Name des öffentlich delegierten Präfixes. Die PDP muss ein Unterpräfix im Modus EXTERNAL_IPV6_FORWARDING_RULE_CREATION sein.
Nächste Schritte
- Informationen zum Migrieren eines externen Passthrough-Network-Load-Balancers von einem Zielpool-Backend auf einen regionalen Backend-Dienst finden Sie unter Externe Passthrough-Network-Load-Balancer von Zielpools zu Backend-Diensten migrieren.
- Informationen zum Konfigurieren eines externen Passthrough-Network Load Balancers für mehrere IP-Protokolle (mit Unterstützung von IPv4- und IPv6-Traffic) finden Sie unter Externen Passthrough-Network Load Balancer für mehrere IP-Protokolle einrichten.
- Informationen zum Konfigurieren des erweiterten Netzwerk-DDoS-Schutzes für einen externen Passthrough-Netzwerk-Load-Balancer mithilfe von Google Cloud Armor finden Sie unter Erweiterten Netzwerk-DDoS-Schutz konfigurieren.
- Informationen zum Löschen von Ressourcen finden Sie unter Load-Balancer-Einrichtung bereinigen.