Netzwerk-Load-Balancer mit Zielpool einrichten

In dieser Anleitung wird erläutert, wie Sie ein grundlegendes Netzwerk-Load-Balancing konfigurieren. Im zugehörigen Beispiel wird davon ausgegangen, dass mehrere Webserver auf Compute Engine-Instanzen vorhanden sind, auf die der Traffic verteilt werden kann. In diesem Szenario wird ein Layer-4-Load-Balancing konfiguriert, um HTTP-Traffic an fehlerfreie Instanzen zu senden. Die Konfiguration grundlegender HTTP-Systemdiagnosen stellt dabei sicher, dass Traffic nur an fehlerfreie Instanzen gesendet wird.

In diesem Beispiel wird ein Load-Balancing für HTTP-Traffic festgelegt. Sie können das Netzwerk-Load-Balancing jedoch auch für UDP-, TCP- und SSL-Traffic verwenden. Voraussetzung dafür ist die Kenntnis des Artikels Übersicht zum Netzwerk-Load-Balancing.

Hinweis

Installieren Sie das gcloud-Befehlszeilentool. Eine vollständige Übersicht über das Tool finden Sie im Leitfaden für das gcloud-Tool. Befehle für das Load-Balancing finden Sie in der Befehlsgruppe gcloud compute.

Ausführliche Hilfe zu jedem gcloud-Befehl erhalten Sie auch mit dem Flag --help:

gcloud compute http-health-checks create --help

Wenn Sie das gcloud-Befehlszeilentool bisher noch nicht verwendet haben, müssen Sie zur Authentifizierung zuerst gcloud init ausführen.

Erstellen Sie außerdem für den Load-Balancer eine statische externe IP-Adresse. Wenn Sie ein von Compute Engine bereitgestelltes Image verwenden, werden die VM-Instanzen automatisch für diese IP-Adresse konfiguriert. Wenn Sie ein anderes Image verwenden, müssen Sie diese Adresse als Alias auf "eth0" oder als Loopback auf den einzelnen Instanzen konfigurieren.

In dieser Anleitung wird davon ausgegangen, dass Sie mit Bash vertraut sind.

Compute Engine-VM-Instanzen konfigurieren

Für dieses Load-Balancing-Szenario erstellen Sie drei Compute Engine-VM-Instanzen und installieren darauf Apache. Sie fügen außerdem eine Firewallregel hinzu, die HTTP-Traffic zu den Instanzen zulässt.

Instanzen, die als Back-End-VMs für Netzwerk-Load-Balancer verwendet werden, müssen die entsprechende Linux-Gastumgebung, Windows-Gastumgebung oder andere Prozesse ausführen, die gleichwertige Funktionen bereitstellen.

Back-End-Instanzen einrichten

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 www1 fest.
  4. Legen Sie für Region den Wert us-central1 fest.
  5. Setzen Sie Zone auf us-central1-b.
  6. Unter Bootlaufwerk ist bereits das Standard-Betriebssystem-Image von Debian GNU/Linux 9 (stretch) ausgewählt.
  7. Klicken Sie auf Verwaltung, Sicherheit, Laufwerke, Netzwerke, einzelne Mandanten, um erweiterte Optionen aufzurufen.
    1. Fügen Sie im Tab Verwaltung das folgende Skript in das Feld Startskript ein:
      #! /bin/bash
      sudo apt-get update
      sudo apt-get install apache2 -y
      sudo service apache2 restart
      echo '<!doctype html><html><body><h1>www1</h1></body></html>' | tee /var/www/html/index.html
      
    2. Geben Sie unter Netzwerk im Feld Tags den Wert network-lb-tag ein.
    3. Behalten Sie in den restlichen Feldern die Standardwerte bei.
    4. Klicken Sie auf Erstellen.
  8. Erstellen Sie eine Instanz namens www2 mit den gleichen Einstellungen, aber mit dem folgenden Skript im Feld Automatisierung/Startskript.
    #! /bin/bash
    sudo apt-get update
    sudo apt-get install apache2 -y
    sudo service apache2 restart
    echo '<!doctype html><html><body><h1>www2</h1></body></html>' | tee /var/www/html/index.html
    
  9. Erstellen Sie eine Instanz namens www3 mit den gleichen Einstellungen, aber mit dem folgenden Skript im Feld Automatisierung/Startskript.
    #! /bin/bash
    sudo apt-get update
    sudo apt-get install apache2 -y
    sudo service apache2 restart
    echo '<!doctype html><html><body><h1>www3</h1></body></html>' | tee /var/www/html/index.html
    

gcloud

Alle im Folgenden aufgeführten Befehle werden auf dem lokalen System ausgeführt und beziehen sich auf eine Eingabeaufforderung vom Typ bash.

Zum Aufrufen von Namen, Attributen und Status von Betriebssystem-Images verwenden Sie den Befehl gcloud compute images list.

  1. Erstellen Sie drei neue VMs in einer bestimmten Zone und legen Sie für alle das gleiche Tag fest. In diesem Beispiel wird die Zone auf us-central1-b gesetzt. Wenn Sie einen Wert für das Feld tags festlegen, können Sie auf alle diese Instanzen gleichzeitig verweisen, z. B. mit einer Firewallregel. Mit diesen Befehlen wird außerdem Apache auf den Instanzen installiert und jeder Instanz eine einmalige Homepage zugewiesen.

    gcloud compute instances create www1 \
      --image-family debian-9 \
      --image-project debian-cloud \
      --zone us-central1-b \
      --tags network-lb-tag \
      --metadata startup-script="#! /bin/bash
        sudo apt-get update
        sudo apt-get install apache2 -y
        sudo service apache2 restart
        echo '<!doctype html><html><body><h1>www1</h1></body></html>' | tee /var/www/html/index.html"
    gcloud compute instances create www2 \
      --image-family debian-9 \
      --image-project debian-cloud \
      --zone us-central1-b \
      --tags network-lb-tag \
      --metadata startup-script="#! /bin/bash
        sudo apt-get update
        sudo apt-get install apache2 -y
        sudo service apache2 restart
        echo '<!doctype html><html><body><h1>www2</h1></body></html>' | tee /var/www/html/index.html"
    gcloud compute instances create www3 \
      --image-family debian-9 \
      --image-project debian-cloud \
      --zone us-central1-b \
      --tags network-lb-tag \
      --metadata startup-script="#! /bin/bash
        sudo apt-get update
        sudo apt-get install apache2 -y
        sudo service apache2 restart
        echo '<!doctype html><html><body><h1>www3</h1></body></html>' | tee /var/www/html/index.html"

API

Instanz www1 in der Zone us-central1-b mit der Methode instances.insert erstellen

POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/us-central1-b/instances

{
  "canIpForward": false,
  "deletionProtection": false,
  "disks": [
    {
      "type": "PERSISTENT",
      "boot": true,
      "mode": "READ_WRITE",
      "autoDelete": true,
      "deviceName": "www1",
      "initializeParams": {
        "sourceImage": "projects/eip-images/global/images/debian-9-drawfork-v20181101",
        "diskType": "projects/[PROJECT_ID]/zones/us-central1-b/diskTypes/pd-standard",
        "diskSizeGb": "10"
      }
    }
  ],
  "machineType": "projects/[PROJECT_ID]/zones/us-central1-b/machineTypes/e2-standard-2",
  "metadata": {
    "items": [
      {
        "key": "startup-script",
        "value": "sudo apt-get update\nsudo apt-get install apache2 -y\nsudo a2ensite default-ssl\nsudo a2enmod ssl\nsudo service apache2 restart\necho '<!doctype html><html><body><h1>www1</h1></body></html>' | tee /var/www/html/index.html"
      }
    ]
  },
  "name": "www1",
  "networkInterfaces": [
    {
      "network": "projects/[PROJECT_ID]/global/networks/default",
      "subnetwork": "projects/[PROJECT_ID]/regions/us-central1/subnetworks/default"
    }
  ],
  "tags": {
    "items": [
      "network-lb-tag"
    ]
  }
}

Erstellen Sie die Instanzen www2 und www3 mit den gleichen Einstellungen, ersetzen Sie jedoch www1 in den Feldern deviceName, value und name.

Firewallregel erstellen, um externen Traffic zu diesen VM-Instanzen zuzulassen

Console

  1. Rufen Sie in der Google Cloud Console die Seite "Firewalls" auf.
    Zur Seite "Firewalls"
  2. Klicken Sie auf Firewallregel erstellen.
  3. Geben Sie für www-firewall-network-lb einen Namen ein.
  4. Wählen Sie unter Netzwerk das Netzwerk aus, für das die Firewallregel gelten soll (Standard).
  5. Wählen Sie unter Ziele die Option Angegebene Zieltags aus.
  6. Geben Sie im Feld Zieltags network-lb-tag ein.
  7. Legen Sie für Quell-IP-Bereiche den Wert 0.0.0.0/0 fest, damit Traffic von allen Quellen zulässig ist.
  8. Klicken Sie unter Angegebene Protokolle und Ports das Kästchen neben TCP an und geben Sie 80 ein.
  9. Klicken Sie auf Erstellen. Es kann einen Moment dauern, bis die neue Firewallregel in der Console angezeigt wird. Klicken Sie gegebenenfalls auf Aktualisieren, damit die Regel aufgeführt wird.

gcloud

gcloud compute firewall-rules create www-firewall-network-lb \
    --target-tags network-lb-tag --allow tcp:80

API

Firewallregel zum Zulassen des gesamten Traffics im Subnetz mit der **Methode** firewalls.insert erstellen

POST https://compute.googleapis.com/compute/projects/[PROJECT_ID]/global/firewalls

{
  "name": "www-firewall-network-lb",
  "direction": "INGRESS",
  "priority": 1000,
  "targetTags": [
    "network-lb-tag"
  ],
  "allowed": [
    {
      "IPProtocol": "tcp",
      "ports": [
        "80"
      ]
    }
  ],
  "sourceRanges": [
    "0.0.0.0/0"
  ]
}

Externe IP-Adressen der Instanzen abrufen und prüfen, ob sie ausgeführt werden

Console

  1. Rufen Sie in der Google Cloud Console die Seite „VM-Instanzen” auf.
    Zur Seite "VM-Instanzen"
  2. Rufen Sie die Adressen für die Instanzen in der Spalte Externe IP auf.
  3. Prüfen Sie, ob die Instanzen ausgeführt werden. Dies ist am grünen Häkchen links neben dem Instanznamen zu erkennen. Wenn kein grünes Häkchen angezeigt wird, finden Sie entsprechende Informationen unter Allgemeine Fehlerbehebung.

gcloud

  1. Listen Sie die Instanzen auf, um die IP-Adressen in der Spalte EXTERNAL_IP darzustellen.

    gcloud compute instances list
    
  2. Prüfen Sie, ob alle Instanzen ausgeführt werden.

    Führen Sie in der Befehlszeile den Befehl curl mit der externen IP-Adresse der einzelnen Instanzen aus, um festzustellen, ob die Instanzen antworten.

    curl http://[IP_ADDRESS]
    

API

Informationen zur Instanz www1 mit der Methode instances.get abrufen

Prüfen Sie, ob im Feld status der Wert RUNNING angegeben ist, und prüfen Sie im Feld natIP die externe IP-Adresse.

GET https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/us-central1-b/instances/www1

{
 "kind": "compute#instance",
 "id": "6734015273571474749",
 "creationTimestamp": "2018-11-09T11:45:23.487-08:00",
 "name": "www1",
 "description": "",
 "tags": {
  "items": [
   "network-lb-tag"
  ],
  "fingerprint": "9GVlO4gPawg="
 },
 "machineType": "https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/us-central1-b/machineTypes/e2-standard-2",
 "status": "RUNNING",
 "zone": "https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/us-central1-b",
 "canIpForward": false,
 "networkInterfaces": [
  {
   "kind": "compute#networkInterface",
   "network": "https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/global/networks/default",
   "subnetwork": "https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/regions/us-central1/subnetworks/default",
   "networkIP": "10.128.0.2",
   "name": "nic0",
   "accessConfigs": [
    {
     "kind": "compute#accessConfig",
     "type": "ONE_TO_ONE_NAT",
     "name": "External NAT",
     "natIP": "35.192.37.233",
     "networkTier": "PREMIUM"
    }
   ],
   "fingerprint": "lxD5f5ua_sw="
  }
 ],
 "disks": [
  {
   "kind": "compute#attachedDisk",
   "type": "PERSISTENT",
   "mode": "READ_WRITE",
   "source": "https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/us-central1-b/disks/www1",
   "deviceName": "www1",
   "index": 0,
   "boot": true,
   "autoDelete": true,
   "licenses": [
    "https://www.googleapis.com/compute/v1/projects/debian-cloud/global/licenses/debian-9-stretch"
   ],
   "interface": "SCSI",
   "guestOsFeatures": [
    {
     "type": "VIRTIO_SCSI_MULTIQUEUE"
    }
   ]
  }
 ],
 "metadata": {
  "kind": "compute#metadata",
  "fingerprint": "IyHRmHoJx6E=",
  "items": [
   {
    "key": "startup-script",
    "value": "#! /bin/bash\n sudo apt-get update\n sudo apt-get install apache2 -y\n sudo service apache2 restart\n echo '\u003c!doctype html\u003e\u003chtml\u003e\u003cbody\u003e\u003ch1\u003ewww1\u003c/h1\u003e\u003c/body\u003e\u003c/html\u003e' | tee /var/www/html/index.html"
   }
  ]
 },
 "serviceAccounts": [
  {
   "email": "674259759219-compute@developer.gserviceaccount.com",
   "scopes": [
    "https://www.googleapis.com/auth/devstorage.read_only",
    "https://www.googleapis.com/auth/logging.write",
    "https://www.googleapis.com/auth/monitoring.write",
    "https://www.googleapis.com/auth/servicecontrol",
    "https://www.googleapis.com/auth/service.management.readonly",
    "https://www.googleapis.com/auth/trace.append"
   ]
  }
 ],
 "selfLink": "https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/us-central1-b/instances/www1",
 "scheduling": {
  "onHostMaintenance": "MIGRATE",
  "automaticRestart": true,
  "preemptible": false
 },
 "cpuPlatform": "Intel Haswell",
 "labelFingerprint": "42WmSpB8rSM=",
 "startRestricted": false,
 "deletionProtection": false
}

Wiederholen Sie diesen API-Aufruf für www2 und www3.

Load-Balancing-Dienst konfigurieren

Richten Sie als Nächstes den Load-Balancing-Dienst ein.

Durch entsprechende Konfiguration des Load-Balancing-Dienstes erhalten die VM-Instanzen Pakete für die von Ihnen konfigurierte statische externe IP-Adresse. Wenn Sie ein von Compute Engine bereitgestelltes Image verwenden, werden die Instanzen automatisch für diese IP-Adresse konfiguriert. Wenn Sie ein anderes Image verwenden, müssen Sie diese Adresse als Alias auf eth0 oder als Loopback auf den einzelnen Instanzen konfigurieren.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Load-Balancer erstellen auf.
    Zur Seite "Load-Balancer erstellen"
  2. Klicken Sie unter TCP-Load-Balancing auf Konfiguration starten.

  3. Wählen Sie unter Internet oder nur intern die Option Vom Internet zu meinen VMs aus.

  4. Wählen Sie unter Mehrere Regionen oder einzelne Region die Option Nur eine einzelne Region aus.

  5. Wählen Sie für den Back-End-Typ die Option Zielpool oder Zielinstanz aus.

  6. Klicken Sie auf Weiter.

Back-End konfigurieren

  1. Geben Sie für den neuen Load-Balancer im Bildschirm Neuer TCP-Load-Balancer unter Name den Wert www-network-lb ein.
  2. Klicken Sie auf Back-End-Konfiguration.
  3. Der zuvor für den Load-Balancer unter Name eingegebene Wert wird angezeigt, kann aber nicht geändert werden.
  4. Wählen Sie für Region die Option us-central1 aus.
  5. Klicken Sie unter Back-Ends auf den Tab Vorhandene Instanzen auswählen und klicken Sie auf Instanz hinzufügen. Geben Sie die Instanz www1 ein. Wiederholen Sie diesen Schritt für die Instanzen www2 und www3.
  6. Klicken Sie unter Systemdiagnose auf Neue Systemdiagnose erstellen oder Weitere Systemdiagnose erstellen:

    1. Geben Sie unter Name den Wert basic-check für die Systemdiagnose ein.
    2. Übernehmen Sie die Standardeinstellungen.
    3. Klicken Sie auf Speichern und fortfahren.

    Bei erfolgreicher Einrichtung wird links neben Back-End-Konfiguration ein blauer Kreis mit einem Häkchen angezeigt.

Weiterleitungsregel konfigurieren

  1. Klicken Sie auf Front-End-Konfiguration.
  2. Geben Sie für www-rule einen Namen ein.
  3. Klicken Sie unter IP auf das Drop-down-Menü und wählen Sie IP-Adresse erstellen aus.
    1. Legen Sie im Bildschirm Neue statische IP-Adresse reservieren unter Name den Wert lb-ip-1 fest.
    2. Klicken Sie auf Reservieren.
  4. Geben Sie für Port den Wert 80 ein.
  5. Klicken Sie auf die Schaltfläche Fertig.

    Bei erfolgreicher Einrichtung wird links neben Front-End-Konfiguration ein blauer Kreis mit einem Häkchen angezeigt.

Konfiguration überprüfen

  1. Klicken Sie auf die Schaltfläche Prüfen und abschließen, um alle Konfigurationseinstellungen für den Load-Balancer zu überprüfen.
  2. Klicken Sie, wenn die Einstellungen korrekt sind, auf Erstellen. Es kann ein paar Minuten dauern, bis der Load-Balancer erstellt ist.

    Auf dem Load-Balancing-Bildschirm sollte in der Spalte "Back-End" ein grünes Häkchen für den neuen Load-Balancer angezeigt werden. Dies weist darauf hin, dass der Load-Balancer fehlerfrei ist.

gcloud

  1. Erstellen Sie eine statische externe IP-Adresse für den Load-Balancer.

    gcloud compute addresses create network-lb-ip-1 \
        --region us-central1
    
  2. Fügen Sie eine Ressource für die Legacy-Systemdiagnose hinzu.

    In diesem Beispiel werden die Standardeinstellungen für die Systemdiagnose verwendet. Sie können diese Einstellungen jederzeit anpassen.

    gcloud compute http-health-checks create basic-check
    
  3. Zielpool hinzufügen

    Fügen Sie den Zielpool in der Region hinzu, in der sich die VM-Instanzen befinden. Verwenden Sie für diesen Zielpool die im vorigen Schritt erstellte Systemdiagnose. Für das Funktionieren von Zielpools ist ein Systemdiagnosedienst erforderlich.

    gcloud compute target-pools create www-pool \
        --region us-central1 --http-health-check basic-check
    
  4. Fügen Sie die Instanzen dem Zielpool hinzu.

    gcloud compute target-pools add-instances www-pool \
        --instances www1,www2,www3 \
        --instances-zone us-central1-b
    

    Instanzen innerhalb eines Zielpools müssen zwar einer Region angehören, können aber über verschiedene Zonen in dieser Region verteilt sein. Beispielsweise kann ein Zielpool Instanzen in Zone us-central1-f und Instanzen in Zone us-central1-b enthalten, da sich diese in derselben Region (us-central1) befinden.

  5. Weiterleitungsregel hinzufügen

    Fügen Sie eine Weiterleitungsregel für einen externen IP-Adressbereich und Portbereich hinzu, die auf den Zielpool verweist. Geben Sie für das Feld --address entweder die numerische IP-Adresse oder den vollqualifizierten Namen an.

    gcloud compute forwarding-rules create www-rule \
        --region us-central1 \
        --ports 80 \
        --address network-lb-ip-1 \
        --target-pool www-pool
    

API

  1. Erstellen Sie eine statische externe IP-Adresse für den Load-Balancer.

    POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID/regions/us-central1/addresses
    {
      "name": "network-lb-ip-1"
    }
    
  2. Fügen Sie eine Legacy-HTTP-Systemdiagnose hinzu.

    In diesem Beispiel werden die Standardeinstellungen für die Systemdiagnose verwendet. Sie können diese Einstellungen jederzeit anpassen.

    POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/global/httpHealthChecks
    {
      "name": "basic-check"
    }
    
  3. Fügen Sie einen Zielpool hinzu.

    Fügen Sie den Zielpool in der Region hinzu, in der sich die VM-Instanzen befinden. Verwenden Sie für diesen Zielpool die im vorigen Schritt erstellte Systemdiagnose. Für das Funktionieren von Zielpools ist ein Systemdiagnosedienst erforderlich.

    POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/regions/us-central1/targetPools
    {
      "name": "www-pool",
      "healthChecks": [
        "https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/global/httpHealthChecks/basic-check"
      ]
    }
    
  4. Fügen Sie die Instanzen dem Zielpool hinzu.

    POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/regions/us-central1/targetPools/www-pool/addInstance
    {
      "instances": [
        {
          "instance": "projects/[PROJECT_ID]/zones/us-central1-b/instances/www1"
        }
      ]
    }
    

    Wiederholen Sie diesen API-Aufruf für die Instanzen www2 und www3.

    Instanzen innerhalb eines Zielpools müssen zwar einer Region angehören, können aber über verschiedene Zonen in dieser Region verteilt sein. Beispielsweise kann ein Zielpool Instanzen in Zone us-central1-f und Instanzen in Zone us-central1-b enthalten, da sich diese in derselben Region (us-central1) befinden.

  5. Weiterleitungsregel hinzufügen

    POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/regions/us-central1/forwardingRules
    {
      "name": "www-rule",
      "portRange": "80",
      "loadBalancingScheme": "EXTERNAL",
      "target": "https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/regions/us-central1/targetPools/www-network-lb"
    }
    

Traffic an die Instanzen senden

Nachdem Sie den Load-Balancing-Dienst konfiguriert haben, können Sie Traffic an die Weiterleitungsregel senden und feststellen, wie dieser auf verschiedene Instanzen verteilt wird.

Externe IP-Adresse der Weiterleitungsregel abrufen

Console

  1. Wechseln Sie in der Google Cloud Console auf der Load-Balancing-Seite Erweitert zum Tab Weiterleitungsregeln.
    Zum Tab "Weiterleitungsregeln"
  2. Suchen Sie die vom Load-Balancer verwendete Weiterleitungsregel www-rule.
  3. Notieren Sie die in der Spalte IP-Adresse für www-rule angegebene externe IP-Adresse.

gcloud

Geben Sie den folgenden Befehl ein, um die externe IP-Adresse der vom Load-Balancer verwendeten Weiterleitungsregel www-rule aufzurufen:

gcloud compute forwarding-rules describe www-rule --region us-central1

API

Externe IP-Adresse der Weiterleitungsregel www-rule mit der Methode forwardingRules.get aufrufen

Suchen Sie in der Ausgabe nach dem Feld IPAddress.

GET https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/regions/us-central1/forwardingRules/www-rule
{
  "kind": "compute#forwardingRule",
  "id": "5133886346582800002",
  "creationTimestamp": "2018-11-09T14:21:33.574-08:00",
  "name": "www-rule",
  "description": "",
  "region": "https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/regions/us-central1",
  "IPAddress": "35.232.228.9",
  "IPProtocol": "TCP",
  "portRange": "80-80",
  "target": "https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/regions/us-central1/targetPools/www-network-lb",
  "selfLink": "https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/regions/us-central1/forwardingRules/www-rule",
  "loadBalancingScheme": "EXTERNAL",
  "networkTier": "PREMIUM"
}

ICMP wird für Back-End-Instanzen nicht unterstützt

Das Netzwerk-Load-Balancing stellt keine ICMP-Pakete an Back-End-Instanzen bereit. Wenn Sie ein ICMP-Paket senden, z. B. mit ping oder traceroute, stammt die Antwort nicht von den Back-End-Instanzen des Load-Balancers.

Die Google Cloud-Infrastruktur kann eine ICMP-Antwort senden, auch wenn Sie Firewallregeln verwenden, die ICMP-Traffic auf den Back-End-Instanzen des Load-Balancers verbieten. Dieses Verhalten kann nicht geändert werden.

Auf die externe IP-Adresse mit dem Befehl curl zugreifen

Die Antwort des Befehls curl wechselt nach dem Zufallsprinzip zwischen den drei Instanzen. Wenn anfangs keine Antwort zurückgegeben wird, müssen Sie vor einem erneuten Versuch unter Umständen etwa 30 Sekunden warten, bis die Konfiguration vollständig geladen ist und die Instanzen als fehlerfrei markiert werden:

$ while true; do curl -m1 IP_ADDRESS; done

Nächste Schritte