Instanzgruppe einem Load-Balancer hinzufügen

Beim GCP-Load-Balancing (Google Cloud Platform) wird Traffic sowohl über verwaltete als auch nicht verwaltete Instanzgruppen weitergeleitet. Je nach Typ des verwendeten Load-Balancers können Sie Instanzgruppen einem Zielpool oder Back-End-Dienst hinzufügen. Weitere Informationen zum Load-Balancing erhalten Sie unter Load-Balancer auswählen.

Weitere Informationen zu Instanzgruppen finden Sie in der Dokumentation zu Instanzgruppen.

Vorbereitung

Verwaltete Instanzgruppe zu einem Back-End-Dienst hinzufügen

Ein Back-End-Dienst ist erforderlich, um einen HTTP(S)-, SSL-Proxy-, TCP-Proxy- oder internen Load-Balancer zu erstellen. Ein Back-End-Dienst kann mehrere Back-Ends enthalten. Eine Instanzgruppe ist ein Back-End-Typ. Die Instanzen in der Instanzgruppe reagieren auf Traffic vom Load-Balancer. Der Back-End-Dienst wiederum weiß, welche Instanzen er verwenden kann und wie viel Traffic diese verarbeiten können und aktuell verarbeiten. Außerdem überwacht der Back-End-Dienst die Systemdiagnose und stellt keine neuen Verbindungen zu fehlerhaften Instanzen her.

Unter Instanzgruppen einem Back-End-Dienst hinzufügen wird beschrieben, wie eine Instanzgruppe einem Back-End-Dienst hinzugefügt wird.

Verwaltete Instanzgruppe zu einem Zielpool hinzufügen

Ein Zielpool ist ein Objekt, das eine oder mehrere VM-Instanzen enthält. Ein Zielpool wird beim Netzwerk-Load-Balancing verwendet. Dabei werden Nutzeranfragen von einem Netzwerk-Load-Balancer an den hinzugefügten Zielpool weitergeleitet. Die Instanzen, die Teil dieses Zielpools sind, leiten diese Anfragen weiter und geben eine Antwort zurück. Sie können eine verwaltete Instanzgruppe einem Zielpool hinzufügen, sodass der Zielpool automatisch aktualisiert wird, wenn Instanzen in der Instanzgruppe hinzugefügt oder entfernt werden.

Bevor Sie eine verwaltete Instanzgruppe einem Zielpool hinzufügen können, muss der Zielpool vorhanden sein. Weitere Informationen finden Sie in der Dokumentation zum Hinzufügen eines Zielpools.

Folgen Sie dieser Anleitung, um einem Zielpool eine vorhandene verwaltete Instanzgruppe hinzuzufügen. Dadurch werden alle VM-Instanzen, die Teil der verwalteten Instanzgruppe sind, dem Zielpool hinzugefügt.

Console

  1. Rufen Sie in der GCP Console die Seite "Zielpools" auf.

    Zur Seite "Zielpools"

  2. Klicken Sie auf den Zielpool, dem Sie die Instanzgruppe hinzufügen möchten.
  3. Klicken Sie auf Bearbeiten.
  4. Scrollen Sie nach unten zum Abschnitt VM-Instanzen und klicken Sie auf Instanzgruppen auswählen.
  5. Wählen Sie eine Instanzgruppe aus dem Drop-down-Menü aus.
  6. Speichern Sie die Änderungen.

gcloud

Verwenden Sie im Befehlszeilentool gcloud den Befehl set-target-pools:

gcloud compute instance-groups managed set-target-pools [INSTANCE_GROUP] \
        --target-pools [TARGET_POOL,..] [--zone ZONE]

Dabei gilt:

  • [INSTANCE_GROUP] ist der Name der Instanzgruppe.
  • [TARGET_POOL] ist der Name von einem oder mehreren Zielpools, denen diese Instanzgruppe hinzugefügt werden soll.
  • [ZONE] ist die Zone der Instanzgruppe.

API

Erstellen Sie in der API eine POST-Anfrage an den folgenden URI:

POST https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instanceGroupManagers/[INSTANCE_GROUP]/setTargetPools

Dabei gilt:

  • [PROJECT_ID] ist die Projekt-ID für diese Anfrage.
  • [ZONE] ist die Zone der Instanzgruppe.
  • [INSTANCE_GROUP] ist der Name der Instanzgruppe.

Der Anfragetext muss eine Liste der URIs zu den Zielpools enthalten, die Sie dieser Gruppe hinzufügen möchten. Beispiel:

{
  "targetPools": [
    "regions/us-central1/targetPools/example-targetpool-1",
    "regions/us-central1/targetPools/example-targetpool-2"
  ]
}

Benannte Ports verwalteten Instanzgruppen zuweisen

Benannte Ports sind Schlüssel/Wert-Paare, die für einen Dienstnamen und die Portnummer stehen, auf der der Dienst ausgeführt wird. Sie werden von Load-Balancing-Diensten genutzt, um Traffic an bestimmte Ports auf einzelnen Instanzen zu leiten. Wenn Sie beispielsweise einen benannten Port als http:80 festlegen und dann den Back-End-Dienst so konfigurieren, dass Traffic an einen Port mit dem Namen http gesendet wird, leitet der Load-Balancer den Traffic an Port 80 einzelner Instanzen der Instanzgruppe weiter.

Benannte Ports sind einfache Metadaten, die vom Load-Balancing genutzt werden. Sie steuern keine Netzwerk- oder Firewallressourcen in Compute Engine.

Sie können jedem Dienstnamen mehrere Ports und jedem Port mehrere Dienstnamen zuweisen. Bedenken Sie jedoch, dass ein Back-End-Dienst Traffic immer nur an einen benannten Port weiterleiten kann.

Console

  1. Öffnen Sie in der GPC Console die Seite Instanzgruppen.

    Zur Seite "Instanzgruppen"

  2. Klicken Sie auf den Namen der Instanzgruppe, in der Sie benannte Ports festlegen möchten. Ihnen wird eine Seite mit den Attributen der Instanzgruppe angezeigt.
  3. Klicken Sie auf Gruppe bearbeiten, um die verwaltete Instanzgruppe zu bearbeiten.
  4. Klicken Sie auf Portnamenzuordnung festlegen, um die Optionen für benannte Ports zu maximieren.
  5. Klicken Sie auf Element hinzufügen und geben Sie den gewünschten Portnamen sowie die Portnummern ein, die Sie mit dem Namen verknüpfen möchten. Wenn Sie weitere Einträge benötigen, klicken Sie noch einmal auf Element hinzufügen.
  6. Klicken Sie auf Speichern, um die Änderungen zu speichern und die benannten Ports auf die Instanzen in der verwalteten Instanzgruppe anzuwenden.

gcloud

Mit dem Befehl set-named-ports richten Sie einen oder mehrere benannte Ports ein:

gcloud compute instance-groups managed set-named-ports [INSTANCE_GROUP] \
      --named-ports [PORT_NAME]:[PORT],[PORT_NAME]:[PORT]

Beispiel:

gcloud compute instance-groups managed set-named-ports [INSTANCE_GROUP] \
      --named-ports name1:80,name2:8080

Sie können für jeden Namen oder Port mehrere Einträge erstellen, wenn Sie einem Dienstnamen mehrere Ports oder einem Dienst mehrere Namen zuweisen möchten. Ordnen Sie beispielsweise name1 den Ports 10, 20 und 80 zu. Weisen Sie anschließend name2 und name3 Port 80 zu. Zum Schluss verknüpfen Sie Port 9000 mit name4.

gcloud compute instance-groups managed set-named-ports [INSTANCE_GROUP] \
      --named-ports name1:10,name1:20,name1:80,\
                    name2:8080,name3:8080,\
                    name4:9000

Die Portnamenzuordnung für eine verwaltete Instanzgruppe prüfen Sie mit dem Befehl get-named-ports:

gcloud compute instance-groups managed get-named-ports [INSTANCE_GROUP]
NAME  PORT
name1 10
name1 20
name1 80
name2 8080
name3 8080
name4 9000

API

Die instanceGroupManagers API bietet nicht die API-Methode setNamedPorts. Verwenden Sie für diese Aufgabe stattdessen die instanceGroups API.

Erstellen Sie eine Anfrage an die instanceGroups API. Geben Sie dabei den Namen der Instanzgruppe an. Ermitteln Sie den aktuellen Wert der Instanzgruppe für fingerprint, indem Sie Informationen über eine bestimmte Gruppe abrufen. Fügen Sie den fingerprint-Wert sowie ein oder mehrere namedPorts-Wertpaare in den Text der Anfrage ein:

POST https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instanceGroups/[INSTANCE_GROUP]/setNamedPorts

{
 "fingerprint": "42WmSpB8rSM=",
 "namedPorts": [
  {
   "name": "[PORT_NAME]",
   "port": [PORT_NUMBER]
  },
  {
   "name": "[PORT_NAME]",
   "port": [PORT_NUMBER]
  }
 ]
}

Beispiel:

POST https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instanceGroups/example-group/setNamedPorts

{
 "fingerprint": "42WmSpB8rSM=",
 "namedPorts": [
  {
   "name": "name1",
   "port": 80
  },
  {
   "name": "name2",
   "port": 8080
  }
 ]
}

Erstellen Sie mehrere Einträge für diesen Namen, wenn Sie einem Dienstnamen mehrere Ports zuweisen möchten. Weisen Sie beispielsweise name1 die Ports 10, 20 und 80 zu. Ordnen Sie außerdem name2 Port 8080 zu.

POST https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instanceGroups/example-group/setNamedPorts

{
 "fingerprint": "42WmSpB8rSM=",
 "namedPorts": [
  {
   "name": "name1",
   "port": 10
  },
  {
   "name": "name1",
   "port": 20
  }
  {
   "name": "name1",
   "port": 80
  }
  {
   "name": "name2",
   "port": 8080
  }
  {
   "name": "name3",
   "port": 80
  }
  {
   "name": "name4",
   "port": 8080
  }
 ]
}

Stellen Sie eine GET-Anfrage, die auf die Gruppe verweist, um eine Liste der benannten Ports zu erhalten, die bereits einer verwalteten Instanzgruppe zugewiesen sind:

GET https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instanceGroupManagers/[INSTANCE_GROUP]

Weitere Informationen

Hat Ihnen diese Seite weitergeholfen? Teilen Sie uns Ihr Feedback mit:

Feedback geben zu...

Compute Engine-Dokumentation