Regionalen internen Proxy-Network-Load-Balancer mit zonalen NEG-Back-Ends einrichten

Der regionale interne Proxy-Network-Load-Balancer ist ein Proxy-basierter regionaler Layer-4-Load-Balancer, mit dem Sie Ihren TCP-Diensttraffic hinter einer internen IP-Adresse ausführen und skalieren können, auf die nur Clients im selben VPC-Netzwerk oder Clients, die mit Ihrem VPC-Netzwerk verbunden sind, Zugriff haben.

Dieser Leitfaden enthält eine Anleitung zum Einrichten eines regionalen internen Proxy-Network-Load-Balancers mit einem NEG-Backend (Netzwerk-Endpunktgruppe). Hinweise:

Übersicht

In diesem Beispiel verwenden wir den Load-Balancer, um TCP-Traffic auf Backend-VMs in zwei zonalen NEGs in der Region REGION_A zu verteilen. Der Dienst besteht dabei aus einer Reihe von Apache-Servern, die für die Kommunikation über Port 80 konfiguriert sind.

In diesem Beispiel konfigurieren Sie die folgende Bereitstellung:

Beispielkonfiguration für regionalen internen Proxy-Network-Load-Balancer mit zonalen NEG-Back-Ends.
Beispielkonfiguration für regionalen internen Proxy-Network-Load-Balancer mit zonalen NEG-Back-Ends

Der regionale interne Proxy-Network-Load-Balancer ist ein regionaler Load-Balancer. Alle Load-Balancer-Komponenten (Backend-Instanzgruppen, Backend-Dienst, Ziel-Proxy und Weiterleitungsregel) müssen sich in derselben Region befinden.

Berechtigungen

Damit Sie dieser Anleitung folgen können, müssen Sie in der Lage sein, Instanzen zu erstellen und ein Netzwerk in einem Projekt zu ändern. Sie müssen entweder ein Inhaber oder Bearbeiter des Projekts sein oder alle folgenden Compute Engine-IAM-Rollen haben:

Aufgabe Erforderliche Rolle
Netzwerke, Subnetze und Load-Balancer-Komponenten erstellen Netzwerkadministrator
Firewallregeln hinzufügen und löschen Sicherheitsadministrator
Instanzen erstellen Compute-Instanzadministrator

Weitere Informationen finden Sie in folgenden Leitfäden:

Netzwerk und Subnetze konfigurieren

Sie benötigen ein VPC-Netzwerk mit zwei Subnetzen: eines für die Back-Ends des Load-Balancers und eines für die Proxys des Load-Balancers. Regionale interne Proxy-Network-Load-Balancer sind regional. Traffic innerhalb des VPC-Netzwerks wird an den Load-Balancer weitergeleitet, wenn sich die Quelle des Traffics in einem Subnetz in derselben Region wie der Load-Balancer befindet.

In diesem Beispiel werden das folgende VPC-Netzwerk, die folgende Region und die folgenden Subnetze verwendet:

  • Netzwerk. Das Netzwerk ist ein VPC-Netzwerk im benutzerdefinierten Modus mit dem Namen lb-network.

  • Subnetz für Back-Ends. Ein Subnetz mit dem Namen backend-subnet in der Region REGION_A verwendet 10.1.2.0/24 für seinen primären IP-Bereich.

  • Subnetz für Proxys Ein Subnetz mit dem Namen proxy-only-subnet in der Region REGION_A verwendet 10.129.0.0/23 für seinen primären IP-Bereich.

Netzwerk und Subnetz für Back-Ends erstellen

Console

  1. Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf.

    Zur Seite VPC-Netzwerke

  2. Klicken Sie auf VPC-Netzwerk erstellen.

  3. Geben Sie im Feld Name lb-network ein.

  4. Im Bereich Subnetze:

    • Legen Sie Modus für Subnetzerstellung auf Benutzerdefiniert fest.
    • Geben Sie im Bereich Neues Subnetz folgende Informationen ein:
      • Name: backend-subnet
      • Region: REGION_A
      • IP-Adressbereich: 10.1.2.0/24
    • Klicken Sie auf Fertig.
  5. Klicken Sie auf Erstellen.

gcloud

  1. Erstellen Sie mit dem Befehl gcloud compute networks create das benutzerdefinierte VPC-Netzwerk:

    gcloud compute networks create lb-network --subnet-mode=custom
    
  2. Erstellen Sie mit dem Befehl gcloud compute networks subnets create ein Subnetz im Netzwerk lb-network in der Region REGION_A:

    gcloud compute networks subnets create backend-subnet \
        --network=lb-network \
        --range=10.1.2.0/24 \
        --region=REGION_A
    

Nur-Proxy-Subnetz erstellen

Ein Nur-Proxy-Subnetz stellt eine Reihe von IP-Adressen bereit, die Google zum Ausführen von Envoy-Proxys in Ihrem Namen verwendet. Die Proxys beenden Verbindungen vom Client und erstellen neue Verbindungen zu den Back-Ends.

Dieses Nur-Proxy-Subnetz wird von allen Envoy-basierten Load-Balancern in der Region REGION_A des VPC-Netzwerks lb-network verwendet.

Console

Wenn Sie die Google Cloud Console verwenden, können Sie das Nur-Proxy-Subnetz später auf der Seite Load-Balancing erstellen.

Führen Sie die folgenden Schritte aus, wenn Sie jetzt das Nur-Proxy-Subnetz erstellen möchten:

  1. Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf.

    Zur Seite VPC-Netzwerke

  2. Klicken Sie auf den Namen des freigegebenen VPC-Netzwerks: lb-network.

  3. Klicken Sie auf Subnetz hinzufügen.

  4. Geben Sie im Feld Name proxy-only-subnet ein.

  5. Wählen Sie REGION_A als Region aus.

  6. Setzen Sie Zweck auf Regional verwalteter Proxy.

  7. Geben Sie 10.129.0.0/23 als IP-Adressbereich ein.

  8. Klicken Sie auf Hinzufügen.

gcloud

Erstellen Sie das Nur-Proxy-Subnetz mit dem Befehl gcloud compute networks subnets create.

gcloud compute networks subnets create proxy-only-subnet \
    --purpose=REGIONAL_MANAGED_PROXY \
    --role=ACTIVE \
    --region=REGION_A \
    --network=lb-network \
    --range=10.129.0.0/23

Firewallregeln erstellen

In diesem Beispiel erstellen Sie die folgenden Firewallregeln:

  • fw-allow-health-check: Eine Regel für eingehenden Traffic, die für Google Cloud-Instanzen mit Load-Balancing gilt und Traffic von der Systemdiagnose von Google Cloud (130.211.0.0/22 und 35.191.0.0/16) zulässt. In diesem Beispiel wird das Ziel-Tag allow-health-check verwendet, um die Instanzen zu identifizieren, auf die sie angewendet werden soll.
  • fw-allow-ssh: Eine Regel für eingehenden Traffic, die eingehende SSH-Verbindungen an TCP-Port 22 von jeder Adresse aus ermöglicht. Sie können einen restriktiveren IP-Quellbereich für diese Regel auswählen. Geben Sie dazu beispielsweise nur die IP-Bereiche des Systems an, von dem aus Sie SSH-Sitzungen initiieren. In diesem Beispiel wird das Ziel-Tag allow-ssh verwendet, um die VMs zu identifizieren, auf die sie angewendet werden soll.
  • fw-allow-proxy-only-subnet: Eine Regel zum Zulassen von eingehendem Traffic für das Nur-Proxy-Subnetz, damit der Load-Balancer mit Backend-Instanzen auf dem TCP-Port 80 kommunizieren kann: In diesem Beispiel wird das Ziel-Tag allow-proxy-only-subnet verwendet, um die Backend-VMs zu identifizieren, auf die sie angewendet werden soll.

Console

  1. Rufen Sie in der Google Cloud Console die Seite der Firewall-Richtlinien auf.

    Zu den Firewall-Richtlinien

  2. Klicken Sie auf Firewallregel erstellen:

    1. Geben Sie als Namen fw-allow-health-check ein.
    2. Wählen Sie unter Netzwerk die Option lb-network aus.
    3. Wählen Sie unter Ziele Angegebene Ziel-Tags aus.
    4. Tragen Sie im Feld Ziel-Tags allow-health-check ein.
    5. Legen Sie unter Quellfilter die Option IPv4-Bereiche fest.
    6. Legen Sie unter Quell-IPv4-Bereiche die Werte 130.211.0.0/22 und 35.191.0.0/16 fest.
    7. Wählen Sie unter Protokolle und Ports die Option Angegebene Protokolle und Ports aus.
    8. Klicken Sie das Kästchen TCP an und geben Sie 80 als Portnummer ein.
    9. Klicken Sie auf Erstellen.
  3. Klicken Sie noch einmal auf Firewallregel erstellen, um die Regel zu erstellen, die eingehende SSH-Verbindungen zulässt:

    • Name: fw-allow-ssh
    • Netzwerk: lb-network
    • Priorität: 1000
    • Trafficrichtung: Eingehend
    • Aktion bei Übereinstimmung: Zulassen
    • Ziele: Angegebene Ziel-Tags
    • Zieltags: allow-ssh
    • Quellfilter: IPv4-Bereiche.
    • IPv4-Quellbereiche: 0.0.0.0/0
    • Protokolle und Ports: Wählen Sie Angegebene Protokolle und Ports aus und geben Sie Folgendes ein: tcp:22
  4. Klicken Sie auf Erstellen.

  5. Klicken Sie noch einmal auf Firewallregel erstellen, um die Regel zu erstellen, die eingehende Verbindungen vom Nur-Proxy-Subnetz zu den Google Cloud-Back-Ends zulässt:

    • Name: fw-allow-proxy-only-subnet
    • Netzwerk: lb-network
    • Priorität: 1000
    • Trafficrichtung: Eingehend
    • Aktion bei Übereinstimmung: Zulassen
    • Ziele: Angegebene Ziel-Tags
    • Zieltags: allow-proxy-only-subnet
    • Quellfilter: IPv4-Bereiche.
    • IPv4-Quellbereiche: 10.129.0.0/23
    • Protokolle und Ports: Wählen Sie Angegebene Protokolle und Ports aus und geben Sie Folgendes ein: tcp:80
  6. Klicken Sie auf Erstellen.

gcloud

  1. Erstellen Sie die Regel fw-allow-health-check, damit die Google Cloud-Systemdiagnosen die Backend-Instanzen auf einem TCP-Port 80 erreichen können:

    gcloud compute firewall-rules create fw-allow-health-check \
        --network=lb-network \
        --action=allow \
        --direction=ingress \
        --target-tags=allow-health-check \
        --source-ranges=130.211.0.0/22,35.191.0.0/16 \
        --rules=tcp:80
    
  2. Erstellen Sie die Firewallregel fw-allow-ssh, um SSH-Verbindungen zu VMs mit dem Netzwerk-Tag allow-ssh zu ermöglichen. Wenn Sie source-ranges weglassen, bezieht Google Cloud die Regel auf jede Quelle.

    gcloud compute firewall-rules create fw-allow-ssh \
        --network=lb-network \
        --action=allow \
        --direction=ingress \
        --target-tags=allow-ssh \
        --rules=tcp:22
    
  3. Erstellen Sie eine Firewallregel zum Zulassen von eingehendem Traffic für das Nur-Proxy-Subnetz, damit der Load-Balancer mit Backend-Instanzen auf dem TCP-Port 80 kommunizieren kann:

    gcloud compute firewall-rules create fw-allow-proxy-only-subnet \
        --network=lb-network \
        --action=allow \
        --direction=ingress \
        --target-tags=allow-proxy-only-subnet \
        --source-ranges=10.129.0.0/23 \
        --rules=tcp:80
    

IP-Adresse des Load-Balancers reservieren

Informationen zum Reservieren einer statischen internen IP-Adresse für Ihren Load-Balancer finden Sie unter Neue statische interne IPv4- oder IPv6-Adresse reservieren.

Zonale NEG einrichten

Richten Sie eine zonale NEG (mit Endpunkten des Typs GCE_VM_IP_PORT) in der Region REGION_A ein. Erstellen Sie zuerst die VMs. Erstellen Sie dann eine zonale NEG und fügen Sie der NEG die Netzwerkendpunkte der VMs hinzu.

VMs erstellen

Console

  1. Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.

    Zu Seite „VM-Instanzen“

  2. Klicken Sie auf Instanz erstellen.

  3. Legen Sie als Name vm-a1 fest.

  4. Wählen Sie REGION_A als Region aus.

  5. Informationen zur Zone finden Sie unter ZONE_A1.

  6. Achten Sie im Bereich Bootlaufwerk darauf, dass als Bootlaufwerk-Optionen das Betriebssystem Debian und die Version 10 (Buster) ausgewählt sind. Klicken Sie auf Auswählen, um das Image bei Bedarf zu ändern.

  7. Klicken Sie auf Erweiterte Optionen.

  8. Klicken Sie auf Netzwerk und konfigurieren Sie die folgenden Felder:

    1. Geben Sie bei Netzwerk-Tags allow-ssh, allow-health-check und allow-proxy-only-subnet ein.
    2. Wählen Sie für Netzwerkschnittstellen Folgendes aus:
      • Netzwerk: lb-network
      • Subnetz: backend-subnet
  9. Klicken Sie auf Verwaltung. Fügen Sie im Feld Startskript das nachfolgende Skript ein.

    #! /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
    
  10. Klicken Sie auf Erstellen.

  11. Wiederholen Sie die folgenden Schritte, um drei weitere VMs mit den folgenden Kombinationen aus Name und Zone zu erstellen:

    • Name: vm-a2, Zone: ZONE_A1
    • Name: vm-c1, Zone: ZONE_A2
    • Name: vm-c2, Zone: ZONE_A2

gcloud

Erstellen Sie die VMs, indem Sie den folgenden Befehl zweimal ausführen und diese Kombinationen für VM_NAME und ZONE verwenden. Der Skriptinhalt ist für beide VMs identisch.

  • VM_NAME: vm-a1 und ZONE: ZONE_A1
  • VM_NAME: vm-a2 und ZONE: ZONE_A1
  • VM_NAME: vm-c1 und ZONE: ZONE_A2
  • VM_NAME: vm-c2 und ZONE: ZONE_A2

    gcloud compute instances create VM_NAME \
        --zone=ZONE \
        --image-family=debian-10 \
        --image-project=debian-cloud \
        --tags=allow-ssh,allow-health-check,allow-proxy-only-subnet \
        --subnet=backend-subnet \
        --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 erstellen

Console

So erstellen Sie eine zonale Netzwerk-Endpunktgruppe:

  1. Rufen Sie in der Google Cloud Console die Seite Netzwerk-Endpunktgruppen auf.

    Zu den Netzwerk-Endpunktgruppen

  2. Klicken Sie auf NETZWERK-ENDPUNKTGRUPPE ERSTELLEN.

  3. Geben Sie für Name zonal-neg-a ein.

  4. Wählen Sie als Typ der Netzwerk-Endpunktgruppe die Option Netzwerk-Endpunktgruppe (Internet) aus.

  5. Wählen Sie für Netzwerk die Option lb-network aus.

  6. Wählen Sie für Subnetz backend-subnet aus.

  7. Wählen Sie bei Zone die Option ZONE_A1 aus.

  8. Geben Sie den Standardport ein: 80.

  9. Klicken Sie auf Erstellen.

  10. Wiederholen Sie alle Schritte in diesem Abschnitt, um eine zweite zonale NEG mit den folgenden Änderungen zu erstellen:

    • Name: zonal-neg-c
    • Zone: ZONE_A2

Fügen Sie den zonalen NEGs Endpunkte hinzu:

  1. Rufen Sie in der Google Cloud Console die Seite Netzwerk-Endpunktgruppen auf.

    Zu den Netzwerk-Endpunktgruppen

  2. Klicken Sie auf den Namen der im vorherigen Schritt erstellten Netzwerk-Endpunktgruppe (z. B. zonal-neg-a). Die Seite Netzwerk-Endpunktgruppendetails wird angezeigt.

  3. Klicken Sie im Bereich Netzwerkendpunkte in dieser Gruppe auf Netzwerkendpunkt hinzufügen. Die Seite Netzwerk-Endpunkt hinzufügen wird angezeigt.

  4. Wählen Sie eine VM-Instanz aus (z. B. vm-a1). Im Abschnitt Netzwerkschnittstelle werden der VM-Name, die Zone und das Subnetz angezeigt.

    1. Geben Sie die IP-Adresse des neuen Netzwerkendpunkts ein. Sie können auf Primäre IP-Adressen und Alias-IP-Bereich in nic0 prüfen für die IP-Adresse.
    2. Wählen Sie als Porttyp die Option Standard aus. Der Endpunkt verwendet dann für alle Endpunkte in der Netzwerk-Endpunktgruppe den Standardport 80. Dies ist für unser Beispiel ausreichend, da der Apache-Server Anfragen an Port 80 verarbeitet.
    3. Klicken Sie auf Erstellen.
  5. Klicken Sie noch einmal auf Netzwerkendpunkt hinzufügen. Wählen Sie die zweite VM-Instanz vm-a2 aus und wiederholen Sie diese Schritte, um zonal-neg-a der Endpunkte hinzuzufügen.

  6. Wiederholen Sie alle Schritte in diesem Abschnitt, um Endpunkte von vm-c1 und vm-c2 zu zonal-neg-c hinzuzufügen.

gcloud

  1. Erstellen Sie eine zonale NEG in der Zone ZONE_A1 mit GCE_VM_IP_PORT-Endpunkten.

    gcloud compute network-endpoint-groups create zonal-neg-a \
       --network-endpoint-type=GCE_VM_IP_PORT \
       --zone=ZONE_A1 \
       --network=lb-network \
       --subnet=backend-subnet
    

    Sie können entweder beim Erstellen der NEG einen --default-port angeben oder eine Portnummer für jeden Endpunkt festlegen, wie im nächsten Schritt gezeigt.

  2. Fügen Sie der zonalen NEG Endpunkte hinzu.

    gcloud compute network-endpoint-groups update zonal-neg-a \
        --zone=ZONE_A1 \
        --add-endpoint='instance=vm-a1,port=80' \
        --add-endpoint='instance=vm-a2,port=80'
    
  3. Erstellen Sie eine zonale NEG in der Zone ZONE_A2 mit GCE_VM_IP_PORT-Endpunkten.

    gcloud compute network-endpoint-groups create zonal-neg-c \
        --network-endpoint-type=GCE_VM_IP_PORT \
        --zone=ZONE_A2 \
        --network=lb-network \
        --subnet=backend-subnet
    

    Sie können entweder beim Erstellen der NEG einen --default-port angeben oder eine Portnummer für jeden Endpunkt festlegen, wie im nächsten Schritt gezeigt.

  4. Fügen Sie der zonalen NEG Endpunkte hinzu.

    gcloud compute network-endpoint-groups update zonal-neg-c \
        --zone=ZONE_A2 \
        --add-endpoint='instance=vm-c1,port=80' \
        --add-endpoint='instance=vm-c2,port=80'
    

Load-Balancer konfigurieren

Console

Konfiguration starten

  1. Rufen Sie in der Google Cloud Console die Seite Load-Balancing auf.

    Load-Balancing aufrufen

  2. Klicken Sie auf Load-Balancer erstellen.
  3. Wählen Sie unter Typ des Load Balancers die Option Network Load Balancer (TCP/UDP/SSL) aus und klicken Sie auf Weiter.
  4. Wählen Sie unter Proxy oder Passthrough die Option Proxy-Load Balancer aus und klicken Sie auf Weiter.
  5. Wählen Sie für Öffentlich oder intern die Option Intern aus und klicken Sie auf Weiter.
  6. Wählen Sie für Regionenübergreifende oder Einzelregion-Bereitstellung die Option Am besten für regionale Arbeitslasten aus und klicken Sie auf Weiter.
  7. Klicken Sie auf Konfigurieren.

Grundlegende Konfiguration

  1. Geben Sie für Name my-int-tcp-lb ein.
  2. Wählen Sie bei Region die Option REGION_A aus.
  3. Wählen Sie für Netzwerk die Option lb-network aus.

Nur-Proxy-Subnetz reservieren

So reservieren Sie ein Nur-Proxy-Subnetz:

  1. Klicken Sie auf Subnetz reservieren.
  2. Geben Sie für Name proxy-only-subnet ein.
  3. Geben Sie 10.129.0.0/23 als IP-Adressbereich ein.
  4. Klicken Sie auf Add (Hinzufügen).

Back-End-Konfiguration

  1. Klicken Sie auf Backend-Konfiguration.
  2. Wählen Sie als Backend-Typ die Option Internetnetzwerk-Endpunktgruppe aus.
  3. Wählen Sie für Protocol die Option TCP aus.
  4. Configure the first backend:
    1. Wählen Sie unter Neues Backend die zonale NEG zonal-neg-a aus.
    2. Behalten Sie die verbleibenden Standardwerte bei und klicken Sie auf Fertig.
  5. Configure the second backend:
    1. Klicken Sie auf Backend hinzufügen.
    2. Wählen Sie unter Neues Backend die Instanzgruppe zonal-neg-c aus.
    3. Behalten Sie die verbleibenden Standardwerte bei und klicken Sie auf Fertig.
  6. Systemdiagnose konfigurieren:
    1. Klicken Sie bei Systemdiagnose auf Systemdiagnose erstellen.
    2. Geben Sie als Name für die Systemdiagnose tcp-health-check an.
    3. Wählen Sie für Protocol die Option TCP aus.
    4. Geben Sie für Port den Wert 80 ein.
  7. Behalten Sie die verbleibenden Standardwerte bei und klicken Sie auf Speichern.
  8. Prüfen Sie in der Google Cloud Console, ob neben Backend-Konfiguration ein Häkchen angezeigt wird. Ist dies nicht der Fall, prüfen Sie, ob Sie alle Schritte ausgeführt haben.

Front-End-Konfiguration

  1. Klicken Sie auf Frontend-Konfiguration.
  2. Geben Sie für Name int-tcp-forwarding-rule ein.
  3. Wählen Sie als Subnetzwerk backend-subnet aus.
  4. Wählen Sie für IP-Adresse den Wert int-tcp-ip-address aus.
  5. Geben Sie als Portnummer 9090 ein. Die Weiterleitungsregel leitet nur Pakete mit einem übereinstimmenden Zielport weiter.
  6. Aktivieren Sie in diesem Beispiel das Proxyprotokoll nicht, da es mit der Apache HTTP Server-Software nicht funktioniert. Weitere Informationen finden Sie unter Proxyprotokoll.
  7. Klicken Sie auf Fertig.
  8. Prüfen Sie in der Google Cloud Console, ob neben Frontend-Konfiguration ein Häkchen angezeigt wird. Ist dies nicht der Fall, prüfen Sie, ob Sie alle vorherigen Schritte ausgeführt haben.

Überprüfen und abschließen

  1. Klicken Sie auf Überprüfen und abschließen.
  2. Kontrollieren Sie die Einstellungen.
  3. Klicken Sie auf Erstellen.

gcloud

  1. Erstellen Sie eine regionale Systemdiagnose für die Back-Ends.

    gcloud compute health-checks create tcp tcp-health-check \
        --region=REGION_A \
        --use-serving-port
    
  2. Erstellen Sie einen Backend-Dienst.

    gcloud compute backend-services create internal-tcp-proxy-bs \
       --load-balancing-scheme=INTERNAL_MANAGED \
       --protocol=TCP \
       --region=REGION_A \
       --health-checks=tcp-health-check \
       --health-checks-region=REGION_A
    
  3. Fügen Sie dem Backend-Dienst die zonale NEG in der Zone ZONE_A1 hinzu.

    gcloud compute backend-services add-backend internal-tcp-proxy-bs \
       --network-endpoint-group=zonal-neg-a \
       --network-endpoint-group-zone=ZONE_A1 \
       --balancing-mode=CONNECTION \
       --max-connections-per-endpoint=50 \
       --region=REGION_A
    
  4. Fügen Sie dem Backend-Dienst die zonale NEG in der Zone ZONE_A2 hinzu.

    gcloud compute backend-services add-backend internal-tcp-proxy-bs \
       --network-endpoint-group=zonal-neg-c \
       --network-endpoint-group-zone=ZONE_A2 \
       --balancing-mode=CONNECTION \
       --max-connections-per-endpoint=50 \
       --region=REGION_A
    
  5. Erstellen Sie den Ziel-TCP-Proxy.

    gcloud compute target-tcp-proxies create int-tcp-target-proxy \
       --backend-service=internal-tcp-proxy-bs \
       --region=REGION_A
    
  6. Erstellen Sie die Weiterleitungsregel. Geben Sie für --ports eine einzelne Portnummer zwischen 1 und 65535 an. In diesem Beispiel wird Port 9090 verwendet. Die Weiterleitungsregel leitet nur Pakete mit einem übereinstimmenden Zielport weiter.

    gcloud compute forwarding-rules create int-tcp-forwarding-rule \
      --load-balancing-scheme=INTERNAL_MANAGED \
      --network=lb-network \
      --subnet=backend-subnet \
      --address=int-tcp-ip-address \
      --ports=9090 \
      --region=REGION_A \
      --target-tcp-proxy=int-tcp-target-proxy \
      --target-tcp-proxy-region=REGION_A
    

Load-Balancer testen

Um den Load-Balancer zu testen, erstellen Sie eine Client-VM in der Region des Load-Balancers. Senden Sie dann Traffic vom Client an den Load-Balancer.

Client-VM erstellen

Erstellen Sie eine Client-VM (client-vm) in derselben Region wie der Load-Balancer.

Console

  1. Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.

    Zu Seite „VM-Instanzen“

  2. Klicken Sie auf Instanz erstellen.

  3. Legen Sie als Name client-vm fest.

  4. Legen Sie für Zone den Wert ZONE_A1 fest.

  5. Klicken Sie auf Erweiterte Optionen.

  6. Klicken Sie auf Netzwerk und konfigurieren Sie die folgenden Felder:

    1. Geben Sie bei Netzwerk-Tags den Wert allow-ssh ein.
    2. Wählen Sie für Netzwerkschnittstellen Folgendes aus:
      • Netzwerk: lb-network
      • Subnetz: backend-subnet
  7. Klicken Sie auf Erstellen.

gcloud

Die Client-VM muss sich im selben VPC-Netzwerk und in derselben Region wie der Load-Balancer befinden. Sie muss sich nicht im selben Subnetz oder in derselben Zone befinden. Der Client verwendet dasselbe Subnetz wie die Backend-VMs.

gcloud compute instances create client-vm \
    --zone=ZONE_A1 \
    --image-family=debian-10 \
    --image-project=debian-cloud \
    --tags=allow-ssh \
    --subnet=backend-subnet

Traffic an den Load-Balancer senden

Nachdem Sie den Load-Balancer konfiguriert haben, können Sie Traffic zum Testen an die IP-Adresse des Load-Balancers senden.

  1. Verwenden Sie SSH, um eine Verbindung zur Clientinstanz herzustellen.

    gcloud compute ssh client-vm \
      --zone=ZONE_A1
    
  2. Prüfen Sie, ob der Load-Balancer die Backend-Hostnamen wie erwartet bereitstellt.

    1. Verwenden Sie den Befehl compute addresses describe, um die IP-Adresse des Load-Balancers aufzurufen:

      gcloud compute addresses describe int-tcp-ip-address \
        --region=REGION_A
      

      Notieren Sie sich die IP-Adresse.

    2. Traffic an den Load-Balancer senden Ersetzen Sie IP_ADDRESS durch die IP-Adresse des Load-Balancers.

      curl IP_ADDRESS:9090
      

Nächste Schritte