In dieser Anleitung wird das Erstellen einer Bereitstellung eines externen Passthrough-Network-Load-Balancers mithilfe eines regionalen Backend-Dienstes erläutert. In diesem Beispiel wird ein externer Passthrough-Network-Load-Balancer erstellt, der entweder TCP- oder UDP-Traffic unterstützt. Wenn Sie einen externen Passthrough-Netzwerk-Load-Balancer erstellen möchten, mit dem TCP-, UDP-, ESP-, GRE-, ICMP- und ICMPv6-Traffic (nicht nur TCP oder UDP) verteilt wird, finden Sie weitere Informationen unter Externen Passthrough-Netzwerk-Load-Balancer für mehrere IP-Protokolle einrichten.
In diesem Beispiel verwenden wir den Load-Balancer, um TCP-Traffic auf Backend-VMs in zwei zonalen verwalteten Instanzgruppen in der Region us-central1
zu verteilen. Für die Region us-central1
können Sie auch eine einzelne regionale verwaltete Instanzgruppe verwenden.
In diesem Szenario wird der TCP-Traffic auf fehlerfreie Instanzen verteilt. Für dieses Beispiel wurden TCP-Systemdiagnosen so konfiguriert, dass Traffic nur an fehlerfreie Instanzen gesendet wird. Beachten Sie, dass TCP-Systemdiagnosen bei einem Back-End-Dienst-basierten Load-Balancer unterstützt werden. Pool-basierte Load-Balancer können nur Legacy-HTTP-Systemdiagnosen verwenden.
In diesem Beispiel wird ein Load-Balancing für TCP-Traffic festgelegt. Sie können jedoch Backend-Dienst-basierte externe Passthrough-Network-Load-Balancer verwenden, um Load-Balancing für TCP-, UDP-, ESP-, GRE-, ICMP- und ICMPv6-Traffic auszuführen.
Der externe Passthrough-Network-Load-Balancer ist ein regionaler Load-Balancer. Alle Load-Balancer-Komponenten (Backend-VMs, Backend-Dienst und Weiterleitungsregel) müssen sich in derselben Region befinden.
Vorbereitung
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 Google Cloud CLI noch nicht ausgeführt haben, führen Sie zuerst gcloud init
zur Authentifizierung aus.
In dieser Anleitung 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.
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
Zonale verwaltete Instanzgruppen erstellen
Für dieses Load-Balancing-Szenario erstellen Sie zwei zonal verwaltete Compute Engine-Instanzgruppen und installieren auf jeder Instanz einen Apache-Webserver.
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.
Instanzen einrichten
Console
eine Instanzvorlage erstellen Rufen Sie in der Google Cloud Console die Seite Instanzvorlagen auf.
- Klicken Sie auf Instanzvorlage erstellen.
- Geben Sie für Name
ig-us-template
ein. - Achten Sie im Abschnitt Bootlaufwerk darauf, dass das Image auf ein Debian-Image wie Debian GNU/Linux 10 (Buster) festgelegt ist. Diese Anleitungen verwenden Befehle, die nur für Debian verfügbar sind, z. B.
apt-get
. - Klicken Sie auf Erweiterte Optionen.
- Klicken Sie auf Netzwerke.
- Geben Sie bei Netzwerk-Tags den Wert
lb-tag
ein. - Klicken Sie unter Netzwerkschnittstellen auf die Schnittstelle Standard und konfigurieren Sie die folgenden Felder:
- Netzwerk:
lb-network
- Subnetzwerk:
lb-subnet
- Netzwerk:
- Klicken Sie auf Fertig.
- Geben Sie bei Netzwerk-Tags den Wert
Klicken Sie auf Verwaltung und kopieren Sie das folgende Skript in das Feld Startskript.
#! /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.
Erstellen Sie eine verwaltete Instanzgruppe. Rufen Sie in der Google Cloud Console die Seite Instanzgruppen auf.
- Klicken Sie auf Instanzgruppe erstellen.
- Wählen Sie Neue verwaltete Instanzgruppe (zustandslos) aus. Weitere Informationen finden Sie unter Zustandslose oder zustandsorientierte MIGs.
- Geben Sie für Name
ig-us-1
ein. - Wählen Sie bei Instanzvorlage die Option
ig-us-template
aus. - Wählen Sie für Standort die Option Einzelne Zone aus.
- Wählen Sie bei Region die Option
us-central1
aus. - Wählen Sie bei Zone die Option
us-central1-a
aus. Geben Sie an, wie viele Instanzen die Gruppe umfassen soll.
Geben Sie für dieses Beispiel im Abschnitt Autoscaling die folgenden Optionen an:
- Wählen Sie für Autoscaling-Modus
Off:do not autoscale
aus. - Geben Sie für Maximale Anzahl von Instanzen den Wert
2
ein.
- Wählen Sie für Autoscaling-Modus
Klicken Sie auf Erstellen.
Wiederholen Sie die vorherigen Schritte, um eine zweite verwaltete Instanzgruppe in der Zone
us-central1-c
mit den folgenden Spezifikationen zu erstellen:- Name:
ig-us-2
- Zone:
us-central1-c
- Instanzvorlage: Verwenden Sie die Vorlage
ig-us-template
aus dem vorherigen Abschnitt.
- Name:
gcloud
Bei den gcloud
-Anleitungen in diesem Handbuch wird davon ausgegangen, dass Sie Cloud Shell oder eine andere Umgebung verwenden, in der Bash installiert ist.
Erstellen Sie mit dem Befehl
gcloud compute instance-templates create
eine VM-Instanzvorlage mit HTTP-Server.Verwenden Sie den folgenden Befehl, um IPv4- und IPv6-Traffic zu verarbeiten.
gcloud compute instance-templates create ig-us-template \ --region=us-central1 \ --network=lb-network \ --subnet=lb-subnet \ --ipv6-network-tier=PREMIUM \ --stack-type=IPv4_IPv6 \ --tags=lb-tag \ --image-family=debian-10 \ --image-project=debian-cloud \ --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 instance-templates create ig-us-template \ --region=us-central1 \ --network=lb-network \ --subnet=lb-subnet \ --tags=lb-tag \ --image-family=debian-10 \ --image-project=debian-cloud \ --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'
Erstellen Sie mit dem Befehl
gcloud compute instance-groups managed create
eine verwaltete Instanzgruppe in der Zone.gcloud compute instance-groups managed create ig-us-1 \ --zone us-central1-a \ --size 2 \ --template ig-us-template
Erstellen Sie eine zweite verwaltete Instanzgruppe in der Zone
us-central1-c
:gcloud compute instance-groups managed create ig-us-2 \ --zone us-central1-c \ --size 2 \ --template ig-us-template
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 der Firewall-Richtlinien auf.
Zum Zulassen von IPv4-Traffic führen Sie die folgenden Schritte aus:
- Klicken Sie auf Firewallregel erstellen.
- Geben Sie für Name
allow-network-lb-ipv4
ein. - Wählen Sie in der Liste 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 unter 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. - Klicken Sie unter Angegebene Protokolle und Ports das Kästchen TCP an und geben Sie
80
ein. - Klicken Sie auf Erstellen. Es kann einen Moment dauern, bis die neue Firewallregel in der Google Cloud Console angezeigt wird. Klicken Sie gegebenenfalls auf Aktualisieren, damit die Regel aufgeführt wird.
Zum Zulassen von IPv6-Traffic führen Sie die folgenden Schritte aus:
- Klicken Sie noch einmal auf Firewallregel erstellen.
- Geben Sie für Name
allow-network-lb-ipv6
ein. - Wählen Sie in der Liste 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 unter 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. - Klicken Sie unter Angegebene Protokolle und Ports das Kästchen TCP an und geben Sie
80
ein. - Klicken Sie auf Erstellen. Es kann einen Moment dauern, bis die neue Firewallregel in der Console angezeigt wird. Klicken Sie gegebenenfalls auf Aktualisieren, damit die Regel aufgeführt wird.
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 erhalten die VM-Instanzen 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 eth0
oder als Loopback auf den einzelnen Instanzen konfigurieren.
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.
Back-end-Konfiguration
- Geben Sie auf der Seite Externen Passthrough-Network Load Balancer erstellen den Namen
tcp-network-lb
für den neuen Load Balancer ein. - Wählen Sie bei Region die Option
us-central1
aus. - Klicken Sie auf Backend-Konfiguration.
- On the Backend configuration page, make the following changes:
- Wählen Sie unter Neues Backend den IP-Stack-Typ aus. Wenn Sie Dual-Stack-Back-Ends für die Verarbeitung von IPv4- und IPv6-Traffic erstellt haben, wählen Sie IPv4 und IPv6 (Dual-Stack) aus. Wählen Sie nur IPv4(Single-Stack) aus, um nur IPv4-Traffic zu verarbeiten.
- Wählen Sie in der Liste Instanzgruppe
ig-us-1
aus und klicken Sie dann auf Fertig. - Klicken Sie auf Back-End hinzufügen und wiederholen Sie diesen Schritt, um
ig-us-2
hinzuzufügen. - Für Systemdiagnose klicken Sie auf Systemdiagnose erstellen oder Weitere Systemdiagnose erstellen und geben dann die folgenden Informationen ein:
- Name:
tcp-health-check
- Protokoll:
TCP
- Port:
80
- Name:
- Klicken Sie auf Speichern.
- Ü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
network-lb-forwarding-rule
ein. - Führen Sie die folgenden Schritte aus, um IPv4-Traffic zu verarbeiten:
- Setzen Sie die IP-Version auf IPv4.
- Wählen Sie im Abschnitt Interner IP-Zweck in der Liste IP-Adresse die Option IP-Adresse erstellen aus.
- Geben Sie auf der Seite Neue statische IP-Adresse reservieren unter Name den Wert
network-lb-ipv4
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.
- Wählen Sie in der Liste IPv6-Bereich die Option IP-Adresse erstellen aus.
- Geben Sie auf der Seite Neue statische IP-Adresse reservieren unter Name den Wert
network-lb-ipv6
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 network-lb-ipv4 \ --region us-central1
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 network-lb-ipv6 \ --region us-central1 \ --subnet lb-subnet \ --ip-version IPV6 \ --endpoint-type NETLB
TCP-Systemdiagnose erstellen
gcloud compute health-checks create tcp tcp-health-check \ --region us-central1 \ --port 80
Erstellen Sie einen Backend-Dienst:
gcloud compute backend-services create network-lb-backend-service \ --protocol TCP \ --health-checks tcp-health-check \ --health-checks-region us-central1 \ --region us-central1
Fügen Sie dem Backend-Dienst die Instanzgruppen hinzu.
gcloud compute backend-services add-backend network-lb-backend-service \ --instance-group ig-us-1 \ --instance-group-zone us-central1-a \ --region us-central1
gcloud compute backend-services add-backend network-lb-backend-service \ --instance-group ig-us-2 \ --instance-group-zone us-central1-c \ --region us-central1
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 network-lb-forwarding-rule-ipv4 \ --load-balancing-scheme EXTERNAL \ --region us-central1 \ --ports 80 \ --address network-lb-ipv4 \ --backend-service network-lb-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 network-lb-forwarding-rule-ipv6 \ --load-balancing-scheme EXTERNAL \ --region us-central1 \ --network-tier PREMIUM \ --ip-version IPV6 \ --subnet lb-subnet \ --address network-lb-ipv6 \ --ports 80 \ --backend-service network-lb-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 Seite Load-Balancing-Komponenten zum Tab Weiterleitungsregeln.
Suchen Sie die vom Load-Balancer verwendete Weiterleitungsregel.
Notieren Sie die in der Spalte Externe 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 network-lb-forwarding-rule-ipv4 \ --region us-central1
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 network-lb-forwarding-rule-ipv6 \ --region us-central1
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
Dieser Abschnitt erweitert das Konfigurationsbeispiel um Anleitungen zur weiteren Anpassung Ihres externen Passthrough-Netzwerk-Load-Balancers. Diese Aufgaben sind optional. Sie können sie in beliebiger Reihenfolge durchführen.
Sitzungsaffinität konfigurieren
Die Beispielkonfiguration erstellt einen Back-End-Dienst mit deaktivierter Sitzungsaffinität (Wert auf NONE
festgelegt). In diesem Abschnitt erfahren Sie, wie Sie den Back-End-Dienst aktualisieren, um die Einstellung für die Sitzungsaffinität des Load-Balancers zu ändern.
Informationen zu unterstützten Arten von Sitzungsaffinitäten finden Sie unter Sitzungsaffinitätsoptionen.
Console
Rufen Sie in der Google Cloud Console die Seite Load-Balancing auf.
Klicken Sie auf dem Tab Load-Balancer auf den Namen des Back-End-Dienstes und dann auf Bearbeiten.
Auf der Seite Externen Passthrough-Network-Load-Balancer bearbeiten klicken Sie auf Backend konfigurieren.
Wählen Sie eine Option aus der Liste Sitzungsaffinität aus.
Klicken Sie auf Aktualisieren.
gcloud
Aktualisieren Sie die Sitzungsaffinität für den Back-End-Dienst mit dem folgenden gcloud
-Befehl:
gcloud compute backend-services update BACKEND_SERVICE \ --region=REGION \ --session-affinity=SESSION_AFFINITY_OPTION
Ersetzen Sie die Platzhalter durch gültige Werte:
BACKEND_SERVICE
: Der Back-End-Dienst, den Sie aktualisieren.SESSION_AFFINITY_OPTION
: Die Option für die Sitzungsaffinität, die Sie festlegen möchten.Eine Liste der unterstützten Werte für einen externen Passthrough-Network-Load-Balancer finden Sie unter Optionen für die Sitzungsaffinität.
Richtlinie für das Verbindungs-Tracking konfigurieren
Die Beispielkonfiguration erstellt einen Back-End-Dienst mit den Standardeinstellungen für seine Verbindungs-Tracking-Richtlinie. In diesem Abschnitt erfahren Sie, wie Sie den Back-End-Dienst aktualisieren, um die Standardrichtlinie für das Verbindungs-Tracking des Load-Balancers zu ändern.
Eine Richtlinie für das Verbindungs-Tracking enthält die folgenden Einstellungen:
- Tracking-Modus
- Verbindungspersistenz bei fehlerhaften Back-Ends
- Zeitlimit bei Inaktivität (60 Sekunden, nicht konfigurierbar)
gcloud
Aktualisieren Sie mit dem folgenden gcloud compute
backend-services
-Befehl die Richtlinie für das Verbindungs-Tracking für den Back-End-Dienst:
gcloud compute backend-services update BACKEND_SERVICE \ --region=REGION \ --tracking-mode=TRACKING_MODE \ --connection-persistence-on-unhealthy-backends=CONNECTION_PERSISTENCE_BEHAVIOR
Ersetzen Sie die Platzhalter durch gültige Werte:
BACKEND_SERVICE
: Der Back-End-Dienst, den Sie aktualisieren.TRACKING_MODE
: Der Modus für das Verbindungs-Tracking, der für eingehende Pakete verwendet werden soll. Eine Liste der unterstützten Werte finden Sie unter Tracking-Modus.CONNECTION_PERSISTENCE_BEHAVIOR
: Das Verhalten der Verbindungspersistenz, wenn Back-Ends fehlerhaft sind. Eine Liste der unterstützten Werte finden Sie unter Verbindungspersistenz bei fehlerhaften Back-Ends.
Trafficsteuerung konfigurieren
In diesem Abschnitt erfahren Sie, wie Sie die Frontend-Konfiguration eines Load-Balancers aktualisieren, um die Quell-IP-basierte Trafficsteuerung einzurichten. Weitere Informationen zur Trafficsteuerung finden Sie unter Trafficsteuerung.
In dieser Anleitung wird davon ausgegangen, dass Sie die übergeordnete Basisweiterleitungsregel bereits erstellt haben. In diesem Beispiel wird eine zweite Weiterleitungsregel erstellt, bei der es sich um die Weiterleitungsregel für die Traffisteuerung handelt, die dieselbe IP-Adresse, dasselbe IP-Protokoll und dieselben Ports wie das übergeordnete Element hat. Diese Weiterleitungsregel für die Trafficsteuerung wird mit Quell-IP-Bereichen konfiguriert, sodass Sie anpassen können, wie Pakete aus diesen Quell-IP-Bereichen weitergeleitet werden.
gcloud
Verwenden Sie den folgenden Befehl, um eine Weiterleitungsregel für die Trafficsteuerung zu erstellen, die auf einen Backend-Dienst verweist:
gcloud compute forwarding-rules create STEERING_FORWARDING_RULE_BS \ --load-balancing-scheme=EXTERNAL \ --backend-service=BACKEND_SERVICE \ --address=LOAD_BALANCER_VIP \ --ip-protocol=IP_PROTOCOL \ --ports=PORTS \ --region=REGION \ --source-ip-ranges=SOURCE_IP_ADDRESS_RANGES
Verwenden Sie den folgenden Befehl, um eine Weiterleitungsregel für die Trafficsteuerung zu erstellen, die auf eine Zielinstanz verweist:
gcloud compute forwarding-rules create STEERING_FORWARDING_RULE_TI \ --load-balancing-scheme=EXTERNAL \ --target-instance=TARGET_INSTANCE \ --address=LOAD_BALANCER_VIP \ --ip-protocol=IP_PROTOCOL \ --ports=PORTS \ --region=REGION \ --source-ip-ranges=SOURCE_IP_ADDRESS_RANGES
Ersetzen Sie die Platzhalter durch gültige Werte:
FORWARDING_RULE
: der Name der Weiterleitungsregel, die Sie erstellen.BACKEND_SERVICE
oderTARGET_INSTANCE
: der Name des Backend-Dienstes oder der Zielinstanz, an den diese Weiterleitungsregel für die Trafficsteuerung Traffic sendet. Auch wenn die übergeordnete Weiterleitungsregel auf einen Backend-Dienst verweist, können Sie Weiterleitungsregeln erstellen, die auf Zielinstanzen verweisen.LOAD_BALANCER_VIP
,IP_PROTOCOL
,PORTS
: die IP-Adresse, das IP-Protokoll und die Ports für die von Ihnen erstellte Weiterleitungsregel für die Trafficsteuerung. Diese Einstellungen sollten einer bereits vorhandenen Basisweiterleitungsregel entsprechen.REGION
: ist die Region der Weiterleitungsregel, die Sie erstellen.SOURCE_IP_ADDRESS_RANGES
: eine durch Kommas getrennte Liste von IP-Adressen oder IP-Adressbereichen. Diese Weiterleitungsregel leitet den Traffic nur weiter, wenn die Quell-IP-Adresse des eingehenden Pakets in einen der hier festgelegten IP-Bereiche fällt.
Verwenden Sie den folgenden Befehl, um eine Weiterleitungsregel für die Steuerung zu löschen. Sie müssen die Weiterleitungsregeln für die Steuerung, die von einem Load-Balancer verwendet werden, löschen, bevor Sie den Load-Balancer selbst löschen können.
gcloud compute forwarding-rules delete STEERING_FORWARDING_RULE \ --region=REGION
Failover-Richtlinie konfigurieren
Informationen zum Konfigurieren der Failover-Richtlinie finden Sie unter Failover für externe Passthrough-Network-Load-Balancer konfigurieren.
Gewichtetes Load Balancing konfigurieren
Informationen zum Konfigurieren des gewichteten Load Balancings finden Sie unter Gewichtetes Load Balancing konfigurieren.
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 eines externen Passthrough-Network-Load-Balancers mit zonalen NEG-Back-Ends (Netzwerk-Endpunktgruppe), mit denen Sie Pakete an Nicht-
nic0
-Netzwerkschnittstellen von VM-Instanzen weiterleiten können, finden Sie unter Externen Passthrough-Network Load Balancer mit zonalen NEG-Back-Ends einrichten. - Informationen zum Konfigurieren des erweiterten Netzwerk-DDoS-Schutzes für einen externen Passthrough-Network-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.