Internen Passthrough-Network Load Balancer mit zonalen NEGs einrichten

In dieser Anleitung erfahren Sie, wie Sie einen internen Passthrough-Network Load Balancer mit zonalen NEG-Back-Ends (Network Endpoint Group) bereitstellen. Zonale NEGs sind zonale Ressourcen, die Kombinationen aus IP-Adressen oder IP-Adressen/Port-Kombinationen für Google Cloud-Ressourcen in einem einzelnen Subnetz darstellen. Mit NEGs können Sie logische Gruppen von IP-Adressen oder IP-Adressen/Port-Kombinationen erstellen, die Softwaredienste anstelle von ganzen VMs darstellen.

Bevor Sie diese Anleitung durcharbeiten, sollten Sie sich mit Folgendem vertraut machen:

Interne Passthrough-Network Load Balancer unterstützen nur zonale NEGs mit GCE_VM_IP-Endpunkten.

Berechtigungen

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

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:

Einrichtung: Übersicht

In dieser Anleitung erfahren Sie, wie Sie einen internen Passthrough-Network Load Balancer mit zonalen GCE_VM_IP-NEG-Back-Ends konfigurieren und testen. Die Schritte in diesem Abschnitt zeigen, wie Sie folgende Elemente konfigurieren:

  1. Ein VPC-Netzwerk mit dem Namen lb-network und einem benutzerdefinierten Subnetz
  2. Firewall-Regeln, die eingehende Verbindung zu Backend-VMs ermöglichen
  3. Vier VMs:
    • VMs vm-a1 und vm-a2 in Zone us-west1-a
    • VMs vm-c1 und vm-c2 in Zone us-west1-c
  4. Zwei zonale Back-End-NEGs, neg-a in Zone us-west1-a und neg-c in Zone us-west1-c. Jede NEG hat folgende Endpunkte:
    • neg-a enthält diese beiden Endpunkte:
      • Interne IP-Adresse der VM vm-a1
      • Interne IP-Adresse der VM vm-a2
    • neg-c enthält diese beiden Endpunkte:
      • Interne IP-Adresse der VM vm-c1
      • Interne IP-Adresse der VM vm-c2
  5. Eine Client-VM (vm-client) in us-west1-a zum Testen von Verbindungen
  6. Die folgenden Komponenten für den internen Passthrough-Network Load Balancer:
    • Einen internen Backend-Dienst in der Region us-west1, um die Verteilung von Verbindungen zu den zwei zonalen NEGs zu verwalten
    • Eine interne Weiterleitungsregel und eine interne IP-Adresse für das Frontend des Load-Balancers

Die Architektur dieses Beispiels sieht so aus:

Konfiguration des internen Passthrough-Network Load Balancers mit zonalen NEGs
Konfiguration des internen Passthrough-Network Load Balancers mit zonalen NEGs

Netzwerk, Region und Subnetz konfigurieren

Der auf dieser Seite beschriebene interne Passthrough-Network Load Balancer wird in einem VPC-Netzwerk im benutzerdefinierten Modus mit dem Namen lb-network erstellt.

Die Backend-VMs, die zonalen NEGs und die Komponenten des Load-Balancers aus diesem Beispiel befinden sich in dieser Region und diesem Subnetz:

  • Region: us-west1
  • Subnetz: lb-subnet, mit primärem IP-Adressbereich 10.1.2.0/24

Gehen Sie so vor, um das Netzwerk und das Subnetz zu erstellen:

Console

  1. Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf.
    Zur VPC-Netzwerkseite
  2. Klicken Sie auf VPC-Netzwerk erstellen.
  3. Geben Sie als 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: lb-subnet
      • Region: us-west1
      • IP-Adressbereich: 10.1.2.0/24
      • Klicken Sie auf Fertig.
  5. Klicken Sie auf Erstellen.

gcloud

  1. Erstellen Sie das benutzerdefinierte VPC-Netzwerk:

    gcloud compute networks create lb-network --subnet-mode=custom
    
    1. Erstellen Sie im Netzwerk lb-network ein Subnetz für Back-End-VMs in der Region us-west1:
    gcloud compute networks subnets create lb-subnet \
        --network=lb-network \
        --range=10.1.2.0/24 \
        --region=us-west1
    

Firewallregeln konfigurieren

In diesem Beispiel werden die folgenden Firewallregeln verwendet:

  • fw-allow-lb-access: Eine Regel für eingehenden Traffic, die für alle Ziele im VPC-Netzwerk gilt und Traffic aus Quellen im Bereich 10.1.2.0/24 zulässt. Diese Regel lässt eingehenden Traffic von jedem Client in lb-subnet zu.

  • fw-allow-ssh: eine Regel für eingehenden Traffic, die für die Instanzen mit Load-Balancing gilt und 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.

Ohne diese Firewallregeln blockiert die Standardregel zum Ablehnen von eingehendem Traffic den eingehenden Traffic zu den Back-End-Instanzen.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Firewall auf.
    Zu den Firewall-Richtlinien
  2. Klicken Sie auf Firewallregel erstellen und geben Sie folgende Informationen ein, um die Regel zu erstellen, die Subnetztraffic zulässt:
    • Name: fw-allow-lb-access
    • Netzwerk: lb-network
    • Priorität: 1000
    • Trafficrichtung: Eingehend
    • Aktion bei Übereinstimmung: Zulassen
    • Ziele: Alle Instanzen im Netzwerk
    • Quellfilter: IPv4-Bereiche.
    • Source IPv4 ranges: 10.1.2.0/24
    • Protokolle und Ports: Alle zulassen
  3. Klicken Sie auf Erstellen.
  4. 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
  5. Klicken Sie auf Erstellen.
  6. Klicken Sie ein drittes Mal auf Firewallregel erstellen, um die Regel zum Zulassen von Google Cloud-Systemdiagnosen zu erstellen:
    • Name: fw-allow-health-check
    • Netzwerk: lb-network
    • Priorität: 1000
    • Trafficrichtung: Eingehend
    • Aktion bei Übereinstimmung: Zulassen
    • Ziele: Angegebene Ziel-Tags
    • Zieltags: allow-health-check
    • Quellfilter: IPv4-Bereiche.
    • IPv4-Quellbereiche: 130.211.0.0/22 und 35.191.0.0/16
    • Protokolle und Ports: Alle zulassen
  7. Klicken Sie auf Erstellen.

gcloud

  1. Erstellen Sie die Firewallregel fw-allow-lb-access, um die Kommunikation mit dem Subnetz zuzulassen:

    gcloud compute firewall-rules create fw-allow-lb-access \
        --network=lb-network \
        --action=allow \
        --direction=ingress \
        --source-ranges=10.1.2.0/24 \
        --rules=tcp,udp,icmp
    
  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 die Regel fw-allow-health-check, um Google Cloud-Systemdiagnosen zuzulassen.

    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,udp,icmp
    

NEG-Backends erstellen

Um den regionalen Charakter von internen Passthrough-Network Load Balancern zu veranschaulichen, verwendet dieses Beispiel zwei zonale NEG-Back-Ends, neg-a und neg-c, in den Zonen us-west1-a und us- west1-c. Für den Traffic wird über beide NEGs und über die Endpunkte innerhalb jedes NEGs Load-Balancing durchgeführt.

VMs erstellen

Um dieses Beispiel zu unterstützen, führt jede der vier VMs einen Apache-Webserver aus, der die folgenden TCP-Ports überwacht: 80, 8008, 8080, 8088, 443 und 8443.

Jeder VM wird eine interne IP-Adresse im lb-subnet und eine sitzungsspezifische externe (öffentliche) IP-Adresse zugewiesen. Sie können die externen IP-Adressen später entfernen.

Externe IP-Adressen sind für Backend-VMs nicht erforderlich. Sie sind jedoch für dieses Beispiel nützlich, da sie den VMs erlauben, Apache aus dem Internet herunterzuladen, und Ihnen die Möglichkeit bieten, Verbindungen über SSH herzustellen. Apache ist standardmäßig für die Bindung an eine beliebige IP-Adresse konfiguriert. Interne Passthrough-Network Load Balancer liefern Pakete aus und behalten dabei die Ziel-IP bei.

Stellen Sie sicher, dass die Serversoftware, die auf Ihren VMs läuft, auf die IP-Adresse der internen Weiterleitungsregel des Load-Balancers hört.

Zur Vereinfachung der Anleitung führen diese Back-End-VMs Debian GNU/Linux 10 aus.

Console

VMs erstellen

  1. Rufen Sie in der Google Cloud Console die Seite „VM-Instanzen” auf.
    Zur Seite „VM-Instanzen”
  2. Wiederholen Sie die nachstehenden Schritte, um vier VMs mit den folgenden Kombinationen aus Name und Zone zu erstellen.
    • Name: vm-a1, Zone: us-west1-a
    • Name: vm-a2, Zone: us-west1-a
    • Name: vm-c1, Zone: us-west1-c
    • Name: vm-c2, Zone: us-west1-c
  3. Klicken Sie auf Instanz erstellen.
  4. Legen Sie den Namen wie in Schritt 2 angegeben fest.
  5. Wählen Sie für die Region us-west1 aus und legen Sie die Zone wie in Schritt 2 angegeben fest.
  6. Achten Sie darauf, dass im Abschnitt Bootlaufwerk Debian GNU/Linux 12 (bookworm) als Bootlaufwerk-Optionen ausgewählt ist. Klicken Sie auf Auswählen, um das Image bei Bedarf zu ändern.
  7. Klicken Sie auf Erweiterte Optionen und nehmen Sie die folgenden Änderungen vor:

    • Klicken Sie auf Netzwerk und fügen Sie die folgenden Netzwerk-Tags hinzu: allow-ssh und allow-health-check
    • Klicken Sie unter Netzwerkschnittstellen auf Bearbeiten , nehmen Sie die folgenden Änderungen vor und klicken Sie dann auf Fertig:
      • Netzwerk: lb-network
      • Subnetz: lb-subnet
      • Primäre interne IP: flüchtig (automatisch)
      • Externe IP: sitzungsspezifisch
    • Klicken Sie auf Verwaltung. Kopieren Sie den folgenden Skriptinhalt und fügen Sie ihn im Feld Startskript ein. Der Skriptinhalt ist für alle vier VMs gleich:

      #! /bin/bash
      if [ -f /etc/startup_script_completed ]; then
      exit 0
      fi
      apt-get update
      apt-get install apache2 -y
      a2ensite default-ssl
      a2enmod ssl
      file_ports="/etc/apache2/ports.conf"
      file_http_site="/etc/apache2/sites-available/000-default.conf"
      file_https_site="/etc/apache2/sites-available/default-ssl.conf"
      http_listen_prts="Listen 80\nListen 8008\nListen 8080\nListen 8088"
      http_vh_prts="*:80 *:8008 *:8080 *:8088"
      https_listen_prts="Listen 443\nListen 8443"
      https_vh_prts="*:443 *:8443"
      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
      echo "Page served from: $vm_hostname" | \
      tee /var/www/html/index.html
      prt_conf="$(cat "$file_ports")"
      prt_conf_2="$(echo "$prt_conf" | sed "s|Listen 80|${http_listen_prts}|")"
      prt_conf="$(echo "$prt_conf_2" | sed "s|Listen 443|${https_listen_prts}|")"
      echo "$prt_conf" | tee "$file_ports"
      http_site_conf="$(cat "$file_http_site")"
      http_site_conf_2="$(echo "$http_site_conf" | sed "s|*:80|${http_vh_prts}|")"
      echo "$http_site_conf_2" | tee "$file_http_site"
      https_site_conf="$(cat "$file_https_site")"
      https_site_conf_2="$(echo "$https_site_conf" | sed "s|_default_:443|${https_vh_prts}|")"
      echo "$https_site_conf_2" | tee "$file_https_site"
      systemctl restart apache2
      touch /etc/startup_script_completed
      
  8. Klicken Sie auf Erstellen.

gcloud

Erstellen Sie die vier VMs. Führen Sie dazu den folgenden Befehl viermal aus und verwenden Sie die nachstehenden vier Kombinationen für [VM-NAME] und [ZONE]. Der Skriptinhalt ist für alle vier VMs identisch.

  • [VM-NAME]: vm-a1; [ZONE]: us-west1-a
  • [VM-NAME]: vm-a2; [ZONE]: us-west1-a
  • [VM-NAME]: vm-c1; [ZONE]: us-west1-c
  • [VM-NAME]: vm-c2; [ZONE]: us-west1-c

    gcloud compute instances create VM-NAME \
        --zone=ZONE \
        --image-family=debian-12 \
        --image-project=debian-cloud \
        --tags=allow-ssh,allow-health-check \
        --subnet=lb-subnet \
        --metadata=startup-script='#! /bin/bash
    if [ -f /etc/startup_script_completed ]; then
    exit 0
    fi
    apt-get update
    apt-get install apache2 -y
    a2ensite default-ssl
    a2enmod ssl
    file_ports="/etc/apache2/ports.conf"
    file_http_site="/etc/apache2/sites-available/000-default.conf"
    file_https_site="/etc/apache2/sites-available/default-ssl.conf"
    http_listen_prts="Listen 80\nListen 8008\nListen 8080\nListen 8088"
    http_vh_prts="*:80 *:8008 *:8080 *:8088"
    https_listen_prts="Listen 443\nListen 8443"
    https_vh_prts="*:443 *:8443"
    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
    prt_conf="$(cat "$file_ports")"
    prt_conf_2="$(echo "$prt_conf" | sed "s|Listen 80|${http_listen_prts}|")"
    prt_conf="$(echo "$prt_conf_2" | sed "s|Listen 443|${https_listen_prts}|")"
    echo "$prt_conf" | tee "$file_ports"
    http_site_conf="$(cat "$file_http_site")"
    http_site_conf_2="$(echo "$http_site_conf" | sed "s|*:80|${http_vh_prts}|")"
    echo "$http_site_conf_2" | tee "$file_http_site"
    https_site_conf="$(cat "$file_https_site")"
    https_site_conf_2="$(echo "$https_site_conf" | sed "s|_default_:443|${https_vh_prts}|")"
    echo "$https_site_conf_2" | tee "$file_https_site"
    systemctl restart apache2
    touch /etc/startup_script_completed'
    

Zonale GCE_VM_IP-NEGs erstellen

Die NEGs (neg-a und neg-c) müssen in den Zonen erstellt werden, in denen sich die im vorherigen Schritt erstellten VMs befinden.

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 einen Namen für die zonale NEG neg-a ein.
  4. Wählen Sie den Typ der Netzwerk-Endpunktgruppe aus: Netzwerk-Endpunktgruppe (zonal).
  5. Wählen Sie das Netzwerk aus: lb-network
  6. Wählen Sie das Subnetz aus: lb-subnet
  7. Wählen Sie die Zone aus: us-west1-a.
  8. Klicken Sie auf Erstellen.
  9. Wiederholen Sie diese Schritte, um eine zweite zonale NEG mit dem Namen neg-c in der Zone us-west1-c zu erstellen.

Fügen Sie der zonalen NEG Endpunkte hinzu:

  1. Gehen Sie in der Google Cloud Console zur Seite "Netzwerk-Endpunktgruppen".
    Zur Netzwerk-Endpunktgruppe
  2. Klicken Sie auf den Namen der ersten Netzwerk-Endpunktgruppe, die im vorherigen Schritt erstellt wurde (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.

    1. Klicken Sie auf VM-Instanz und wählen Sie vm-a1 aus, um dessen interne IP-Adressen als Netzwerkendpunkte hinzuzufügen.
    2. Klicken Sie auf Erstellen.
    3. Klicken Sie noch einmal auf Netzwerkendpunkt hinzufügen und wählen Sie unter VM-Instanz vm-a2 aus.
    4. Klicken Sie auf Erstellen.
  4. Klicken Sie auf den Namen der zweiten Netzwerk-Endpunktgruppe, die im vorherigen Schritt erstellt wurde (neg-c). Die Seite Netzwerk-Endpunktgruppendetails wird angezeigt.

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

    1. Klicken Sie auf VM-Instanz und wählen Sie vm-c1 aus, um die internen IP-Adressen als Netzwerkendpunkte hinzuzufügen.
    2. Klicken Sie auf Erstellen.
    3. Klicken Sie noch einmal auf Netzwerkendpunkt hinzufügen und wählen Sie unter VM-Instanz vm-c2 aus.
    4. Klicken Sie auf Erstellen.

gcloud

  1. Erstellen Sie mit dem Befehl gcloud compute network-endpoint-groups create eine zonale GCE_VM_IP-NEG mit dem Namen neg-a in us-west1-a:

    gcloud compute network-endpoint-groups create neg-a \
        --network-endpoint-type=gce-vm-ip \
        --zone=us-west1-a \
        --network=lb-network \
        --subnet=lb-subnet
    
  2. Fügen Sie Endpunkte zu neg-a hinzu:

    gcloud compute network-endpoint-groups update neg-a \
        --zone=us-west1-a \
        --add-endpoint='instance=vm-a1' \
        --add-endpoint='instance=vm-a2'
    
  3. Erstellen Sie mit dem Befehl gcloud compute network-endpoint-groups create eine zonale GCE_VM_IP-NEG mit dem Namen neg-c in us-west1-c:

    gcloud compute network-endpoint-groups create neg-c \
        --network-endpoint-type=gce-vm-ip \
        --zone=us-west1-c \
        --network=lb-network \
        --subnet=lb-subnet
    
  4. Fügen Sie Endpunkte zu neg-c hinzu:

    gcloud compute network-endpoint-groups update neg-c \
        --zone=us-west1-c \
        --add-endpoint='instance=vm-c1' \
        --add-endpoint='instance=vm-c2'
    

Load-Balancer-Komponenten konfigurieren

Mit den folgenden Schritten konfigurieren Sie alle internen Passthrough-Network Load Balancer-Komponenten:

  • Backend-Dienst: In diesem Beispiel müssen Sie HTTP-Traffic über den Load-Balancer weiterleiten. Sie müssen also TCP anstelle von UDP verwenden.

  • Weiterleitungsregel: Dieses Beispiel erstellt eine einzelne interne Weiterleitungsregel.

  • Interne IP-Adresse: In diesem Beispiel geben Sie beim Erstellen der Weiterleitungsregel eine interne IP-Adresse (10.1.2.99) an.

Console

gcloud

  1. Erstellen Sie eine neue regionale HTTP-Systemdiagnose.

    gcloud compute health-checks create http hc-http-80 \
        --region=us-west1 \
        --port=80
    
  2. Erstellen Sie den Back-End-Dienst:

    gcloud compute backend-services create bs-ilb \
        --load-balancing-scheme=internal \
        --protocol=tcp \
        --region=us-west1 \
        --health-checks=hc-http-80 \
        --health-checks-region=us-west1
    
  3. Fügen Sie dem Back-End-Dienst die beiden zonalen NEGs neg-a und neg-c hinzu:

    gcloud compute backend-services add-backend bs-ilb \
        --region=us-west1 \
        --network-endpoint-group=neg-a \
        --network-endpoint-group-zone=us-west1-a
    
    gcloud compute backend-services add-backend bs-ilb \
        --region=us-west1 \
        --network-endpoint-group=neg-c \
        --network-endpoint-group-zone=us-west1-c
    
  4. Erstellen Sie eine Weiterleitungsregel für den Backend-Dienst. Wenn Sie die Weiterleitungsregel erstellen, geben Sie für die interne IP-Adresse im Subnetz den Wert 10.1.2.99 an.

    gcloud compute forwarding-rules create fr-ilb \
        --region=us-west1 \
        --load-balancing-scheme=internal \
        --network=lb-network \
        --subnet=lb-subnet \
        --address=10.1.2.99 \
        --ip-protocol=TCP \
        --ports=80,8008,8080,8088 \
        --backend-service=bs-ilb \
        --backend-service-region=us-west1
    

Load-Balancer testen

Dieser Test nimmt von einer separaten Client-VM Verbindung mit dem Load-Balancer auf, also nicht von einer Backend-VM des Load-Balancers. Dabei wird folgendes Verhalten erwartet: Der Traffic wird zwischen den vier Back-End-VMs verteilt, da keine Sitzungsaffinität konfiguriert wurde.

Eine Testclient-VM erstellen

In diesem Beispiel wird eine Client-VM (vm-client) erstellt, die sich in derselben Region wie die Backend-VMs (Server) befindet. Der Client validiert die Konfiguration des Load-Balancers und demonstriert das erwartete Verhalten, wie im Abschnitt "Test" beschrieben.

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-client fest.
  4. Setzen Sie Zone auf us-west1-a.
  5. Klicken Sie auf Erweiterte Optionen und nehmen Sie die folgenden Änderungen vor:
    • Klicken Sie auf Vernetzung und fügen Sie allow-ssh an die Netzwerk-Tags hinzu.
    • Klicken Sie unter Netzwerkschnittstellen auf die Schaltfläche "Bearbeiten", nehmen Sie die folgenden Änderungen vor und klicken Sie auf Fertig:
      • Netzwerk: lb-network
      • Subnetz: lb-subnet
      • Primäre interne IP: flüchtig (automatisch)
      • Externe IP: sitzungsspezifisch
  6. Klicken Sie auf Erstellen.

gcloud

Die Client-VM kann sich in einer beliebigen Zone in derselben Region wie der Load-Balancer befinden. Außerdem kann sie jedes Subnetz in dieser Region verwenden. In diesem Beispiel befindet sich der Client in der Zone us-west1-a und verwendet dasselbe Subnetz wie die Backend-VMs.

gcloud compute instances create vm-client \
    --zone=us-west1-a \
    --image-family=debian-12 \
    --image-project=debian-cloud \
    --tags=allow-ssh \
    --subnet=lb-subnet

Traffic an den Load-Balancer senden

Führen Sie die folgenden Schritte aus, um eine Verbindung zum Load Balancer herzustellen.

  1. Stellen Sie eine Verbindung zur Client-VM-Instanz her.

    gcloud compute ssh vm-client --zone=us-west1-a
    
  2. Stellen Sie mit curl eine Webanfrage an den Load-Balancer, um dessen IP-Adresse zu kontaktieren. Wiederholen Sie die Anfrage. So können Sie sehen, dass Antworten von verschiedenen Back-End-VMs stammen. Der Name der VM, die die Antwort generiert, wird aufgrund des Inhalts von /var/www/html/index.html auf jeder Backend-VM im Text der HTML-Antwort angezeigt. Die erwarteten Antworten sehen so aus: Page served from: vm-a1 und Page served from: vm-a2.

    curl http://10.1.2.99
    

    Die Weiterleitungsregel ist für die Bereitstellung der Ports 80, 8008, 8080 und 8088 konfiguriert. Um Traffic an diese anderen Ports zu senden, hängen Sie nach der IP-Adresse einen Doppelpunkt (:) und die Portnummer an:

    curl http://10.1.2.99:8008
    

Nächste Schritte