Internen regionalen TCP-Proxy-Load-Balancer mit zonalen NEG-Back-Ends einrichten

Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

Der interne regionale TCP-Proxy-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.

Diese Anleitung enthält eine Anleitung zum Einrichten eines internen regionalen TCP-Proxy-Load-Balancers mit einem NEG-Back-End (Netzwerk-Endpunktgruppe). Überprüfen Sie bitte Folgendes, bevor Sie beginnen:

Übersicht

In diesem Beispiel verwenden wir den Load-Balancer, um TCP-Traffic auf Back-End-VMs in zwei zonalen NEGs in der Region us-west1 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 internen regionalen TCP-Proxy-Load-Balancer mit zonalen NEG-Back-Ends.
Beispielkonfiguration für internen regionalen TCP-Proxy-Load-Balancer mit zonalen NEG-Back-Ends

Der interne regionale TCP-Proxy-Load-Balancer ist ein regionaler Load-Balancer. Alle Load-Balancer-Komponenten (Back-End-Instanzgruppen, Back-End-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. Ein interner regionaler TCP-Proxy-Load-Balancer ist 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 us-west1 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 us-west1 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: us-west1
      • 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 us-west1:

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

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 us-west1 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 us-west1 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=us-west1 \
    --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 Back-End-Instanzen auf dem TCP-Port 80 kommunizieren kann: In diesem Beispiel wird das Ziel-Tag allow-proxy-only-subnet verwendet, um die Back-End-VMs zu identifizieren, auf die sie angewendet werden soll.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Firewalls auf.
    Zu „Firewalls”
  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 neben 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 Back-End-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 Back-End-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

Console

Sie können eine interne IP-Adresse über die Google Cloud Console reservieren.

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

    Zur Seite VPC-Netzwerke

  2. Klicken Sie auf das Netzwerk, das zum Konfigurieren der Hybridkonnektivität zwischen den Umgebungen verwendet wurde.
  3. Klicken Sie auf Statische interne IP-Adressen und dann auf Statische Adresse reservieren.
  4. Geben Sie für Name int-tcp-ip-address ein.
  5. Wählen Sie als Subnetz backend-subnet aus.
  6. Wenn Sie angeben möchten, welche IP-Adresse reserviert werden soll, wählen Sie unter Statische IP-Adresse die Option Selbst auswählen aus und geben Sie dann eine benutzerdefinierte IP-Adresse ein. Andernfalls weist das System automatisch eine IP-Adresse im Subnetz zu.
  7. Wenn Sie diese IP-Adresse mit mehreren Weiterleitungsregeln verwenden möchten, wählen Sie unter Zweck die Option Freigegeben aus.
  8. Klicken Sie auf Reservieren, um den Vorgang abzuschließen.

gcloud

Reservieren Sie eine regionale interne IP-Adresse für die Weiterleitungsregel des Load-Balancers.

gcloud compute addresses create int-tcp-ip-address \
    --region=us-west1 \
    --subnet=backend-subnet \
    --purpose=SHARED_LOADBALANCER_VIP

Zonale NEG einrichten

Richten Sie eine zonale NEG (mit Endpunkten des Typs GCE_VM_IP_PORT) in der Region us-west1 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.
    Zur Seite „VM-Instanzen“
  2. Klicken Sie auf Instanz erstellen.
  3. Legen Sie als Name vm-a1 fest.
  4. Wählen Sie us-west1 als Region aus.
  5. Informationen zur Zone finden Sie unter us-west1-a.
  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
    sudo apt-get update
    sudo apt-get install apache2 -y
    sudo a2ensite default-ssl
    sudo a2enmod ssl
    vm_hostname="$(curl -H "Metadata-Flavor:Google" \
    http://169.254.169.254/computeMetadata/v1/instance/name)"
    sudo echo "Page served from: $vm_hostname" | \
    tee /var/www/html/index.html
    
  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: us-west1-a
    • Name: vm-c1, Zone: us-west1-c
    • Name: vm-c2, Zone: us-west1-c

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: us-west1-a
  • VM_NAME: vm-a2 und ZONE: us-west1-a
  • VM_NAME: vm-c1 und ZONE: us-west1-c
  • VM_NAME: vm-c2 und ZONE: us-west1-c

    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
         vm_hostname="$(curl -H "Metadata-Flavor:Google" \
         http://169.254.169.254/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. Gehen Sie in der Google Cloud Console zur Seite "Netzwerk-Endpunktgruppen".
    Zur Seite "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 us-west1-a 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: us-west1-c

Fügen Sie den zonalen NEGs Endpunkte hinzu:

  1. Gehen Sie in der Google Cloud Console zur Seite "Netzwerk-Endpunktgruppen".
    Zur Netzwerk-Endpunktgruppe
  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 us-west1-a mit GCE_VM_IP_PORT-Endpunkten.

    gcloud compute network-endpoint-groups create zonal-neg-a \
       --network-endpoint-type=GCE_VM_IP_PORT \
       --zone=us-west1-a \
       --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=us-west1-a \
        --add-endpoint='instance=vm-a1,port=80' \
        --add-endpoint='instance=vm-a2,port=80'
    
  3. Erstellen Sie eine zonale NEG in der Zone us-west1-c mit GCE_VM_IP_PORT-Endpunkten.

    gcloud compute network-endpoint-groups create zonal-neg-c \
        --network-endpoint-type=GCE_VM_IP_PORT \
        --zone=us-west1-c \
        --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=us-west1-c \
        --add-endpoint='instance=vm-c1,port=80' \
        --add-endpoint='instance=vm-c2,port=80'
    

Load-Balancer konfigurieren

Console

Konfiguration starten

  1. Öffnen Sie in der Google Cloud Console die Seite "Load-Balancing".
    Zur Seite "Load-Balancing"
  2. Klicken Sie auf Load-Balancer erstellen.
  3. Klicken Sie unter TCP-Lastenausgleich auf Konfiguration starten.
  4. Wählen Sie unter Internet oder nur intern die Option Nur zwischen meinen VMs aus.
  5. Wählen Sie unter Mehrere Regionen oder einzelne Region die Option eine einzelne Region aus.
  6. Wählen Sie unter Load-Balancer-Typ die Option Proxy aus.
  7. Klicken Sie auf Weiter.
  8. Geben Sie für Name my-int-tcp-lb ein.
  9. Wählen Sie bei Region die Option us-west1 aus.
  10. 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 Back-End-Konfiguration.
  2. Wählen Sie als Back-End-Typ die Option Internetnetzwerk-Endpunktgruppe aus.
  3. Wählen Sie für Protocol die Option TCP aus.
  4. Konfigurieren Sie das erste Back-End:
    1. Wählen Sie unter Neues Back-End die zonale NEG zonal-neg-a aus.
    2. Behalten Sie die verbleibenden Standardwerte bei und klicken Sie auf Fertig.
  5. Konfigurieren Sie das zweite Back-End:
    1. Klicken Sie auf Back-End hinzufügen.
    2. Wählen Sie unter Neues Back-End 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 Back-End-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 Front-End-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 Front-End-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=us-west1 \
        --use-serving-port
    
  2. Erstellen Sie einen Back-End-Dienst.

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

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

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

    gcloud compute target-tcp-proxies create int-tcp-target-proxy \
       --backend-service=internal-tcp-proxy-bs \
       --region=us-west1
    
  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=us-west1 \
      --target-tcp-proxy=int-tcp-target-proxy \
      --target-tcp-proxy-region=us-west1
    

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 „VM-Instanzen“

  2. Klicken Sie auf Instanz erstellen.

  3. Legen Sie als Name client-vm fest.

  4. Legen Sie für Zone den Wert us-west1-a 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 Back-End-VMs.

gcloud compute instances create client-vm \
    --zone=us-west1-a \
    --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. Stellen Sie über SSH eine Verbindung zur Clientinstanz her.

    gcloud compute ssh client-vm \
      --zone=us-west1-a
    
  2. Prüfen Sie, ob der Load-Balancer die Back-End-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=us-west1
      

      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