In dieser Anleitung wird erläutert, wie Sie Backend-Dienst-basierte externe Passthrough Network-Load-Balancer erstellen, die TCP-, UDP-, ESP-, GRE-, ICMP- und ICMPv6-Traffic verteilen. Sie können eine solche Konfiguration verwenden, wenn Sie Traffic mithilfe von anderen IP-Protokollen als TCP oder UDP ausgleichen möchten. Zielpoolbasierte externe Passthrough-Network-Load-Balancer unterstützen diese Funktion nicht.
Wenn Sie einen externen Passthrough-Network-Load-Balancer für andere IP-Protokolle als TCP oder UDP konfigurieren möchten, erstellen Sie eine Weiterleitungsregel mit einem auf L3_DEFAULT
gesetzten Protokoll. Diese Weiterleitungsregel verweist auf einen Backend-Dienst, für den das Protokoll auf UNSPECIFIED
gesetzt ist.
In diesem Beispiel verwenden wir zwei externe Passthrough-Network-Load-Balancer, um den Traffic auf Backend-VMs in zwei zonal verwaltete Instanzgruppen in der Region us-central1
zu verteilen.
Beide Load-Balancer empfangen Traffic über dieselbe externe IP-Adresse.
Ein Load-Balancer hat eine Weiterleitungsregel mit dem Protokoll TCP
und Port 80 und der andere Load-Balancer eine Weiterleitungsregel mit dem Protokoll L3_DEFAULT
. TCP-Traffic, der an der IP-Adresse an Port 80 ankommt, wird von der Weiterleitungsregel TCP
verarbeitet. Anderer Traffic, der nicht mit der TCP-spezifischen Weiterleitungsregel übereinstimmt, wird von der Weiterleitungsregel L3_DEFAULT
verarbeitet.
In diesem Szenario wird der Traffic auf fehlerfreie Instanzen verteilt. Dafür erstellen Sie TCP-Systemdiagnosen, damit der Traffic nur an fehlerfreie Instanzen gesendet wird.
Der externe Passthrough-Network-Load-Balancer ist ein regionaler Load-Balancer. Alle Load-Balancer-Komponenten 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 im Referenzhandbuch für die API und gcloud.
Wenn Sie die gcloud CLI noch nicht ausgeführt haben, führen Sie zuerst den Befehl 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. Den Weiterleitungsregeln können auch externe IPv4-Adressen und 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
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.
Instanzgruppe für TCP-Traffic an Port 80 erstellen
Console
Erstellen Sie eine Instanzvorlage. Rufen Sie in der Google Cloud Console die Seite Instanzvorlagen auf.
- Klicken Sie auf Instanzvorlage erstellen.
- Geben Sie für Name
ig-us-template-tcp-80
ein. - Das Bootlaufwerk sollte auf ein Debian-Image wie Debian GNU/Linux 12 (bookworm) eingestellt sein. Diese Anleitungen verwenden Befehle, die nur für Debian verfügbar sind, z. B.
apt-get
. - Maximieren Sie den Bereich Erweiterte Optionen.
Maximieren Sie den Bereich Verwaltung und kopieren Sie das folgende Script in das Feld Startscript.
#! /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
Maximieren Sie den Bereich Netzwerk und geben Sie Folgendes an:
- Fügen Sie unter Netzwerktags
network-lb-tcp-80
hinzu. - Klicken Sie unter Netzwerkschnittstellen auf die Schnittstelle Standard und konfigurieren Sie die folgenden Felder:
- Netzwerk:
lb-network
- Subnetzwerk:
lb-subnet
- Netzwerk:
- Fügen Sie unter Netzwerktags
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 im Feld Name
ig-us-tcp-80
ein. - Wählen Sie unter Ort die Option Einzelne Zone aus.
- Wählen Sie
us-central1
als Region aus. - Wählen Sie
us-central1-a
als Zone aus. - Wählen Sie unter Instanzvorlage
ig-us-template-tcp-80
aus. Geben Sie an, wie viele Instanzen die Gruppe umfassen soll.
Geben Sie für dieses Beispiel unter 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.
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-tcp-80 \ --region=us-central1 \ --network=lb-network \ --subnet=lb-subnet \ --ipv6-network-tier=PREMIUM \ --stack-type=IPv4_IPv6 \ --tags=network-lb-tcp-80 \ --image-family=debian-12 \ --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'
Wenn Sie nur IPv4-Traffic verarbeiten möchten, verwenden Sie den folgenden Befehl.
gcloud compute instance-templates create ig-us-template-tcp-80 \ --region=us-central1 \ --network=lb-network \ --subnet=lb-subnet \ --tags=network-lb-tcp-80 \ --image-family=debian-12 \ --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-tcp-80 \ --zone us-central1-a \ --size 2 \ --template ig-us-template-tcp-80
Instanzgruppe für TCP-Port 8080, UDP-, ESP- und ICMP-Traffic erstellen
Console
eine Instanzvorlage erstellen Rufen Sie in der Google Cloud Console die Seite Instanzvorlagen auf.
- Klicken Sie auf Instanzvorlage erstellen.
- Geben Sie im Feld Name
ig-us-template-l3-default
ein. - Das Bootlaufwerk sollte auf ein Debian-Image wie Debian GNU/Linux 12 (bookworm) eingestellt sein. Diese Anleitungen verwenden Befehle, die nur für Debian verfügbar sind, z. B.
apt-get
. - Maximieren Sie den Bereich Erweiterte Optionen.
Maximieren Sie den Bereich Verwaltung und kopieren Sie das folgende Script in das Feld Startscript. Mit dem Startscript wird der Apache-Server auch so konfiguriert, dass Port
8080
anstelle von Port80
überwacht wird.#! /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 sed -ire 's/^Listen 80$/Listen 8080/g' /etc/apache2/ports.conf systemctl restart apache2
Maximieren Sie den Bereich Netzwerk und geben Sie Folgendes an:
- Fügen Sie unter Netzwerktags
network-lb-l3-default
hinzu. - Klicken Sie unter Netzwerkschnittstellen auf die Schnittstelle Standard und konfigurieren Sie die folgenden Felder:
- Netzwerk:
lb-network
- Subnetzwerk:
lb-subnet
- Netzwerk:
- Fügen Sie unter Netzwerktags
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 im Feld Name
ig-us-l3-default
ein. - Wählen Sie unter Ort die Option Einzelne Zone aus.
- Wählen Sie
us-central1
als Region aus. - Wählen Sie
us-central1-c
als Zone aus. - Wählen Sie unter Instanzvorlage
ig-us-template-l3-default
aus. Geben Sie an, wie viele Instanzen die Gruppe umfassen soll.
Geben Sie für dieses Beispiel unter 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.
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.Mit dem Startskript wird der Apache-Server auch so konfiguriert, dass Port
8080
anstelle von Port80
überwacht wird.Verwenden Sie den folgenden Befehl, um IPv4- und IPv6-Traffic zu verarbeiten.
gcloud compute instance-templates create ig-us-template-l3-default \ --region=us-central1 \ --network=lb-network \ --subnet=lb-subnet \ --ipv6-network-tier=PREMIUM \ --stack-type=IPv4_IPv6 \ --tags=network-lb-l3-default \ --image-family=debian-12 \ --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 sed -ire "s/^Listen 80$/Listen 8080/g" /etc/apache2/ports.conf systemctl restart apache2'
Wenn Sie nur IPv4-Traffic verarbeiten möchten, verwenden Sie den folgenden Befehl.
gcloud compute instance-templates create ig-us-template-l3-default \ --region=us-central1 \ --network=lb-network \ --subnet=lb-subnet \ --tags=network-lb-l3-default \ --image-family=debian-12 \ --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 sed -ire "s/^Listen 80$/Listen 8080/g" /etc/apache2/ports.conf 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-l3-default \ --zone us-central1-c \ --size 2 \ --template ig-us-template-l3-default
Firewallregeln konfigurieren
Erstellen Sie die folgenden Firewallregeln:
- Firewallregeln, die externen TCP-Traffic zulassen, um Backend-Instanzen in der Instanzgruppe
ig-us-tcp-80
an Port 80 (mit dem Ziel-Tagnetwork-lb-tcp-80
) zu erreichen. Erstellen Sie separate Firewallregeln, um IPv4- und IPv6-Traffic zuzulassen. - Firewallregeln, die anderen externen Traffic (TCP an Port 8080, UDP, ESP und ICMP) erreichen können, um Backend-Instanzen in der Instanzgruppe
ig-us-l3-default
(mit Ziel-Tagnetwork-lb-l3-default
) zu erreichen. Erstellen Sie separate Firewallregeln, um IPv4- und IPv6-Traffic zuzulassen.
In diesem Beispiel werden Firewallregeln erstellt, die Traffic von allen Quellbereichen zulassen, um Ihre Backend-Instanzen an den konfigurierten Ports zu erreichen. Wenn Sie separate Firewallregeln speziell für die Systemdiagnosetests 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.
Zu den Firewall-Richtlinien - Damit der IPv4-TCP-Traffic Back-Ends in der Instanzgruppe
ig-us-tcp-80
erreichen kann, erstellen Sie die folgende Firewallregel.- Klicken Sie auf Firewallregel erstellen.
- Geben Sie für
allow-network-lb-tcp-80-ipv4
einen Namen ein. - Wählen Sie unter Netzwerk das Netzwerk aus, für das die Firewallregel gelten soll (Standard).
- Wählen Sie unter Ziele Angegebene Zieltags aus.
- Geben Sie im Feld Zieltags
network-lb-tcp-80
ein. - Legen Sie unter Quellfilter die Option IPv4-Bereiche fest.
- Legen Sie für Quell-IP-Bereiche den Wert
0.0.0.0/0
fest, damit Traffic von allen Quellen zulässig ist. Dadurch können sowohl der externe Traffic als auch die Systemdiagnose die Backend-Instanzen erreichen. - Wählen Sie unter Protokolle und Ports die Option Angegebene Protokolle und Ports aus. Klicken Sie anschließend 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.
- Damit IPv4 UDP-, ESP- und ICMP-Traffic Back-Ends in der Instanzgruppe
ig-us-l3-default
erreichen kann, erstellen Sie die folgende Firewallregel.- Klicken Sie auf Firewallregel erstellen.
- Geben Sie für
allow-network-lb-l3-default-ipv4
einen Namen ein. - Wählen Sie unter Netzwerk das Netzwerk aus, für das die Firewallregel gelten soll (Standard).
- Wählen Sie unter Ziele Angegebene Zieltags aus.
- Geben Sie im Feld Zieltags
network-lb-l3-default
ein. - Legen Sie unter Quellfilter die Option IPv4-Bereiche fest.
- Legen Sie für Quell-IP-Bereiche den Wert
0.0.0.0/0
fest, damit Traffic von allen Quellen zulässig ist. Dadurch können sowohl der externe Traffic als auch die Systemdiagnose die Backend-Instanzen erreichen. - Wählen Sie unter Protokolle und Ports die Option Angegebene Protokolle und Ports aus.
- Klicken Sie das Kästchen TCP an und geben Sie
8080
ein. - Klicken Sie das Kästchen UDP an.
- Klicken Sie das Kästchen Andere Protokolle an und geben Sie
esp, icmp
ein.
- Klicken Sie das Kästchen TCP an und geben Sie
- 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.
- Damit der IPv6-TCP-Traffic der Instanzgruppe
ig-us-tcp-80
erreichen kann, erstellen Sie die folgende Firewallregel.- Klicken Sie auf Firewallregel erstellen.
- Geben Sie für
allow-network-lb-tcp-80-ipv6
einen Namen ein. - Wählen Sie unter Netzwerk das Netzwerk aus, für das die Firewallregel gelten soll (Standard).
- Wählen Sie unter Ziele Angegebene Zieltags aus.
- Geben Sie im Feld Zieltags
network-lb-tcp-80
ein. - Legen Sie unter Quellfilter die Option IPv6-Bereiche fest.
- Legen Sie unter Quell-IPv6-Bereiche den Wert
::/0
fest, damit Traffic von allen Quellen zulässig ist. Dadurch können sowohl der externe Traffic als auch die Systemdiagnose die Backend-Instanzen erreichen. - Wählen Sie unter Protokolle und Ports die Option Angegebene Protokolle und Ports aus. Klicken Sie das Kästchen neben 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.
- Erstellen Sie die folgende Firewallregel, damit IPv6 UDP-, ESP- und ICMPv6-Traffic Back-Ends in der Instanzgruppe
ig-us-l3-default
erreicht. Durch diese Firewallregel können auch TCP-Systemdiagnoseprüfungen die Instanzen auf Port 8080 erreichen.- Klicken Sie auf Firewallregel erstellen.
- Geben Sie für
allow-network-lb-l3-default-ipv6
einen Namen ein. - Wählen Sie unter Netzwerk das Netzwerk aus, für das die Firewallregel gelten soll (Standard).
- Wählen Sie unter Ziele Angegebene Zieltags aus.
- Geben Sie im Feld Zieltags
network-lb-l3-default
ein. - Legen Sie unter Quellfilter die Option IPv6-Bereiche fest.
- Legen Sie unter Quell-IPv6-Bereiche den Wert
::/0
fest, damit Traffic von allen Quellen zulässig ist. Dadurch können sowohl der externe Traffic als auch die Systemdiagnose die Backend-Instanzen erreichen. - Wählen Sie unter Protokolle und Ports die Option Angegebene Protokolle und Ports aus.
- Klicken Sie das Kästchen neben TCP an und geben Sie
8080
ein. - Klicken Sie das Kästchen neben UDP an.
- Klicken Sie das Kästchen neben Sonstige Protokolle an und geben Sie
esp, 58
ein.
- Klicken Sie das Kästchen neben TCP an und geben Sie
- 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
Damit der IPv4-TCP-Traffic Back-Ends in der Instanzgruppe
ig-us-tcp-80
erreichen kann, erstellen Sie die folgende Firewallregel.gcloud compute firewall-rules create allow-network-lb-tcp-80-ipv4 \ --network=lb-network \ --target-tags network-lb-tcp-80 \ --allow tcp:80 \ --source-ranges=0.0.0.0/0
Damit IPv4 UDP-, ESP- und ICMP-Traffic Back-Ends in der Instanzgruppe
ig-us-l3-default
erreichen kann, erstellen Sie die folgende Firewallregel. Durch diese Firewallregel können auch TCP-Systemdiagnoseprüfungen die Instanzen auf Port 8080 erreichen.gcloud compute firewall-rules create allow-network-lb-l3-default-ipv4 \ --network=lb-network \ --target-tags network-lb-l3-default \ --allow tcp:8080,udp,esp,icmp \ --source-ranges=0.0.0.0/0
Damit der IPv6-TCP-Traffic der Instanzgruppe
ig-us-tcp-80
erreichen kann, erstellen Sie die folgende Firewallregel.gcloud compute firewall-rules create allow-network-lb-tcp-80-ipv6 \ --network=lb-network \ --target-tags network-lb-tcp-80 \ --allow tcp:80 \ --source-ranges=::/0
Erstellen Sie die folgende Firewallregel, damit IPv6 UDP-, ESP- und ICMPv6-Traffic Back-Ends in der Instanzgruppe
ig-us-l3-default
erreicht. Durch diese Firewallregel können auch TCP-Systemdiagnoseprüfungen die Instanzen auf Port 8080 erreichen.gcloud compute firewall-rules create allow-network-lb-l3-default-ipv6 \ --network=lb-network \ --target-tags network-lb-l3-default \ --allow tcp:8080,udp,esp,58 \ --source-ranges=::/0
Load-Balancer konfigurieren
Als Nächstes richten Sie zwei Load-Balancer ein. Konfigurieren Sie beide Load-Balancer so, dass sie für die Weiterleitungsregeln dieselbe externe IP-Adresse verwenden, wobei ein Load-Balancer den TCP-Traffic auf Port 80 und der andere den TCP-, UDP-, ESP- und ICMP-Traffic auf Port 8080 verarbeitet.
Durch entsprechende Konfiguration eines Load-Balancers erhalten die Back-End-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.
Folgen Sie der nachstehenden Anleitung, um zwei 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.
Grundlegende Konfiguration
- Geben Sie im Feld Name den Namen
backend-service-tcp-80
für den neuen Load-Balancer ein. - Wählen Sie in der Liste Region
us-central1
aus.
Backend-Konfiguration
- Klicken Sie auf Backend-Konfiguration.
- On the Backend configuration page, make the following changes:
- Wählen Sie im Bereich Neues Backend den IP-Stacktyp 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 IPv4 (Single-Stack) aus, um nur IPv4-Traffic zu verarbeiten.
- Wählen Sie in der Liste Instanzgruppe
ig-us-tcp-80
aus und klicken Sie dann auf Fertig. - Klicken Sie in der Liste Systemdiagnose auf Systemdiagnose erstellen und geben Sie die folgenden Informationen ein:
- Name:
tcp-health-check-80
- 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 Front-End-Konfiguration.
- Geben Sie im Feld Name
forwarding-rule-tcp-80
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 im Feld Name
network-lb-ipv4
ein. - Klicken Sie auf Reservieren.
- Geben Sie im Feld Name
- Wählen Sie für Ports die Option Einzeln aus. Geben Sie im Feld Portnummer den Wert
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 im Feld Name
network-lb-ipv6
ein. - Klicken Sie auf Reservieren.
- Geben Sie im Feld Name
- Wählen Sie für Ports die Option Einzeln aus. Geben Sie im Feld Portnummer den Wert
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.
Zweiten Load-Balancer erstellen
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.
Grundlegende Konfiguration
- Geben Sie im Feld Name den Namen
backend-service-l3-default
für den neuen Load-Balancer ein. - Wählen Sie in der Liste Region
us-central1
aus.
Backend-Konfiguration
- Klicken Sie auf Backend-Konfiguration.
- On the Backend configuration page, make the following changes:
- Wählen Sie im Bereich Neues Backend den IP-Stacktyp 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 IPv4 (Single-Stack) aus, um nur IPv4-Traffic zu verarbeiten.
- Wählen Sie in der Liste Instanzgruppe
ig-us-l3-default
aus und klicken Sie dann auf Fertig. - Wählen Sie in der Liste Protokolle die Option L3 (Mehrere Protokolle) aus.
- Klicken Sie in der Liste Systemdiagnose auf Systemdiagnose erstellen und geben Sie die folgenden Informationen ein:
- Name:
tcp-health-check-8080
- Protokoll:
TCP
- Port:
8080
- 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 Front-End-Konfiguration.
- Geben Sie im Feld Name
forwarding-rule-l3-default
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 im Feld Name
network-lb-ipv4
ein. - Klicken Sie auf Reservieren.
- Geben Sie im Feld Name
- Wählen Sie in der Liste Protokoll die Option L3 (Mehrere Protokolle) aus.
- Wählen Sie für Ports die Option Alle aus.
- 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 im Feld Name
network-lb-ipv6
ein. - Klicken Sie auf Reservieren.
- Geben Sie im Feld Name
- Wählen Sie im Feld Protokoll die Option L3 (Mehrere Protokolle) aus.
- Wählen Sie für Ports die Option Alle aus.
- 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 IP-Adresse für die 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 Ihre Load-Balancer. Das verwendete Subnetz muss ein Dual-Stack-Subnetz mit einem externen IPv6-Subnetzbereich sein.
gcloud compute addresses create network-lb-ipv6 \ --region us-central1 \ --subnet lb-subnet \ --ip-version IPV6 \ --endpoint-type NETLB
Erstellen Sie eine TCP-Systemdiagnose für Port
80
. Diese Systemdiagnose wird verwendet, um den Status von Back-Ends in derig-us-tcp-80
-Instanzgruppe zu prüfen.gcloud compute health-checks create tcp tcp-health-check-80 \ --region us-central1 \ --port 80
Erstellen Sie eine TCP-Systemdiagnose für Port
8080
. Diese Systemdiagnose wird verwendet, um den Status von Back-Ends in derig-us-l3-default
-Instanzgruppe zu prüfen.gcloud compute health-checks create tcp tcp-health-check-8080 \ --region us-central1 \ --port 8080
Erstellen Sie den ersten Load-Balancer für TCP-Traffic an Port
80
.Erstellen Sie einen Backend-Dienst, dessen Protokoll auf
TCP
gesetzt ist.gcloud compute backend-services create backend-service-tcp-80 \ --protocol TCP \ --health-checks tcp-health-check-80 \ --health-checks-region us-central1 \ --region us-central1
Fügen Sie die Backend-Instanzgruppe dem Backend-Dienst hinzu:
gcloud compute backend-services add-backend backend-service-tcp-80 \ --instance-group ig-us-tcp-80 \ --instance-group-zone us-central1-a \ --region us-central1
Für IPv4-Traffic: Erstellen Sie eine Weiterleitungsregel, um eingehenden TCP-Traffic an Port
80
an den Backend-Dienst weiterzuleiten.TCP
ist das Standardprotokoll der Weiterleitungsregel und muss nicht explizit festgelegt werden.Verwenden Sie die in Schritt 1 reservierte IP-Adresse als statische externe IP-Adresse des Load-Balancers.
gcloud compute forwarding-rules create forwarding-rule-tcp-80 \ --load-balancing-scheme external \ --region us-central1 \ --ports 80 \ --address network-lb-ipv4 \ --backend-service backend-service-tcp-80
Für IPv6-Traffic: Erstellen Sie eine Weiterleitungsregel, um eingehenden TCP-Traffic an Port
80
an den Backend-Dienst weiterzuleiten.TCP
ist das Standardprotokoll der Weiterleitungsregel und muss nicht explizit festgelegt werden.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-tcp-80 \ --load-balancing-scheme external \ --region us-central1 \ --network-tier PREMIUM \ --ip-version IPV6 \ --subnet lb-subnet \ --address network-lb-ipv6 \ --ports 80 \ --backend-service backend-service-tcp-80
Erstellen Sie den zweiten Load-Balancer für TCP an Port
8080
, UDP-, ESP- und ICMP-Traffic.Erstellen Sie einen Backend-Dienst, dessen Protokoll auf
UNSPECIFIED
gesetzt ist.gcloud compute backend-services create backend-service-l3-default \ --protocol UNSPECIFIED \ --health-checks tcp-health-check-8080 \ --health-checks-region us-central1 \ --region us-central1
Fügen Sie die Backend-Instanzgruppe dem Backend-Dienst hinzu:
gcloud compute backend-services add-backend backend-service-l3-default \ --instance-group ig-us-l3-default \ --instance-group-zone us-central1-c \ --region us-central1
Für IPv4-Traffic: Erstellen Sie eine Weiterleitungsregel, dessen Protokoll
L3_DEFAULT
gesetzt ist, um den gesamten verbleibenden unterstützten IP-Protokoll-Traffic zu verarbeiten (TCP an Port8080
, UDP, ESP und ICMP). Alle Ports müssen mitL3_DEFAULT
-Weiterleitungsregeln konfiguriert werden.Verwenden Sie dieselbe externe IPv4-Adresse, die Sie für den vorherigen Load Balancer verwendet haben.
gcloud compute forwarding-rules create forwarding-rule-l3-default \ --load-balancing-scheme external \ --region us-central1 \ --ports all \ --ip-protocol L3_DEFAULT \ --address network-lb-ipv4 \ --backend-service backend-service-l3-default
Für IPv6-Traffic: Erstellen Sie eine Weiterleitungsregel, dessen Protokoll auf
L3_DEFAULT
gesetzt ist, um den gesamten verbleibenden unterstützten IP-Protokoll-Traffic zu verarbeiten (TCP an Port8080
, UDP, ESP und ICMP). Alle Ports müssen mitL3_DEFAULT
-Weiterleitungsregeln konfiguriert werden.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-l3-default \ --load-balancing-scheme external \ --region us-central1 \ --network-tier PREMIUM \ --ip-version IPV6 \ --subnet lb-subnet \ --address network-lb-ipv6 \ --ports all \ --ip-protocol L3_DEFAULT \ --backend-service backend-service-l3-default
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
- Wechseln Sie auf der Load-Balancing-Seite Erweitert und gehen Sie zum Tab Weiterleitungsregeln.
Zum Tab "Weiterleitungsregeln" - Suchen Sie die vom Load-Balancer verwendete Weiterleitungsregel.
- Notieren Sie sich die in der Spalte IP-Adresse angegebene externe IP-Adresse für jede IPv4- und IPv6-Weiterleitungsregel.
gcloud: IPv4
Geben Sie den folgenden Befehl ein, um die externe IP-Adresse der vom Load-Balancer verwendeten Weiterleitungsregel aufzurufen.
gcloud compute forwarding-rules describe forwarding-rule-tcp-80 \ --region us-central1
In diesem Beispiel wird für beide Weiterleitungsregeln dieselbe IPv4-Adresse verwendet. Daher funktioniert auch die Verwendung von forwarding-rule-l3-default
.
gcloud: IPv6
Geben Sie den folgenden Befehl ein, um die externe IPv6-Adresse der vom Load-Balancer verwendeten Weiterleitungsregel forwarding-rule-tcp-80
aufzurufen:
gcloud compute forwarding-rules describe forwarding-rule-tcp-80 \ --region us-central1
In diesem Beispiel wird für beide Weiterleitungsregeln dieselbe IPv6-Adresse verwendet. Daher funktioniert auch die Verwendung von forwarding-rule-l3-default
.
Traffic an den Load-Balancer senden
Dieses Verfahren sendet externen Traffic an den Load-Balancer. Führen Sie die folgenden Tests aus, um sicherzustellen, dass der TCP-Traffic an Port 80 das Load-Balancing über die Instanzgruppe ig-us-tcp-80
ausführt, während der gesamte Traffic (TCP an Port 8080, UDP, ESP und ICMP) von der ig-us-l3-default
-Instanzgruppe verarbeitet wird.
Verhalten mit TCP-Anfragen an Port 80 prüfen
Stellen Sie mit
curl
(über TCP an Port 80) 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 IP_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]
lautet, sollte der Befehl so aussehen:$ while true; do curl -m1 http://[2001:db8:1:1:1:1:1:1]; 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
Antworten sollten nur von Instanzen in der Instanzgruppeig-us-tcp-80
stammen.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:
Verhalten mit TCP-Anfragen an Port 8080 prüfen
Stellen Sie mit curl
(über TCP an Port 8080
) 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:8080; 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]
lautet, sollte der Befehl so aussehen:$ while true; do curl -m1 http://[2001:db8:1:1:1:1:1:1]:8080; done
Beachten Sie den vom Befehl curl
zurückgegebenen Text. Antworten sollten nur von Instanzen in der Instanzgruppe ig-us-l3-default
stammen.
Dies zeigt, dass der gesamte Traffic, der an die IP-Adresse des Load-Balancers an Port 8080
gesendet wird, nur von Back-Ends in der Instanzgruppe ig-us-l3-default
verarbeitet wird.
Verhalten mit ICMP-Anfragen prüfen
Um das Verhalten bei ICMP-Traffic zu prüfen, erfassen Sie die Ausgabe des Befehls tcpdump
, um zu bestätigen, dass nur Back-End-VMs in der Instanzgruppe ig-us-l3-default
ICMP-Anfragen verarbeiten, die an den Load-Balancer gesendet werden.
Stellen Sie eine SSH-Verbindung zu den Backend-VMs her.
Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.
Zur Seite "VM-Instanzen"Klicken Sie in der Liste der VM-Instanzen in der Zeile der Instanz, zu der Sie eine Verbindung herstellen möchten, auf SSH.
Führen Sie den folgenden Befehl aus, um
tcpdump
zu verwenden und ICMP-Traffic zu überwachen.sudo tcpdump icmp -w ~/icmpcapture.pcap -s0 -c 10000 tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
Lassen Sie das SSH-Fenster geöffnet.
Wiederholen Sie die Schritte 1 und 2 für alle vier Backend-VMs.
Stellen Sie ICMP-Anfragen an den Load-Balancer,
Zum Testen der IPv4-Antworten verwenden Sie
ping
, um die IPv4-Adresse des Load-Balancers zu kontaktieren.ping IPV4_ADDRESS
Zum Testen der IPv6-Antworten verwenden Sie
ping6
, um die IPv6-Adresse des Load-Balancers zu kontaktieren.ping6 IPV6_ADDRESS
Wenn die zugewiesene IPv6-Adresse beispielsweise
[2001:db8:1:1:1:1:1:1/96]
lautet, sollte der Befehl so aussehen:ping6 2001:db8:1:1:1:1:1:1
Kehren Sie zum offenen SSH-Fenster der einzelnen VMs zurück und beenden Sie den Erfassungsbefehl
tcpdump
. Sie können dazu Strg + C verwenden.Prüfen Sie für jede VM die Ausgabe des Befehls
tcpdump
in der Dateiicmpcapture.pcap
.sudo tcpdump -r ~/icmpcapture.pcap -n
Für Back-End-VMs in der Instanzgruppe
ig-us-l3-default
sollten Dateieinträge wie die folgenden angezeigt werden:reading from file /home/[user-directory]/icmpcapture.pcap, link-type EN10MB (Ethernet) 22:13:07.814486 IP 35.230.115.24 > 35.193.84.93: ICMP echo request, id 1995, seq 1, length 64 22:13:07.814513 IP 35.193.84.93 > 35.230.115.24: ICMP echo reply, id 1995, seq 1, length 64 22:13:08.816150 IP 35.230.115.24 > 35.193.84.93: ICMP echo request, id 1995, seq 2, length 64 22:13:08.816175 IP 35.193.84.93 > 35.230.115.24: ICMP echo reply, id 1995, seq 2, length 64 22:13:09.817536 IP 35.230.115.24 > 35.193.84.93: ICMP echo request, id 1995, seq 3, length 64 22:13:09.817560 IP 35.193.84.93 > 35.230.115.24: ICMP echo reply, id 1995, seq 3, length 64 ...
Für Back-End-VMs in der Instanzgruppe
ig-us-tcp-80
sollten Sie sehen, dass keine Pakete empfangen wurden, und die Datei sollte leer sein:reading from file /home/[user-directory]/icmpcapture.pcap, link-type EN10MB (Ethernet)
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 mit der Konfiguration einer IPv6-Weiterleitungsregel mit BYOIP-Adressen beginnen, 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 in den vorherigen Schritten mit aktivierter Option für die Weiterleitungsregel erstellt wurde.
- 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 Front-End-IP und Port hinzufügen.
- Geben Sie im Abschnitt Neue Frontend-IP-Adresse und neuer Frontend-Port Folgendes an:
- Das Protokoll ist L3 (Mehrere Protokolle).
- 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 die Weiterleitungsregel erstellt wurde.
- Geben Sie im Feld IPv6-Bereich den IPv6-Adressbereich ein. Der IPv6-Adressbereich muss den Spezifikationen für IPv6-Unterpräfixe entsprechen.
- Wählen Sie im Feld Ports die Option Alle aus.
- 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 L3_DEFAULT \ --ports ALL \ --ip-version IPV6 \ --region REGION_A \ --address IPV6_CIDR_RANGE \ --backend-service BACKEND_SERVICE \ --ip-collection PDP_NAME
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 WeiterleitungsregelREGION_A
: Region für die WeiterleitungsregelIPV6_CIDR_RANGE
: der IPv6-Adressbereich, für den die Weiterleitungsregel gilt. 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. Das PDP muss ein Unterpräfix im Modus EXTERNAL_IPV6_FORWARDING_RULE_CREATION sein
Nächste Schritte
- Informationen zum Konfigurieren eines externen Passthrough-Network-Load-Balancers mit zonalen NEG-Back-Ends, mit dem Sie Pakete an Nicht-
nic0
-Netzwerkschnittstellen von VM-Instanzen weiterleiten können, finden Sie unter Externen Passthrough-Network-Load-Balancer mit zonalen NEGs einrichten. - Informationen zur Funktionsweise der externen Passthrough-Network-Load-Balancer mit Backend-Diensten finden Sie unter Backend-Dienst-basierter externer Passthrough-Network-Load-Balancer.
- Informationen zum Übertragen 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 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.