Zonale NEGs einrichten

Dieses Dokument enthält eine Anleitung zum Konfigurieren von zonalen Netzwerk-Endpunktgruppen (NEGs). Bevor Sie zonale NEGs konfigurieren, lesen Sie Übersicht über Netzwerk-Endpunktgruppen.

Load-Balancing mit zonalen NEGs

Zonale NEGs mit GCE_VM_IP-Endpunkten

Sie können als Back-Ends für Back-End-Dienste in internen TCP/UDP-Load-Balancern verwendet werden.

Die wichtigsten Anwendungsfälle für zonale GCE_VM_IP-NEGs sind eine GKE-Teilmengeneinstellung und eine vereinfachte VM-Verwaltung für interne TCP/UDP-Load-Balancer. Weitere Informationen finden Sie unter Zonale NEGs – Load-Balancing.

Zonale NEGs mit GCE_VM_IP_PORT-Endpunkten

Sie können als Back-Ends für Back-End-Dienste in den folgenden Arten von Load-Balancern verwendet werden:

  • ein externer HTTP(S)-Load-Balancer
  • ein internen HTTP(S)-Load-Balancer
  • ein SSL-Proxy-Load-Balancer
  • ein TCP-Proxy-Load-Balancer

Der primäre Anwendungsfall für zonale GCE_VM_IP_PORT-NEGs ist containernatives Load-Balancing. Damit können Sie den Traffic auf Mikrodienste verteilen, die in Containern auf Ihren VMs ausgeführt werden. Containernatives Load-Balancing ermöglicht Load-Balancern, Pods direkt anzusteuern und Entscheidungen zur Lastverteilung auf Pod- statt auf VM-Ebene zu treffen.

Es gibt zwei Möglichkeiten, das containernative Load-Balancing zu konfigurieren: Sie können entweder von GKE Ingress verwaltete NEGs verwenden oder eigenständige NEGs.

Weitere Informationen finden Sie unter:

Zonale Netzwerk-Endpunktgruppen (NEGs) konfigurieren und Endpunkte hinzufügen

Im Folgenden wird beschrieben, wie zonale NEGs vor oder nach dem Erstellen eines Load-Balancers konfiguriert werden. Einige dieser Aktionen gelten nicht für zonale NEGs, die von Ingress erstellt und verwaltet werden.

Zonale Netzwerk-Endpunktgruppen 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. Wählen Sie für den Typ der Netzwerk-Endpunktgruppe den Netzwerk-Endpunkttyp: Zonal aus.
  4. Geben Sie den Namen der Netzwerk-Endpunktgruppe ein.
  5. Wählen Sie den VPC-Netzwerkort aus.
  6. Wählen Sie das VPC-Netzwerk aus.
  7. Wählen Sie das Subnetz aus.
  8. Wählen Sie die Zone aus.
  9. Wählen Sie den Netzwerk-Endpunkt-Typ aus.
  10. Geben Sie den Standardport für den Netzwerk-Endpunkt ein.
  11. Klicken Sie auf Erstellen.

gcloud

Zonalen GCE_VM_IP_PORT-NEG erstellen

gcloud compute network-endpoint-groups create NEG_NAME \
    --zone=ZONE \
    --network=NETWORK
    [--subnet=SUBNET]
    [--default-port=DEFAULT_PORT]

In diesem Befehl werden die Flags so definiert:

  • NEG_NAME ist der Name der neuen Netzwerk-Endpunktgruppe. Der Name darf innerhalb der Zone nur einmal vorkommen.
  • ZONE ist der Name der Zone, in der die NEG erstellt wurde.
  • NETWORK ist der Name des Netzwerks, in dem die NEG erstellt wurde. Wenn diese Angabe fehlt, verwendet Google Cloud das Netzwerk default.
  • SUBNET ist der Name des Subnetzes, zu dem die Netzwerkendpunkte gehören. Dieses Flag ist optional, wenn es sich um ein Netzwerk im automatischen Modus handelt. Wenn diese Angabe fehlt, befindet sich die NEG im automatisch erstellten Subnetz der Region der ausgewählten Zone. Das Flag ist erforderlich, wenn es sich um ein Netzwerk im benutzerdefinierten Modus handelt, oder wenn Sie ein manuell erstelltes Subnetz angeben.
  • DEFAULT_PORT ist der Standardport, der der NEG zugeordnet ist. Dieses Flag ist optional. Wenn das Flag nicht gesetzt wird, müssen alle Endpunkte mit IP:port angegeben werden. Wenn das Flag gesetzt wird, können Sie den Abschnitt port in der Endpunktspezifikation weglassen. Es wird dann vorausgesetzt, dass der Standardport verwendet werden soll.

So erstellen Sie beispielsweise eine zonale GCE_VM_IP_PORT-NEG:

gcloud compute network-endpoint-groups create my-lb-neg \
    --network=my-network \
    --subnet=my-subnet \
    --default-port=80  \
    --zone=asia-southeast1-a

Zonalen GCE_VM_IP-NEG erstellen

Wenn Sie eine zonale GCE_VM_IP-Netzwerk-Endpunktgruppe erstellen möchten, müssen Sie network-endpoint-type wie hier gezeigt angeben: gcloud beta compute network-endpoint-groups create

gcloud beta compute network-endpoint-groups create NEG_NAME \
    --network-endpoint-type=gce-vm-ip \
    --zone=ZONE \
    --network=NETWORK
    --subnet=SUBNET

In diesem Befehl werden die Flags so definiert:

  • NEG_NAME ist der Name der neuen Netzwerk-Endpunktgruppe. Der Name darf innerhalb der Zone nur einmal vorkommen.
  • ZONE ist der Name der Zone, in der die NEG erstellt wurde.
  • NETWORK ist der Name des Netzwerks, in dem die NEG erstellt wurde.
  • SUBNET ist der Name des Subnetzes, zu dem die Netzwerkendpunkte gehören.

Endpunkte zu einer Netzwerk-Endpunktgruppe hinzufügen

Console

So fügen Sie Endpunkte zu einer Netzwerk-Endpunktgruppe hinzu:

  1. Gehen Sie in der Google Cloud Console zur Seite "Netzwerk-Endpunktgruppen".
    Zur Seite "Netzwerk-Endpunktgruppen"
  2. Klicken Sie auf den Namen der Netzwerk-Endpunktgruppe, der Sie Endpunkte hinzufügen möchten. 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, um deren interne IP-Adressen als Netzwerkendpunkte hinzuzufügen, und klicken Sie auf Hinzufügen. Die Netzwerkschnittstelle, die Zone und das Subnetz der VM werden angezeigt.
  5. Geben Sie IP-Adresse oder -Bereich des neuen Netzwerkendpunkts ein.
  6. Wählen Sie den Porttyp aus.
    1. Wenn Sie Standard auswählen, wird für den Endpunkt der Standardport für alle Endpunkte in der Netzwerk-Endpunktgruppe verwendet.
    2. Wenn Sie Benutzerdefiniert auswählen, geben Sie die Portnummer für den zu verwendenden Endpunkt ein.
  7. Klicken Sie zum Hinzufügen weiterer Endpunkte auf Netzwerkendpunkt hinzufügen und wiederholen Sie die Schritte fünf und sechs.
  8. Nachdem Sie alle benötigten Endpunkte festgelegt haben, klicken Sie auf Hinzufügen.

gcloud

So fügen Sie Endpunkte zu einer Netzwerk-Endpunktgruppe hinzu:

gcloud compute network-endpoint-groups update NEG_NAME \
    [--zone=ZONE] \
    --add-endpoint 'instance=INSTANCE_NAME,[ip=IP_ADDRESS],[port=PORT]' \
    [--add-endpoint ...]

Für obigen Befehl gilt:

  • NEG_NAME ist der Name der NEG.
  • ZONE ist der Name der Zone, in der sich die NEG befindet.
  • INSTANCE_NAME ist der Name der VM, zu der die IP-Adresse gehört.
  • IP_ADDRESS ist die IP-Adresse für den neuen Netzwerkendpunkt.
  • PORT ist der Port des neuen Netzwerkendpunkts. Der Port ist optional, wenn in der NEG ein Standardport angegeben ist. Dieses Feld wird für zonale NEGs mit GCE_VM_IP-Endpunkten nicht unterstützt.

So fügen Sie beispielsweise einer zonalen GCE_VM_IP_PORT-NEG Endpunkte hinzu:

gcloud compute network-endpoint-groups update my-lb-neg \
    --zone=asia-southeast1-a
    --add-endpoint 'instance=my-vm1,ip=10.1.1.1,port=80' \

Zonale NEG zu einem Back-End-Dienst hinzufügen

Console

So fügen Sie einem Back-End-Dienst eine Netzwerk-Endpunktgruppe hinzu:

  1. Öffnen Sie in der Google Cloud Console die Seite "Load-Balancing".
    Zur Seite „Load-Balancing“
  2. Klicken Sie auf den Namen des Load-Balancers, dessen Back-End-Dienst Sie bearbeiten möchten.
  3. Klicken Sie auf der Seite Details zum Load-Balancer auf Bearbeiten .
  4. Klicken Sie auf der Seite Load-Balancer bearbeiten auf Back-End-Konfiguration.
  5. Klicken Sie auf der Seite Back-End-Konfiguration auf Bearbeiten .
  6. Klicken Sie auf Back-End hinzufügen.
  7. Wählen Sie eine Zonale Netzwerk-Endpunktgruppe aus und klicken Sie auf Fertig.
  8. Klicken Sie auf Aktualisieren.

gcloud

So fügen Sie einem Back-End-Dienst eine NEG hinzu:

gcloud compute backend-services add-backend BACKEND_SERVICE \
    [--network-endpoint-group=NETWORK_ENDPOINT_GROUP] \
    [--network-endpoint-group-zone=ZONE]

So fügen Sie beispielsweise einem Back-End-Dienst eine zonale GCE_VM_IP_PORT-NEG hinzu:

gcloud compute backend-services add-backend my-lb \
   --network-endpoint-group my-lb-neg \
   --network-endpoint-group-zone=asia-southeast1-a \
   --global \
   --balancing-mode=RATE \
   --max-rate-per-endpoint=5

NEG aus einem Back-End-Dienst entfernen

Console

  1. Öffnen Sie in der Google Cloud Console die Seite "Load-Balancing".
    Zur Seite „Load-Balancing“
  2. Klicken Sie auf den Namen des Load-Balancers, dessen Back-End-Dienst Sie bearbeiten möchten.
  3. Klicken Sie auf der Seite Details zum Load-Balancer auf Bearbeiten .
  4. Klicken Sie auf der Seite Load-Balancer bearbeiten auf Back-End-Konfiguration.
  5. Klicken Sie auf der Seite Back-End-Konfiguration für den Back-End-Dienst, von dem Sie die NEG entfernen möchten, auf Bearbeiten .
  6. Suchen Sie im Bereich Back-End die NEG, die Sie entfernen möchten, und klicken Sie auf das Papierkorbsymbol für die NEG.
  7. Klicken Sie auf Aktualisieren.

gcloud

So entfernen Sie eine NEG von einem Back-End-Dienst:

gcloud compute backend-services remove-backend BACKEND_SERVICE \
    --network-endpoint-group=NETWORK_ENDPOINT_GROUP \
    --network-endpoint-group-zone=NETWORK_ENDPOINT_GROUP_ZONE

Beispiel:

gcloud compute backend-services remove-backend my-lb \
    --network-endpoint-group=my-lb-neg \
    --network-endpoint-group-zone=asia-southeast1-a

Endpunkte aus einer Netzwerk-Endpunktgruppe entfernen

Wenn ein Netzwerkendpunkt aus einer Load-Balancing-NEG entfernt wird, löst er einen Verbindungsausgleich auf der Grundlage der im Back-End-Dienst angegebenen Ausgleichsparameter aus. Wenn mehrere Back-End-Dienste auf dieselbe NEG verweisen, wird das maximale Ausgleichsintervall für alle Back-End-Dienste angewendet.

Console

So entfernen Sie Endpunkte aus einer Netzwerk-Endpunktgruppe:

  1. Gehen Sie in der Google Cloud Console zur Seite "Netzwerk-Endpunktgruppen".
    Zur Seite "Netzwerk-Endpunktgruppen"
  2. Klicken Sie auf den Namen der Netzwerk-Endpunktgruppe, aus der Sie Endpunkte löschen möchten. Die Seite Netzwerk-Endpunktgruppendetails wird angezeigt.
  3. Wählen Sie die Netzwerkendpunkte aus, die Sie löschen möchten, und klicken Sie auf Endpunkt entfernen.

gcloud

So entfernen Sie Endpunkte aus einer Netzwerk-Endpunktgruppe:

gcloud compute network-endpoint-groups update NEG_NAME \
[--zone=ZONE] \
--remove-endpoint 'instance=INSTANCE_NAME,[ip=IP],[port=PORT]' \
--remove-endpoint ...

So entfernen Sie beispielsweise einen Endpunkt aus einer zonalen GCE_VM_IP_PORT-NEG:

gcloud compute network-endpoint-groups update my-lb-neg \
     --remove-endpoint 'instance=my-vm1,ip=10.1.1.1,port=80' \
     --zone=asia-southeast1-a

Netzwerk-Endpunktgruppen auflisten

Console

Sie können sich eine Liste der Netzwerk-Endpunktgruppen anzeigen lassen. Rufen Sie dazu die Seite "Netzwerk-Endpunktgruppen" in der Google Cloud Console auf.
Zur Seite "Netzwerk-Endpunktgruppen"

gcloud

So rufen Sie eine Liste der Netzwerk-Endpunktgruppen ab:

gcloud compute network-endpoint-groups list

Bestimmte Netzwerk-Endpunktgruppe beschreiben

Console

So rufen Sie die Details zu einer bestimmten Netzwerk-Endpunktgruppe ab:

  1. Gehen Sie in der Google Cloud Console zur Seite "Netzwerk-Endpunktgruppen".
    Zur Seite "Netzwerk-Endpunktgruppen"
  2. Klicken Sie auf den Namen der Netzwerk-Endpunktgruppe, deren Details Sie sich ansehen möchten.

gcloud

So rufen Sie die Details zu einer bestimmten Netzwerk-Endpunktgruppe ab:

gcloud compute network-endpoint-groups describe NEG_NAME \
    [--zone=ZONE]

Für obigen Befehl gilt:

  • NEG_NAME ist der Name der Netzwerk-Endpunktgruppe.
  • ZONE ist der Name der Zone, in der die NEG erstellt wurde (optional).

Beispiel: Der folgende gcloud-Befehl listet Informationen zur Netzwerk-Endpunktgruppe my-lb-neg auf.

gcloud compute network-endpoint-groups describe my-lb-neg \
    --zone=asia-southeast1-a

Die Ausgabe des Befehls sieht so aus:

    creationTimestamp: '2018-04-09T14:51:34.381-07:00'
    id: '5260475207627726473'
    kind: compute#networkEndpointGroup
    loadBalancer:
      defaultPort: 80
      network: https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/global/networks/default
      zone: https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/asia-southeast1-a

Netzwerk-Endpunktgruppen entfernen

Eine Netzwerk-Endpunktgruppe kann nicht gelöscht werden, wenn sie mit einem Back-End-Dienst verknüpft ist. Bevor Sie eine NEG löschen, muss sie vom Back-End-Dienst getrennt sein.

Durch das sofortige Löschen einer VM werden alle Netzwerkendpunkte auf der VM aus der NEG entfernt und alle Verbindungen geschlossen. Durch das Löschen einer NEG, nachdem der Back-End-Dienst gelöscht wurde, werden auch alle Endpunkte in dieser NEG ohne Verbindungsausgleich entfernt.

Console

So entfernen Sie eine Netzwerk-Endpunktgruppe von einem Back-End-Dienst:

  1. Öffnen Sie in der Google Cloud Console die Seite "Load-Balancing".
    Zur Seite „Load-Balancing“
  2. Klicken Sie auf den Namen des Load-Balancers, dessen Back-End-Dienst Sie bearbeiten möchten.
  3. Klicken Sie auf der Seite Details zum Load-Balancer auf Bearbeiten .
  4. Klicken Sie auf der Seite Load-Balancer bearbeiten auf Back-End-Konfiguration.
  5. Klicken Sie auf der Seite Back-End-Konfiguration für den Back-End-Dienst, von dem Sie die NEG entfernen möchten, auf Bearbeiten .
  6. Suchen Sie im Bereich Back-End die NEG, die Sie entfernen möchten, und klicken Sie auf das Papierkorbsymbol für die NEG.
  7. Klicken Sie auf Aktualisieren.

So löschen Sie eine Netzwerk-Endpunktgruppe:

  1. Gehen Sie in der Google Cloud Console zur Seite "Netzwerk-Endpunktgruppen".
    Zur Seite "Netzwerk-Endpunktgruppen"
  2. Suchen Sie die Netzwerk-Endpunktgruppe, die Sie löschen möchten.
  3. Klicken Sie in dieser Zeile auf das Papierkorbsymbol.

gcloud

So entfernen Sie eine Netzwerk-Endpunktgruppe von einem Back-End-Dienst:

gcloud compute backend-services remove-backend BACKEND_SERVICE \
    [--network-endpoint-group=NETWORK_ENDPOINT_GROUP] \
    [--network-endpoint-group-zone=ZONE]

So löschen Sie eine Netzwerk-Endpunktgruppe:

gcloud compute network-endpoint-groups delete NEG_NAME \
    --zone=ZONE

Beispiel:

gcloud compute backend-services remove-backend my-neg-backend \
    --network-endpoint-group=my-lb-neg \
    --network-endpoint-group-zone=southeast1-a
gcloud compute network-endpoint-groups delete my-lb-neg \
    --zone=asia-southeast1-a

Endpunkte in einer Netzwerk-Endpunktgruppe auflisten

Console

So rufen Sie eine Liste der Endpunkte in einer Netzwerk-Endpunktgruppe ab:

  1. Gehen Sie in der Google Cloud Console zur Seite "Netzwerk-Endpunktgruppen".
    Zur Seite "Netzwerk-Endpunktgruppen"
  2. Klicken Sie auf den Namen der Netzwerk-Endpunktgruppe, aus der Sie Endpunkte löschen möchten. Sie sehen die Seite Netzwerk-Endpunktgruppendetails, auf der die Endpunkte für die Endpunktgruppe aufgeführt sind.
  3. Erstellen Sie zum Filtern der Endpunkte Schlüssel/Wert-Paare im Textfeld unter Netzwerk-Endpunkte in dieser Gruppe.

gcloud

So rufen Sie eine Liste der Netzwerkendpunkte in einer Netzwerk-Endpunktgruppe ab:

gcloud compute network-endpoint-groups list-network-endpoints NEG_NAME \
    [--zone=ZONE]

Benutzerdefinierte Filter beim Auflisten von Endpunkten in einer Netzwerk-Endpunktgruppe

Die benutzerdefinierten Filter sind ein Beta-Feature.

Mit einem benutzerdefinierten Filter können Sie einzuschränken, welche Endpunkte in einer Netzwerk-Endpunktgruppe aufgelistet werden. Benutzerdefinierte Filter sind nur bei der REST API aktiviert. Sie können benutzerdefinierte Filter nicht über die Cloud Console oder die gcloud-Befehlszeile verwenden.

Weitere Informationen finden Sie in der Dokumentation zur Methode networkEndpointGroups.listNetworkEndpoints.

Systemdiagnose Ihrer Netzwerkendpunkte

Back-End-Dienste mit zonalen GCE_VM_IP_PORT-NEG-Back-Ends müssen eine Systemdiagnose mit einer der beiden folgenden Portspezifikationen verwenden:

  • ein fester (nummerierter) Port (--port)
  • konfiguriert zur Verwendung des Bereitstellungsports des Netzwerk-Endpunkts (--use-serving-port)

Im folgenden Beispiel wird eine Systemdiagnose erstellt, die den Bereitstellungsport des Netzwerk-Endpunkts mit dem Flag --use-serving-port verwendet. Beachten Sie, dass das Flag --use-serving-port mithilfe von gcloud compute health-checks create implementiert wird und nicht mit gcloud compute health-checks update.

Sie können eine Legacy-Systemdiagnose nicht mit einem zonalen NEG-Back-End verwenden. Weitere Informationen finden Sie in den Systemdiagnosekonzepten.