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:
- Pakete an die Nicht-
nic0
-Netzwerkschnittstellen von VM-Instanzen (virtuelle Maschinen) weiterleiten, 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:
- Zonale NEGs in der Übersicht zum Backend-Dienst-basierten externen Passthrough-Network-Load-Balancer
- Übersicht über zonale Netzwerk-Endpunktgruppen
Berechtigungen
Damit Sie dieser Anleitung folgen können, müssen Sie Instanzen erstellen und ein Netzwerk in einem Projekt ändern. 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 | Compute-Netzwerkadministrator (roles/compute.networkAdmin )
|
Firewallregeln setzen und löschen | Compute-Sicherheitsadministrator (roles/compute.securityAdmin )
|
Instanzen erstellen | Compute-Instanzadministrator (roles/compute.instanceAdmin )
|
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 folgende 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. Wenn Sie nur IPv4-Traffic verarbeiten möchten, können Sie ein VPC-Netzwerk im automatischen Modus verwenden.
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 auch 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-Adressbereich 10.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 Name
lb-network
ein.Legen Sie Modus für Subnetzerstellung auf Benutzerdefiniert fest.
Klicken Sie im Bereich Subnetze auf Subnetz hinzufügen und konfigurieren Sie die folgenden Felder:
- 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
- Klicken Sie auf Fertig.
- 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 Name
lb-network
ein.Legen Sie Modus für Subnetzerstellung auf Benutzerdefiniert fest.
Klicken Sie im Bereich Subnetze auf Subnetz hinzufügen und konfigurieren Sie die folgenden Felder:
- 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 erstellt: nic0
und nic1
. 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 lb-subnet
-Subnetz, um die zonalen NEGs später in diesem Verfahren 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 die Region
us-west1
aus und legen Sie die Zone wie zuvor angegeben fest.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 Bild 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 die folgenden Änderungen vor:
Für IPv4- und IPv6-Backends:
- 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: sitzungsspezifisch (automatisch)
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
undZONE
:us-west1-a
VM_NAME
:vm-a2
undZONE
:us-west1-a
VM_NAME
:vm-c1
undZONE
:us-west1-c
VM_NAME
:vm-c2
undZONE
: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 das NEG auch im VPC-Netzwerk lb-network
und im Subnetz lb-subnet
erstellt, die mit nic1
der im vorherigen Schritt erstellten VMs verknüpft sind. Die Endpunkte der NEG befinden sich daher auf nic1
der VMs.
Console
So erstellen Sie eine zonale Netzwerk-Endpunktgruppe:
- Rufen Sie in der Google Cloud Console die Seite „Netzwerk-Endpunktgruppen“ auf.
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:
- Rufen Sie in der Google Cloud Console die Seite „Netzwerk-Endpunktgruppen“ auf.
Zur Netzwerk-Endpunktgruppe - Klicken Sie auf den Namen der ersten Netzwerk-Endpunktgruppe, die im vorherigen Schritt erstellt wurde (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 die Option 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 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 die Option 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 Ziel-Tags
lb-tag
ein. - Wählen Sie für 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 für 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 Ziel-Tags
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 für 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 unten, 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 in der Liste Region
us-west1
aus. - Klicken Sie auf Backend-Konfiguration. Der zuvor für den Load-Balancer eingegebene Name wird angezeigt, kann aber nicht geändert werden.
- Wählen Sie in der Liste Backend-Typ die Option Zonale Netzwerk-Endpunktgruppe aus.
- Führen Sie auf der Seite Back-End-Konfiguration die folgenden Schritte aus:
- Klicken Sie in der Liste Systemdiagnose auf Systemdiagnose erstellen und geben Sie dann die folgenden Informationen ein:
- Name:
tcp-health-check
- Protokoll: TCP
- Port:
80
- Name:
- Klicken Sie auf Erstellen.
- 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. - Klicken Sie auf Speichern.
- Klicken Sie in der Liste Systemdiagnose auf Systemdiagnose erstellen und geben Sie dann die folgenden Informationen ein:
- Ü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 für Name den Wert
netlb-ipv4-address
ein. - Klicken Sie auf Reservieren.
- Geben Sie auf der Seite Neue statische IP-Adresse reservieren für 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 für Name den Wert
netlb-ipv6-address
ein. - Klicken Sie auf Reservieren.
- Geben Sie auf der Seite Neue statische IP-Adresse reservieren für 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, sieht der Befehl so aus: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 finden Sie unter Zusätzliche Konfigurationsoptionen.
IPv6-Weiterleitungsregel mit BYOIP erstellen
Der in den vorherigen Schritten erstellte Load Balancer ist mit Weiterleitungsregeln konfiguriert, bei denen IP version
als IPv4
oder IPv6
festgelegt ist. 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:
- Wählen Sie das gewünschte Protokoll aus.
- 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 in den vorherigen Schritten mit aktivierter Option für Weiterleitungsregeln erstellt wurde.
- Geben Sie im Feld IPv6-Bereich den IPv6-Adressbereich ein. Das Präfix des IPv6-Adressbereichs muss mit der zuweisbaren Präfixlänge übereinstimmen, die vom zugehörigen Unterpräfix angegeben wird.
- Geben Sie im Feld Ports eine Portnummer ein.
- Klicken Sie auf Fertig.
- Klicken Sie auf Aktualisieren.
gcloud
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 Folgendes:
FWD_RULE_NAME
: der Name der WeiterleitungsregelPROTOCOL
: das IP-Protokoll für die Weiterleitungsregel. Der Standardwert istTCP
. Das IP-Protokoll kann eines der folgenden sein:TCP
,UDP
oderL3_DEFAULT
.REGION_A
: Region für die WeiterleitungsregelIPV6_CIDR_RANGE
: Der IPv6-Adressbereich, für den die Weiterleitungsregel gilt. Das Präfix des IPv6-Adressbereichs muss mit der zuweisbaren Präfixlänge übereinstimmen, die vom zugehörigen Unterpräfix angegeben wird.BACKEND_SERVICE
: der Name des Backend-Dienstes.PDP_NAME
: der Name des öffentlich delegierten Präfixes. Das PDP muss ein untergeordnetes Prä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-Network-Load-Balancer mithilfe von Cloud Armor finden Sie unter Erweiterten Netzwerk-DDoS-Schutz konfigurieren.
- Informationen zum Löschen von Ressourcen finden Sie unter Load-Balancer-Einrichtung bereinigen.