Dienst mit Load-Balancing erstellen

In dieser Anleitung wird gezeigt, wie Sie als Dienstanbieter einen einfachen Dienst erstellen, der einen internen Passthrough-Network-Load-Balancer verwendet. Standardmäßig ist ein interner Passthrough Network Load Balancer nur innerhalb des VPC-Netzwerk verfügbar, in dem er gehostet wird.

Diese Anleitung richtet sich an Cloudarchitekten, Netzwerkarchitekten, Netzwerkadministratoren und IT-Administratoren.

Ziele

  • Netzwerk für die Ressourcen des Dienstanbieters konfigurieren
  • VM-Ressourcen für das Load-Balancer-Back-End erstellen
  • Load-Balancer-Komponenten konfigurieren
  • Zugriff auf den Load-Balancer testen

Kosten

In diesem Dokument verwenden Sie die folgenden kostenpflichtigen Komponenten von Google Cloud:

Mit dem Preisrechner können Sie eine Kostenschätzung für Ihre voraussichtliche Nutzung vornehmen.

Neuen Nutzern von Google Cloud steht möglicherweise ein kostenloser Testzeitraum zur Verfügung.

Nach Abschluss der in diesem Dokument beschriebenen Aufgaben können Sie weitere Kosten vermeiden, indem Sie die erstellten Ressourcen löschen. Weitere Informationen finden Sie unter Bereinigen.

Hinweise

  1. Erstellen oder wählen Sie ein Projekt aus, das für die Ressourcen des Dienstanbieters verwendet werden soll. Dieses Projekt wird in den späteren Tutorials als PRODUCER_PROJECT bezeichnet.
    1. In the Google Cloud console, go to the project selector page.

      Go to project selector

    2. Select or create a Google Cloud project.

      Roles required to select or create a project

      • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
      • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.
  2. Enable the Compute Engine API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  3. Make sure that you have the following role or roles on the project: Compute Engine > Compute Network Admin, Compute Engine > Compute Security Admin, Compute Engine > Compute Instance Admin

    Check for the roles

    1. In the Google Cloud console, go to the IAM page.

      Go to IAM
    2. Select the project.
    3. In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.

    4. For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.

    Grant the roles

    1. In the Google Cloud console, go to the IAM page.

      IAM aufrufen
    2. Wählen Sie das Projekt aus.
    3. Klicken Sie auf Zugriffsrechte erteilen.
    4. Geben Sie im Feld Neue Hauptkonten Ihre Nutzer-ID ein. Das ist in der Regel die E‑Mail-Adresse eines Google-Kontos.

    5. Klicken Sie auf Rolle auswählen und suchen Sie nach der Rolle.
    6. Klicken Sie auf Weitere Rolle hinzufügen, wenn Sie weitere Rollen zuweisen möchten.
    7. Klicken Sie auf Speichern.

Netzwerk konfigurieren

In den folgenden Abschnitten wird beschrieben, wie Sie ein Netzwerk, ein Subnetz und Firewallregeln für den Dienst erstellen.

Netzwerk und Subnetz konfigurieren

Führen Sie die Schritte in den folgenden Abschnitten aus, um das Dienstnetzwerk und das Subnetz für den Load Balancer zu 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 für Name service-network ein.

  4. Wählen Sie unter Modus für Subnetzerstellung die Option Benutzerdefiniert aus.

  5. Geben Sie im Bereich Neues Subnetz die folgenden Informationen ein.

    1. Geben Sie für Name service-subnet ein.
    2. Wählen Sie bei Region die gewünschte Region aus.
    3. Wählen Sie für IP-Stack-Typ die Option IPv4 (Single-Stack) aus.
    4. Geben Sie unter IPv4-Bereich 10.10.10.0/24 ein.
    5. Klicken Sie auf Fertig.
  6. Klicken Sie auf Erstellen.

gcloud

  1. Erstellen Sie ein VPC-Netzwerk im benutzerdefinierten Modus:

    gcloud compute networks create service-network --subnet-mode=custom
    
  2. Erstellen Sie im Netzwerk service-network ein Subnetz.

    gcloud compute networks subnets create service-subnet \
        --network=service-network \
        --range=10.10.10.0/24 \
        --region=REGION
    

    Ersetzen Sie REGION durch die Region, die Sie verwenden möchten.

Firewallregeln konfigurieren

Erstellen Sie Firewallregeln, die den folgenden Traffic zulassen:

  • fw-allow-subnet: Ermöglicht, dass Traffic von 10.10.10.0/24 andere Ressourcen in 10.10.10.0/24 erreicht.
  • fw-allow-ssh: Ermöglicht, dass SSH-Traffic von 0.0.0.0/0 VMs mit dem Netzwerk-Tag allow-ssh erreicht.
  • fw-allow-healthcheck: Ermöglicht, dass Traffic von den Systemdiagnosen von Google CloudVMs mit dem Netzwerk-Tag allow-healthcheck erreicht.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Firewallrichtlinien auf.

    Zu den Firewall-Richtlinien

  2. Klicken Sie auf Firewallregel erstellen und verwenden Sie die folgenden Einstellungen, um Subnetztraffic zuzulassen:

    • Geben Sie für Name fw-allow-subnet ein.
    • Wählen Sie für Netzwerk die Option service-network aus.
    • Geben Sie 1000 als Priorität ein.
    • Wählen Sie für Traffic-Richtung die Option Eingehend aus.
    • Wählen Sie für Aktion bei Übereinstimmung die Option Zulassen aus.
    • Wählen Sie für Ziele die Option Alle Instanzen im Netzwerk aus.
    • Wählen Sie für Quellfilter die Option IPv4-Bereiche aus.
    • Geben Sie unter Quell-IPv4-Bereiche den Wert 10.10.10.0/24 ein.
    • Wählen Sie für Protokolle und Ports die Option Alle zulassen aus.
  3. Klicken Sie auf Erstellen.

  4. Klicken Sie auf Firewallregel erstellen und verwenden Sie die folgenden Einstellungen, um eingehende SSH-Verbindungen zuzulassen:

    • Geben Sie für Name fw-allow-ssh ein.
    • Wählen Sie für Netzwerk die Option service-network aus.
    • Geben Sie 1000 als Priorität ein.
    • Wählen Sie für Traffic-Richtung die Option Eingehend aus.
    • Wählen Sie für Aktion bei Übereinstimmung die Option Zulassen aus.
    • Wählen Sie unter Ziele die Option Angegebene Ziel-Tags aus.
    • Geben Sie für Ziel-Tags den Wert allow-ssh ein.
    • Wählen Sie für Quellfilter die Option IPv4-Bereiche aus.
    • Geben Sie unter Quell-IPv4-Bereiche den Wert 0.0.0.0/0 ein.
    • Wählen Sie unter Protokolle und Ports die Option Angegebene Protokolle und Ports aus und klicken Sie das Kästchen TCP an. Geben Sie für Ports den Wert 22 ein.
  5. Klicken Sie auf Erstellen.

  6. Klicken Sie auf Firewallregel erstellen und verwenden Sie die folgenden Einstellungen, um Google Cloud -Systemdiagnosen zuzulassen:

    • Geben Sie für Name fw-allow-healthcheck ein.
    • Wählen Sie für Netzwerk die Option service-network aus.
    • Geben Sie 1000 als Priorität ein.
    • Wählen Sie für Traffic-Richtung die Option Eingehend aus.
    • Wählen Sie für Aktion bei Übereinstimmung die Option Zulassen aus.
    • Wählen Sie unter Ziele die Option Angegebene Ziel-Tags aus.
    • Geben Sie für Ziel-Tags den Wert allow-healthcheck ein.
    • Wählen Sie für Quellfilter die Option IPv4-Bereiche aus.
    • Geben Sie unter Quell-IPv4-Bereiche die Werte 130.211.0.0/22 und 35.191.0.0/16 ein.
    • Wählen Sie für Protokolle und Ports die Option Alle zulassen aus.
  7. Klicken Sie auf Erstellen.

gcloud

  1. Erstellen Sie die Firewallregel fw-allow-subnet, um die Kommunikation aus dem Subnetz zuzulassen:

    gcloud compute firewall-rules create fw-allow-subnet \
        --network=service-network \
        --action=allow \
        --direction=ingress \
        --source-ranges=10.10.10.0/24 \
        --rules=tcp,udp,icmp
    

  1. Erstellen Sie die Firewallregel fw-allow-ssh, um SSH-Verbindungen zu VMs mit dem Netzwerk-Tag allow-ssh zu ermöglichen.

    gcloud compute firewall-rules create fw-allow-ssh \
        --network=service-network \
        --action=allow \
        --direction=ingress \
        --source-ranges=0.0.0.0/0 \
        --target-tags=allow-ssh \
        --rules=tcp:22
    

  1. Erstellen Sie die Regel fw-allow-healthcheck, um Google Cloud-Systemdiagnosen zuzulassen.

    gcloud compute firewall-rules create fw-allow-healthcheck \
        --network=service-network \
        --action=allow \
        --direction=ingress \
        --target-tags=allow-healthcheck \
        --source-ranges=130.211.0.0/22,35.191.0.0/16 \
        --rules=tcp,udp,icmp
    

VM-Ressourcen für das Load-Balancer-Back-End erstellen

Erstellen Sie die VMs und die Instanzgruppe, die mit dem Load-Balancer verwendet werden sollen.

Backend-VMs erstellen

Der Dienst, den Sie erstellen, wird auf zwei VMs ausgeführt, um eine höhere Verfügbarkeit zu erreichen: vm-1 und vm-2. Die VMs befinden sich in derselben Zone. In einer Produktionsumgebung empfehlen wir jedoch, mehrere Zonen zu verwenden.

Wenn Sie diese Schritte ausführen, werden nicht nur die VMs erstellt, sondern auch die folgenden Aktionen ausgeführt:

  • Konfiguriert die VMs für die Verwendung der Netzwerktags, die Sie in den Firewallregeln als Ziele konfiguriert haben, und eines zusätzlichen Netzwerktags (allow-nat), das später verwendet wird.
  • Installiert, konfiguriert und startet den Apache-Dienst.

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. Geben Sie für Name vm-1 ein.

  4. Wählen Sie für Region und Zone eine Region und eine Zone innerhalb dieser Region aus.

  5. Gehen Sie im Navigationsmenü zu Betriebssystem und Speicher.

  6. Achten Sie im Bereich Betriebssystem und Speicher darauf, dass für das Bootlaufwerk Debian GNU/Linux 12 (Bookworm) ausgewählt ist. Wenn Sie ein anderes Bild auswählen möchten, klicken Sie auf Ändern.

  7. Gehen Sie im Navigationsmenü zu Netzwerk.

  8. Geben Sie für Netzwerk-Tags allow-ssh, allow-healthcheck und allow-nat ein.

  9. Wählen Sie für Netzwerkschnittstellen Folgendes aus:

    • Wählen Sie für Netzwerk die Option service-network aus.
    • Wählen Sie für Subnetz service-subnet aus.
    • Wählen Sie für IP-Stack-Typ die Option IPv4 (Single-Stack) aus.
    • Wählen Sie für Primäre interne IPv4-Adresse die Option Sitzungsspezifisch (automatisch) aus.
    • Wählen Sie für Externe IPv4-Adresse die Option Sitzungsspezifisch aus.
  10. Gehen Sie im Navigationsmenü zu Erweitert.

  11. Geben Sie im Bereich Automatisierung im Feld Startskript das folgende Skript ein.

    
    #! /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
    

  12. Klicken Sie auf Erstellen.

  13. Wiederholen Sie diese Schritte, um eine weitere VM mit dem Namen vm-2 in derselben Region und Zone wie vm-1 zu erstellen.

gcloud

  1. Erstellen Sie mit den folgenden Befehlen zwei VMs:

    gcloud compute instances create vm-1 \
        --zone=ZONE \
        --image-family=debian-12 \
        --image-project=debian-cloud \
        --tags=allow-ssh,allow-healthcheck,allow-nat \
        --subnet=service-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'
    
    gcloud compute instances create vm-2 \
        --zone=ZONE \
        --image-family=debian-12 \
        --image-project=debian-cloud \
        --tags=allow-ssh,allow-healthcheck,allow-nati \
        --subnet=service-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'
    

    Ersetzen Sie ZONE durch die Zone, die Sie verwenden möchten.

Instanzgruppe erstellen

Wenn Sie die VMs in einem Load-Balancer-Back-End verwenden möchten, müssen Sie sie einer Instanzgruppe hinzufügen.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Instanzgruppen auf.

    Zu den Instanzgruppen

  2. Klicken Sie auf Instanzgruppe erstellen.

  3. Klicken Sie im Navigationsbereich auf Neue nicht verwaltete Instanzgruppe.

  4. Geben Sie für Name ig-1 ein.

  5. Wählen Sie im Abschnitt Standort dieselbe Region und Zone wie für Ihre VMs aus.

  6. Wählen Sie für Netz die Option service-network aus.

  7. Wählen Sie für Subnetzwerk die Option service-subnet aus.

  8. Fügen Sie im Abschnitt VM-Instanzen die Instanzen vm-1 und vm-2 der Instanzgruppe hinzu.

  9. Klicken Sie auf Erstellen.

gcloud

  1. Erstellen Sie eine nicht verwaltete Instanzgruppe:

    gcloud compute instance-groups unmanaged create ig-1 \
        --zone=ZONE
    

    Ersetzen Sie ZONE durch die Zone, die die VMs enthält.

  2. Fügen Sie der Instanzgruppe die VMs hinzu:

    gcloud compute instance-groups unmanaged add-instances ig-1 \
        --zone=ZONE \
        --instances=vm-1,vm-2
    

Load-Balancer-Komponenten konfigurieren

Konfigurieren Sie alle Komponenten für den internen Passthrough-Network-Load-Balancer. Beginnen Sie mit der Systemdiagnose und dem Backend-Dienst und konfigurieren Sie dann die Frontend-Komponenten:

  • Systemdiagnose. Sie verwenden eine HTTP-Systemdiagnose, die auf den HTTP-Statuscode 200 OK prüft.

  • Backend-Dienst Da der HTTP-Traffic über den internen Load-Balancer weitergeleitet werden muss, müssen Sie TCP und nicht UDP verwenden.

  • Weiterleitungsregel Sie erstellen eine einzelne interne Weiterleitungsregel, service-rule.

  • Interne IP-Adresse: Beim Erstellen der Weiterleitungsregel geben Sie eine interne IP-Adresse (10.10.10.99) an.

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 für Proxy oder Passthrough die Option Passthrough-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. Klicken Sie auf Konfigurieren.

Grundlegende Konfiguration

Geben Sie auf der Seite Internen Passthrough-Network Load Balancer erstellen die folgenden Informationen ein:

  • Geben Sie unter Name des Load Balancers service-lb ein.
  • Wählen Sie unter Region dieselbe Region wie für Ihre VMs aus.
  • Wählen Sie für Netzwerk die Option service-network aus.

Back-Ends konfigurieren

  1. Klicken Sie auf Backend-Konfiguration.
  2. Klicken Sie in der Liste Systemdiagnose auf Systemdiagnose erstellen und geben Sie die folgenden Informationen ein:
    • Geben Sie für Name hc-http-80 ein.
    • Wählen Sie für Protokoll die Option HTTP aus.
    • Geben Sie für Port den Wert 80 ein.
    • Wählen Sie für Proxyprotokoll die Option NONE aus.
    • Geben Sie / als Anfragepfad ein.
  3. Klicken Sie auf Erstellen.
  4. Wählen Sie im Bereich Neues Backend von Backends die Option IPv4 (Single-Stack) aus.
  5. Wählen Sie unter Instanzgruppe die Instanzgruppe ig-1 aus und klicken Sie auf Fertig.
  6. Überprüfen Sie, bevor Sie fortfahren, ob sich neben Back-End-Konfiguration ein blaues Häkchen befindet.

Frontend konfigurieren

  1. Klicken Sie auf Frontend-Konfiguration.
  2. In the New Frontend IP and port section, do the following:
    1. Geben Sie für Name service-rule ein.
    2. Wählen Sie für Subnetzwerk die Option service-subnet aus.
    3. Wählen Sie im Abschnitt Interner IP-Zweck in der Liste IP-Adresse die Option IP-Adresse erstellen aus und geben Sie die folgenden Informationen ein:
      • Geben Sie für Name service-rule-ip ein.
      • Setzen Sie die IP-Version auf IPv4.
      • Wählen Sie für Statische IP-Adresse die Option Selbst auswählen aus.
      • Geben Sie als Benutzerdefinierte IP-Adresse 10.10.10.99 ein.
    4. Klicken Sie auf Reservieren.
    5. Wählen Sie unter Ports die Option Einzeln aus und geben Sie unter Portnummern den Wert 80 ein.
    6. Klicken Sie auf Fertig.
    7. Überprüfen Sie, bevor Sie fortfahren, ob sich neben der Backend-Konfiguration ein blaues Häkchen befindet.

Konfiguration prüfen

  1. Klicken Sie auf Prüfen und abschließen.
  2. Prüfen Sie die Konfigurationseinstellungen des Load-Balancers.
  3. Klicken Sie auf Erstellen.

gcloud

  1. Erstellen Sie eine neue regionale HTTP-Systemdiagnose, um die HTTP-Verbindung zu den VMs auf Port 80 zu testen.

    gcloud compute health-checks create http hc-http-80 \
        --region=REGION \
        --port=80
    

    Ersetzen Sie REGION durch dieselbe Region wie die Backend-VMs.

  2. Erstellen Sie den Back-End-Dienst für HTTP-Traffic:

    gcloud compute backend-services create service-lb \
        --load-balancing-scheme=internal \
        --protocol=tcp \
        --region=REGION \
        --health-checks=hc-http-80 \
        --health-checks-region=REGION
    

    Ersetzen Sie REGION durch dieselbe Region wie die Backend-VMs.

  3. Fügen Sie die Instanzgruppe dem Backend-Dienst hinzu:

    gcloud compute backend-services add-backend service-lb \
        --region=REGION \
        --instance-group=ig-1 \
        --instance-group-zone=ZONE
    

    Ersetzen Sie Folgendes:

    • REGION: dieselbe Region wie die Backend-VMs.
    • ZONE: dieselbe Zone wie die Backend-VMs.
  4. Erstellen Sie eine Weiterleitungsregel für den Backend-Dienst:

    gcloud compute forwarding-rules create service-rule \
        --region=REGION \
        --load-balancing-scheme=internal \
        --network=service-network \
        --subnet=service-subnet \
        --address=10.10.10.99 \
        --ip-protocol=TCP \
        --ports=80 \
        --backend-service=service-lb \
        --backend-service-region=REGION
    

    Ersetzen Sie REGION durch dieselbe Region wie die Backend-VMs.

Zugriff auf den Load-Balancer testen

Erstellen Sie eine Test-VM und senden Sie eine Anfrage von dieser VM an den Load Balancer, um zu prüfen, ob der Load Balancer funktioniert.

Client-VM zum Testen erstellen

Erstellen Sie eine Client-VM in derselben Region wie die Backend-VMs (Server).

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. Geben Sie für Name producer-test ein.

  4. Wählen Sie für Region dieselbe Region wie für die Backend-VMs aus.

  5. Wählen Sie als Zone eine Zone in dieser Region aus.

  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:
      • Wählen Sie für Netzwerk die Option service-network aus.
      • Wählen Sie für Subnetz die Option service-subnet aus.
  7. Klicken Sie auf Erstellen.

gcloud

gcloud compute instances create producer-test \
    --zone=ZONE \
    --image-family=debian-12 \
    --image-project=debian-cloud \
    --tags=allow-ssh \
    --subnet=service-subnet

Ersetzen Sie ZONE durch eine Zone in derselben Region wie die Backend-VMs.

Verbindung testen

Bei diesem Test wird von einer Client-VM aus eine Verbindung zum Load Balancer hergestellt. Dabei wird folgendes Verhalten erwartet: Der Traffic wird auf die Backend-VMs des Load-Balancers verteilt.

  1. Stellen Sie eine Verbindung zur Client-VM-Instanz her.
    gcloud compute ssh producer-test --zone=ZONE
    
    Ersetzen Sie ZONE durch die Zone der Client-VM.
  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 beispielsweise so aus: Page served from: vm-1 und Page served from: vm-2.
    curl -s http://10.10.10.99
    

Nächste Schritte