Regionalen externen Application Load Balancer mit Hybridkonnektivität einrichten

Auf dieser Seite wird gezeigt, wie Sie einen regionalen externen Application Load Balancer bereitstellen, um Load-Balancing auf Traffic an Netzwerk-Endpunkte anzuwenden, die sich lokal oder in anderen öffentlichen Clouds befinden und über Hybridkonnektivität erreichbar sind.

Nachdem Sie diese Aufgaben abgeschlossen haben, können Sie optional zusätzliche Dienste wie Cloud CDN und Google Cloud Armor sowie erweiterte Features zur Trafficverwaltung aktivieren.

In der Übersicht über NEGs mit Hybrid-Konnektivität werden die Netzwerkanforderungen zum Einrichten von Hybrid-Load-Balancing erläutert.

Einrichtung: Übersicht

Auf dieser Seite wird die folgende Beispielbereitstellung eingerichtet:

Beispiel für externen Application Load Balancer für Hybridkonnektivität.
Beispiel für externen Application Load Balancer für Hybridkonnektivität (zum Vergrößern klicken)

Sie müssen Hybridkonnektivität konfigurieren, bevor Sie eine hybride Load-Balancing-Bereitstellung einrichten. In diesem Dokument wird die Einrichtung von Hybridkonnektivität nicht behandelt.

Beachten Sie je nach ausgewähltem Produkt (entweder Cloud VPN oder Cloud Interconnect (Dedicated oder Partner)) die entsprechende Produktdokumentation, um Hybridkonnektivität zu konfigurieren.

Berechtigungen

Zum Einrichten des Hybrid-Load-Balancings benötigen Sie die folgenden Berechtigungen:

  • Mit Google Cloud

    • Berechtigungen zum Herstellen von Hybridkonnektivität zwischen Google Cloud und Ihrer lokalen Umgebung oder anderen Cloud-Umgebungen. Eine Liste der erforderlichen Berechtigungen finden Sie in der jeweiligen Dokumentation zum Netzwerkverbindungsprodukt.
    • Berechtigungen zum Erstellen einer Hybridkonnektivitäts-NEG und des Load-Balancers. Die Rolle „Compute-Load-Balancer-Administrator” (roles/compute.loadBalancerAdmin) enthält die zum Ausführen der in dieser Anleitung beschriebenen Aufgaben erforderlichen Berechtigungen.
  • In Ihrer lokalen Umgebung oder sonstigen Cloud-Umgebung außerhalb von Google Cloud

    • Berechtigungen zum Konfigurieren von Netzwerkendpunkten, damit Dienste in Ihrer lokalen Umgebung oder in anderen Cloud-Umgebungen über eine IP:Port-Kombination aus Google Cloud erreicht werden können. Für weitere Informationen wenden Sie sich an den Netzwerkadministrator Ihrer Umgebung.
    • Berechtigungen zum Erstellen von Firewallregeln in Ihrer lokalen Umgebung oder in anderen Cloud-Umgebungen, damit die Systemdiagnoseprüfungen von Google die Endpunkte erreichen können.

Um die Anleitung auf dieser Seite abzuschließen, müssen Sie außerdem eine Hybridkonnektivitäts-NEG, einen Load-Balancer sowie zonale NEGs (und ihre Endpunkte) erstellen, die als Google Cloud-basierte Back-Ends für den Load-Balancer dienen.

Sie sollten entweder Inhaber oder Bearbeiter des Projekts sein oder die folgenden IAM-Rollen für Compute Engine haben:

Task Erforderliche Rolle
Netzwerke, Subnetze und Load-Balancer-Komponenten erstellen Compute-Netzwerkadministrator (roles/compute.networkAdmin)
Firewallregeln hinzufügen und löschen Compute-Sicherheitsadministrator (roles/compute.securityAdmin)
Instanzen erstellen Compute-Instanzadministrator (roles/compute.instanceAdmin)

Hybridkonnektivität einrichten

Ihre Google Cloud-Umgebung und Ihre lokale Umgebung oder sonstigen Cloud-Umgebungen müssen über Hybridkonnektivität verbunden sein. Dafür werden entweder Cloud Interconnect-VLAN-Anhänge oder Cloud VPN-Tunnel mit Cloud Router verwendet. Wir empfehlen die Verwendung einer Verbindung mit Hochverfügbarkeit.

Ein Cloud Router, der für das globale dynamische Routing aktiviert ist, erkennt den spezifischen Endpunkt über das Border Gateway Protocol (BGP) und programmiert ihn in Ihrem Google Cloud-VPC-Netzwerk. Regionales dynamisches Routing wird nicht unterstützt. Statische Routen werden ebenfalls nicht unterstützt.

Das VPC-Netzwerk, mit dem Sie entweder Cloud Interconnect oder Cloud VPN konfigurieren, ist dasselbe Netzwerk, das Sie auch zum Konfigurieren der Bereitstellung des Hybrid-Load-Balancing verwenden. Achten Sie darauf, dass die Subnetz-CIDR-Bereiche Ihres VPC-Netzwerks nicht mit Ihren Remote-CIDR-Bereichen in Konflikt stehen. Bei Überschneidung von IP-Adressen haben Subnetzrouten Vorrang vor Remote-Verbindungen.

Eine Anleitung finden Sie in der folgenden Dokumentation:

Umgebung außerhalb von Google Cloud einrichten

Führen Sie die folgenden Schritte aus, um Ihre lokale Umgebung oder sonstige Cloud-Umgebung für das Hybrid-Load-Balancing einzurichten:

  • Konfigurieren Sie Netzwerkendpunkte, um lokale Dienste in Google Cloud verfügbar zu machen (IP:Port).
  • Konfigurieren Sie Firewallregeln in Ihrer lokalen Umgebung oder sonstigen Cloud-Umgebung.
  • Konfigurieren Sie Cloud Router so, dass bestimmte erforderliche Routen in Ihrer privaten Umgebung beworben werden.

Netzwerkendpunkte einrichten

Nachdem Sie die Hybridkonnektivität eingerichtet haben, konfigurieren Sie einen oder mehrere Netzwerkendpunkte innerhalb Ihrer lokalen Umgebung oder anderer Cloud-Umgebungen, die über Cloud Interconnect oder Cloud VPN mit einer IP:port-Kombination erreichbar ist. Diese IP:port-Kombination wird als einzelner Endpunkt oder als mehrere Endpunkte für die Hybridkonnektivitäts-NEG konfiguriert, die später in diesem Vorgang in Google Cloud erstellt wird.

Wenn mehrere Pfade zum IP-Endpunkt vorhanden sind, folgt das Routing dem unter Cloud Router – Übersicht beschriebenen Verhalten.

Firewallregeln einrichten

Die folgenden Firewallregeln müssen in Ihrer lokalen Umgebung oder einer anderen Cloud-Umgebung erstellt werden:

  • Erstellen Sie eine Firewallregel „eingehenden Traffic zulassen“ in lokalen oder anderen Cloudumgebungen, damit Traffic aus dem Nur-Proxy-Subnetz der Region die Endpunkte erreichen kann.
  • Die Prüfbereiche der Systemdiagnose von Google müssen bei Hybrid-NEGs nicht auf die Zulassungsliste gesetzt werden. Wenn Sie jedoch eine Kombination aus hybriden und zonalen NEGs in einem einzelnen Backend-Dienst verwenden, müssen Sie die Prüfbereiche der Systemdiagnose von Google für die zonalen NEGs auf die Zulassungsliste setzen.

Konfigurieren Sie Cloud Router für die Bewerbung der folgenden benutzerdefinierten IP-Bereiche in Ihrer lokalen Umgebung oder einer anderen Cloud-Umgebung:

  • Der Bereich des Nur-Proxy-Subnetzes der Region.

Google Cloud-Umgebung einrichten

Verwenden Sie für die folgenden Schritte dasselbe VPC-Netzwerk (in diesem Verfahren NETWORK genannt), mit dem die Hybridkonnektivität zwischen den Umgebungen konfiguriert wurde.

Achten Sie außerdem darauf, dass die verwendete Region (in diesem Verfahren REGION genannt) mit der Region übereinstimmt, die zum Erstellen des Cloud VPN-Tunnels oder des Cloud Interconnect-VLAN-Anhangs verwendet wurde.

Nur-Proxy-Subnetz konfigurieren

Das Nur-Proxy-Subnetz ist für alle regionalen externen Application Load Balancer in der Region REGION bestimmt.

Console

  1. Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf.
    Zur Seite „VPC-Netzwerke“
  2. Wechseln Sie zu dem Netzwerk, in dem die Hybridkonnektivität zwischen den Umgebungen konfiguriert wurde.
  3. Klicken Sie auf Subnetz hinzufügen.
  4. Geben Sie einen Namen ein: PROXY_ONLY_SUBNET_NAME.
  5. Wählen Sie eine Region aus: REGION.
  6. Setzen Sie Zweck auf Regional verwalteter Proxy.
  7. Geben Sie einen IP-Adressbereich ein: PROXY_ONLY_SUBNET_RANGE
  8. Klicken Sie auf Hinzufügen.

gcloud

Erstellen Sie das Nur-Proxy-Subnetz mit dem Befehl gcloud compute networks subnets create.

gcloud compute networks subnets create PROXY_ONLY_SUBNET_NAME \
  --purpose=REGIONAL_MANAGED_PROXY \
  --role=ACTIVE \
  --region=REGION \
  --network=NETWORK \
  --range=PROXY_ONLY_SUBNET_RANGE

Load-Balancer-Subnetz konfigurieren

Dieses Subnetz wird zum Erstellen der zonalen NEG-Back-Ends, des Front-Ends und der internen IP-Adresse des Load-Balancers verwendet.

Erstellen Sie dieses Subnetz in dem Netzwerk NETWORK, in dem die Hybridkonnektivität zwischen den Umgebungen konfiguriert wurde.

Cloud Console

  1. Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf.
    Zur Seite „VPC-Netzwerke“
  2. Rufen Sie das Netzwerk auf, das zum Konfigurieren der Hybridkonnektivität zwischen den Umgebungen verwendet wurde.
  3. Im Bereich Subnetze:
    • Legen Sie Modus für Subnetzerstellung auf Benutzerdefiniert fest.
    • Geben Sie im Bereich Neues Subnetz folgende Informationen ein:
      • Name: LB_SUBNET_NAME
      • Region: REGION
      • IP-Adressbereich: LB_SUBNET_RANGE
    • Klicken Sie auf Fertig.
  4. Klicken Sie auf Erstellen.

gcloud

Erstellen Sie ein Subnetz in dem Netzwerk NETWORK, in dem die Hybridkonnektivität zwischen den Umgebungen konfiguriert wurde.

  gcloud compute networks subnets create LB_SUBNET_NAME 
--network=NETWORK
--range=LB_SUBNET_RANGE
--region=REGION

IP-Adresse des Load-Balancers reservieren

Cloud Console

  1. Rufen Sie in der Google Cloud Console die Seite Statische Adresse reservieren auf.

    Zur Seite "Statische Adresse reservieren"

  2. Geben Sie einen Namen ein: LB_IP_ADDRESS.

  3. Wählen Sie unter Netzwerkdienststufe die Option Standard aus.

  4. Setzen Sie die IP-Version auf IPv4.

  5. Wählen Sie unter Typ die Option Regional aus.

  6. Wählen Sie die REGION aus, in der die Adresse erstellt werden soll.

  7. Übernehmen Sie für die Option Anhängen an die Einstellung Keine. Nachdem Sie den Load-Balancer erstellt haben, wird diese IP-Adresse an die Weiterleitungsregel des Load-Balancers angehängt.

  8. Klicken Sie auf Reservieren, um die IP-Adresse zu reservieren.

gcloud

  1. Reservieren Sie eine regionale statische externe IP-Adresse. Gehen Sie dazu so vor:

    gcloud compute addresses create LB_IP_ADDRESS  \
       --region=REGION \
       --network-tier=STANDARD
    
  2. Verwenden Sie den Befehl compute addresses describe, um das Ergebnis anzeigen zu lassen:

    gcloud compute addresses describe LB_IP_ADDRESS  \
       --region=REGION
    

Firewallregeln für zonale NEGs erstellen

In diesem Beispiel erstellen Sie die folgenden Firewallregeln für die zonalen NEG-Back-Ends in Google Cloud:

  • fw-allow-health-check: Eine Firewallregel für eingehenden Traffic, die für Instanzen mit Load-Balancing gilt und Traffic von der Systemdiagnose von Google Cloud (130.211.0.0/22 und 35.191.0.0/16) zulässt. In diesem Beispiel wird das Ziel-Tag allow-health-checkverwendet, um die Instanzen zu identifizieren, auf die sie angewendet werden soll. Die Prüfbereiche der Systemdiagnose von Google müssen bei Hybrid-NEGs nicht auf die Zulassungsliste gesetzt werden. Wenn Sie jedoch eine Kombination aus hybriden und zonalen NEGs in einem einzelnen Backend-Dienst verwenden, müssen Sie die Prüfbereiche der Systemdiagnose von Google für die zonalen NEGs auf die Zulassungsliste setzen.
  • fw-allow-proxy-only-subnet: Eine Firewallregel für eingehenden Traffic, die zulässt, dass Verbindungen vom Nur-Proxy-Subnetz die Back-Ends erreichen. In diesem Beispiel wird das Ziel-Tag allow-proxy-only-subnet verwendet, um die Backend-VMs zu identifizieren, auf die sie angewendet werden soll.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Firewall auf.
    Zu den Firewall-Richtlinien
  2. Klicken Sie auf Firewallregel erstellen, um die Regel zu erstellen, die Traffic von Systemdiagnoseprüfungen zulässt:
    1. Geben Sie als Namen fw-allow-health-check ein.
    2. Wählen Sie unter Netzwerk die Option NETWORK aus.
    3. Wählen Sie unter Ziele Angegebene Ziel-Tags aus.
    4. Tragen Sie im Feld Ziel-Tags allow-health-check ein.
    5. Legen Sie unter Quellfilter die Option IPv4-Bereiche fest.
    6. Legen Sie unter Quell-IPv4-Bereiche die Werte 130.211.0.0/22 und 35.191.0.0/16 fest.
    7. Wählen Sie unter Protokolle und Ports die Option Angegebene Protokolle und Ports aus.
    8. Wählen Sie TCP aus und geben Sie 80 als Portnummer ein.
    9. Klicken Sie auf Erstellen.
  3. Klicken Sie noch einmal auf Firewallregel erstellen, um die Regel zu erstellen, die eingehende Verbindungen vom Nur-Proxy-Subnetz zulässt:
    1. Name: fw-allow-ssh
    2. Netzwerk: NETWORK
    3. Priorität: 1000
    4. Trafficrichtung: Eingehend
    5. Aktion bei Übereinstimmung: Zulassen
    6. Ziele: Angegebene Ziel-Tags
    7. Zieltags: allow-proxy-only-subnet
    8. Quellfilter: IPv4-Bereiche.
    9. IPv4-Quellbereiche: PROXY_ONLY_SUBNET_RANGE
    10. Protokolle und Ports: Wählen Sie Angegebene Protokolle und Ports aus.
    11. Wählen Sie TCP aus und geben Sie 80 als Portnummer ein.
    12. Klicken Sie auf Erstellen.

gcloud

  1. Erstellen Sie die Regel fw-allow-health-check-and-proxy, damit die Google Cloud-Systemdiagnosen die Backend-Instanzen auf dem TCP-Port 80 erreichen können:

    gcloud compute firewall-rules create fw-allow-health-check \
        --network=NETWORK \
        --action=allow \
        --direction=ingress \
        --target-tags=allow-health-check \
        --source-ranges=130.211.0.0/22,35.191.0.0/16 \
        --rules=tcp:80
    
  2. Erstellen Sie eine Firewallregel zum Zulassen von eingehendem Traffic für das Nur-Proxy-Subnetz, damit der Load-Balancer mit Backend-Instanzen auf dem TCP-Port 80 kommunizieren kann:

    gcloud compute firewall-rules create fw-allow-proxy-only-subnet \
        --network=NETWORK \
        --action=allow \
        --direction=ingress \
        --target-tags=allow-proxy-only-subnet \
        --source-ranges=PROXY_ONLY_SUBNET_RANGE \
        --rules=tcp:80
    

Zonale NEG einrichten

Für Google Cloud-basierte Back-Ends sollten Sie mehrere zonale NEGs in derselben Region konfigurieren, in der Sie Hybridkonnektivität konfiguriert haben.

In diesem Beispiel wird eine zonale NEG mit Endpunkten des Typs GCE_VM_IP_PORT in der Region REGION eingerichtet. Erstellen Sie zuerst die VMs in der Zone GCP_NEG_ZONE. Erstellen Sie dann eine zonale NEG in derselben GCP_NEG_ZONE und fügen Sie der NEG die Netzwerkendpunkte der VMs hinzu.

VMs erstellen

Console

  1. Rufen Sie in der Google Cloud Console die Seite „VM-Instanzen” auf.
    Zu „VM-Instanzen“
  2. Klicken Sie auf Instanz erstellen.
  3. Legen Sie als Name vm-a1 fest.
  4. Wählen Sie als Region REGION und dann eine beliebige Zone aus. In diesem Verfahren wird sie als GCP_NEG_ZONE bezeichnet.
  5. Achten Sie im Bereich Bootlaufwerk darauf, dass als Bootlaufwerk-Optionen das Betriebssystem Debian und die Version 10 (Buster) ausgewählt sind. Klicken Sie auf Auswählen, um das Image bei Bedarf zu ändern.
  6. Klicken Sie auf Erweiterte Optionen und nehmen Sie die folgenden Änderungen vor:

    • Klicken Sie auf Netzwerke und fügen Sie die folgenden Netzwerk-Tags hinzu: allow-ssh, allow-health-check und allow-proxy-only-subnet.
    • Klicken Sie unter Netzwerkschnittstellen auf Bearbeiten , nehmen Sie die folgenden Änderungen vor und klicken Sie dann auf Fertig:
      • Netzwerk: NETWORK
      • Subnetz: LB_SUBNET_NAME
    • 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
      apt-get update
      apt-get install apache2 -y
      a2ensite default-ssl
      a2enmod ssl
      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
      systemctl restart apache2
      
  7. Klicken Sie auf Erstellen.

  8. Wiederholen Sie die folgenden Schritte, um eine zweite VM zu erstellen. Verwenden Sie dabei die folgende Kombination aus Name und Zone:

    • Name: vm-a2, Zone: GCP_NEG_ZONE

gcloud

Erstellen Sie die VMs. Führen Sie dazu den folgenden Befehl zweimal aus und verwenden Sie diese Kombinationen für den Namen der VM und ihrer Zone. Der Skriptinhalt ist für beide VMs identisch.

  • VM_NAME von vm-a1 und einer GCP_NEG_ZONE-Zone Ihrer Wahl
  • VM_NAME von vm-a2 und derselben GCP_NEG_ZONE-Zone

    gcloud compute instances create VM_NAME \
        --zone=GCP_NEG_ZONE \
        --image-family=debian-10 \
        --image-project=debian-cloud \
        --tags=allow-ssh,allow-health-check,allow-proxy-only-subnet \
        --subnet=LB_SUBNET_NAME \
        --metadata=startup-script='#! /bin/bash
          apt-get update
          apt-get install apache2 -y
          a2ensite default-ssl
          a2enmod ssl
          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
          systemctl restart apache2'
    

Zonale NEG 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. Geben Sie einen Namen für die zonale NEG ein. In diesem Verfahren als GCP_NEG_NAME bezeichnet.
  4. Wählen Sie den Typ der Netzwerk-Endpunktgruppe aus: Netzwerk-Endpunktgruppe (zonal).
  5. Wählen Sie das Netzwerk aus: NETWORK
  6. Wählen Sie das Subnetz aus: LB_SUBNET_NAME
  7. Wählen Sie die Zone aus: GCP_NEG_ZONE
  8. Geben Sie den Standardport ein: 80.
  9. Klicken Sie auf 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 Netzwerk-Endpunktgruppe, die im vorherigen Schritt erstellt wurde (GCP_NEG_NAME). 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. Im Abschnitt Netzwerkschnittstelle werden der Name, die Zone und das Subnetz der VM angezeigt.
  5. Geben Sie die IP-Adresse des neuen Netzwerkendpunkts ein.
  6. Wählen Sie den Porttyp aus.
    1. Wenn Sie Standard auswählen, wird für den Endpunkt der Standardport 80 für alle Endpunkte in der Netzwerk-Endpunktgruppe verwendet. Dies ist für unser Beispiel ausreichend, da der Apache-Server Anfragen an Port 80 verarbeitet.
    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 vorherigen Schritte.
  8. Nachdem Sie alle Endpunkte hinzugefügt haben, klicken Sie auf Erstellen.

gcloud

  1. Erstellen Sie mit dem Befehl gcloud compute network-endpoint-groups create eine zonale NEG (mit GCE_VM_IP_PORT-Endpunkten):

    gcloud compute network-endpoint-groups create GCP_NEG_NAME \
        --network-endpoint-type=GCE_VM_IP_PORT \
        --zone=GCP_NEG_ZONE \
        --network=NETWORK \
        --subnet=LB_SUBNET_NAME
    

    Sie können entweder beim Erstellen der NEG in diesem Schritt einen --default-port angeben oder für jeden Endpunkt eine Portnummer angeben, wie im nächsten Schritt gezeigt.

  2. Fügen Sie Endpunkte zu GCP_NEG_NAME hinzu.

    gcloud compute network-endpoint-groups update GCP_NEG_NAME \
        --zone=GCP_NEG_ZONE \
        --add-endpoint='instance=vm-a1,port=80' \
        --add-endpoint='instance=vm-a2,port=80'
    

Hybridkonnektivitäts-NEG einrichten

Verwenden Sie beim Erstellen der NEG eine Zone, die die geografische Entfernung zwischen Google Cloud und Ihrer lokalen oder sonstigen Cloud-Umgebung minimiert. Wenn Sie beispielsweise einen Dienst in einer lokalen Umgebung in Frankfurt hosten, können Sie beim Erstellen der NEG die Google Cloud-Zone europe-west3-a angeben.

Wenn Sie Cloud Interconnect verwenden, sollte sich die Zone zum Erstellen der NEG in derselben Region befinden, in der der Cloud Interconnect-Anhang konfiguriert wurde.

Informationen zu den verfügbaren Regionen und Zonen finden Sie in der Compute Engine-Dokumentation: Verfügbare Regionen und Zonen.

Console

So erstellen Sie eine Endpunktgruppe in einer Hybridkonnektivität:

  1. Gehen Sie in der Google Cloud Console zur Seite "Netzwerk-Endpunktgruppen".
    Zu den Netzwerk-Endpunktgruppen
  2. Klicken Sie auf NETZWERK-ENDPUNKTGRUPPE ERSTELLEN.
  3. Geben Sie einen Namen für die Hybrid-NEG ein. In diesem Verfahren als ON_PREM_NEG_NAME bezeichnet.
  4. Wählen Sie den Typ der Netzwerk-Endpunktgruppe aus: Hybridkonnektivitätsnetzwerk-Endpunktgruppe (zonal).
  5. Wählen Sie das Netzwerk aus: NETWORK
  6. Wählen Sie das Subnetz aus: LB_SUBNET_NAME
  7. Wählen Sie die Zone aus: ON_PREM_NEG_ZONE
  8. Geben Sie den Standardport ein.
  9. Klicken Sie auf Erstellen.

Fügen Sie der Hybridkonnektivitäts-NEG Endpunkte 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, die im vorherigen Schritt erstellt wurde (ON_PREM_NEG_NAME). 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. Geben Sie die IP-Adresse des neuen Netzwerkendpunkts ein.
  5. 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, können Sie eine andere Portnummer für den zu verwendenden Endpunkt eingeben.
  6. Klicken Sie zum Hinzufügen weiterer Endpunkte auf Netzwerkendpunkt hinzufügen und wiederholen Sie die vorherigen Schritte.
  7. Nachdem Sie alle Nicht-Google Cloud-Endpunkte hinzugefügt haben, klicken Sie auf Erstellen.

gcloud

  1. Erstellen Sie mit dem Befehl gcloud compute network-endpoint-groups create eine Hybridkonnektivitäts-NEG.

    gcloud compute network-endpoint-groups create ON_PREM_NEG_NAME \
        --network-endpoint-type=NON_GCP_PRIVATE_IP_PORT \
        --zone=ON_PREM_NEG_ZONE \
        --network=NETWORK
    
  2. Fügen Sie den lokalen Backend-VM-Endpunkt zu ON_PREM_NEG_NAME hinzu:

    gcloud compute network-endpoint-groups update ON_PREM_NEG_NAME \
        --zone=ON_PREM_NEG_ZONE \
        --add-endpoint="ip=ON_PREM_IP_ADDRESS_1,port=PORT_1" \
        --add-endpoint="ip=ON_PREM_IP_ADDRESS_2,port=PORT_2"
    

Mit diesem Befehl können Sie die Netzwerkendpunkte hinzufügen, die Sie zuvor lokal oder in Ihrer Cloud-Umgebung konfiguriert haben. Wiederholen Sie den Vorgang --add-endpoint so oft wie nötig.

Sie können diese Schritte wiederholen, um bei Bedarf mehrere Hybrid-NEGs zu erstellen.

Load-Balancer konfigurieren

Erstellen Sie den Load Balancer mit zonalen und hybriden NEG-Back-Ends.

Console

gcloud

  1. Erstellen Sie eine Systemdiagnose für die Back-Ends.
       gcloud compute health-checks create http HTTP_HEALTH_CHECK_NAME \
           --region=REGION \
           --use-serving-port
       
    Systemdiagnoseprüfungen für Hybrid-NEG-Back-Ends stammen von Envoy-Proxys im Nur-Proxy-Subnetz, während Prüfungen für zonale NEG-Back-Ends von [zentralen Prüfungs-IP-Bereichen von Google](/load-balancing/docs/health-check-concepts#ip-ranges) stammen.
  2. Erstellen Sie einen Back-End-Dienst. Sie fügen diesem Backend-Dienst sowohl die zonale NEG als auch die NEG mit Hybrid-Konnektivität als Backends hinzu.
      gcloud compute backend-services create BACKEND_SERVICE \
          --load-balancing-scheme=EXTERNAL_MANAGED \
          --protocol=HTTP \
          --health-checks=HTTP_HEALTH_CHECK_NAME \
          --health-checks-region=REGION \
          --region=REGION
      
  3. Fügen Sie dem Backend-Dienst die zonale NEG als Backend hinzu.
    gcloud compute backend-services add-backend BACKEND_SERVICE \
        --region=REGION \
        --balancing-mode=RATE \
        --max-rate-per-endpoint=MAX_REQUEST_RATE_PER_ENDPOINT \
        --network-endpoint-group=GCP_NEG_NAME \
        --network-endpoint-group-zone=GCP_NEG_ZONE
    
    Weitere Informationen zum Konfigurieren des Balancing-Modus finden Sie in der Dokumentation zur gcloud CLI für den Parameter --max-rate-per-endpoint.
  4. Fügen Sie dem Backend-Dienst das hybride NEG als Backend hinzu.
    gcloud compute backend-services add-backend BACKEND_SERVICE \
        --region=REGION \
        --balancing-mode=RATE \
        --max-rate-per-endpoint=MAX_REQUEST_RATE_PER_ENDPOINT \
        --network-endpoint-group=ON_PREM_NEG_NAME \
        --network-endpoint-group-zone=ON_PREM_NEG_ZONE
    
    Weitere Informationen zum Konfigurieren des Balancing-Modus finden Sie in der Dokumentation zur gcloud CLI für den Parameter --max-rate-per-endpoint.
  5. Erstellen Sie eine URL-Zuordnung, um eingehende Anfragen an den Backend-Dienst weiterzuleiten:
    gcloud compute url-maps create URL_MAP_NAME \
        --default-service BACKEND_SERVICE \
        --region=REGION
    
  6. Optional: Führen Sie diesen Schritt aus, wenn Sie HTTPS zwischen dem Client und dem Load Balancer verwenden. Dieser Schritt ist für HTTP-Load-Balancer nicht erforderlich.

    Sie können entweder Compute Engine- oder Zertifikatmanager-Zertifikate erstellen. Verwenden Sie eine der folgenden Methoden, um Zertifikate mit Zertifikatmanager zu erstellen:

    • Regionale selbstverwaltete Zertifikate. Informationen zum Erstellen und Verwenden regionaler selbstverwalteter Zertifikate finden Sie unter Regionales selbstverwaltetes Zertifikat bereitstellen. Zertifikatzuordnungen werden nicht unterstützt.

    • Regionale von Google verwaltete Zertifikate. Zertifikatzuordnungen werden nicht unterstützt.

      Die folgenden Typen regionaler, von Google verwalteter Zertifikate werden von Zertifikatmanager unterstützt:

    • Nachdem Sie Zertifikate erstellt haben, hängen Sie das Zertifikat direkt an den Zielproxy an.

      So erstellen Sie eine selbstverwaltete SSL-Zertifikatsressource von Compute Engine:
      gcloud compute ssl-certificates create SSL_CERTIFICATE_NAME \
          --certificate CRT_FILE_PATH \
          --private-key KEY_FILE_PATH
      
    • Erstellen Sie einen HTTP(S)-Zielproxy, um Anfragen an Ihre URL-Zuordnung weiterzuleiten.

      Erstellen Sie einen HTTP-Zielproxy für einen HTTP-Load-Balancer:
      gcloud compute target-http-proxies create TARGET_HTTP_PROXY_NAME \
          --url-map=URL_MAP_NAME \
          --url-map-region=REGION \
          --region=REGION
      
      Erstellen Sie für einen HTTPS-Load-Balancer einen HTTPS-Zielproxy. Der Proxy ist der Teil des Load-Balancers, der das SSL-Zertifikat für das HTTPS-Load-Balancing besitzt. Daher laden Sie in diesem Schritt auch Ihr Zertifikat.
      gcloud compute target-https-proxies create TARGET_HTTPS_PROXY_NAME \
          --ssl-certificates=SSL_CERTIFICATE_NAME \
          --url-map=URL_MAP_NAME \
          --url-map-region=REGION \
          --region=REGION
      
    • Erstellen Sie eine Weiterleitungsregel, um eingehende Anfragen an den Proxy weiterzuleiten. Verwenden Sie nicht das Nur-Proxy-Subnetz, um die Weiterleitungsregel zu erstellen.

      Für einen HTTP-Load-Balancer:
        gcloud compute forwarding-rules create HTTP_FORWARDING_RULE_NAME \
            --load-balancing-scheme=EXTERNAL_MANAGED \
            --network=NETWORK \
            --subnet=LB_SUBNET_NAME \
            --address=LB_IP_ADDRESS \
            --ports=80 \
            --region=REGION \
            --target-http-proxy=TARGET_HTTP_PROXY_NAME \
            --target-http-proxy-region=REGION
      
      Für einen HTTPS-Load-Balancer:
        gcloud compute forwarding-rules create HTTPS_FORWARDING_RULE_NAME \
            --load-balancing-scheme=EXTERNAL_MANAGED \
            --network=NETWORK \
            --subnet=LB_SUBNET_NAME \
            --address=LB_IP_ADDRESS \
            --ports=443 \
            --region=REGION \
            --target-http-proxy=TARGET_HTTPS_PROXY_NAME \
            --target-http-proxy-region=REGION
      

Domain mit dem Load-Balancer verbinden

Notieren Sie sich nach der Erstellung des Load-Balancers die IP-Adresse, die diesem zugewiesen ist, z. B. 30.90.80.100. Wenn Sie Ihre Domain auf den Load-Balancer verweisen möchten, erstellen Sie mit Ihrem Domain-Registrierungsdienst einen A-Eintrag. Wenn Sie Ihrem SSL-Zertifikat mehrere Domains hinzugefügt haben, müssen Sie für jede Domain einen A-Eintrag hinzufügen, der auf die IP-Adresse des Load-Balancers verweist. So erstellen Sie beispielsweise A-Einträge für www.example.com und example.com:

NAME                  TYPE     DATA
www                   A        30.90.80.100
@                     A        30.90.80.100

Wenn Sie Cloud DNS als DNS-Anbieter verwenden, finden Sie weitere Informationen unter Einträge hinzufügen, ändern und löschen.

Load-Balancer testen

Nachdem Sie den Load-Balancer konfiguriert haben, können Sie Traffic an die IP-Adresse des Load-Balancers senden.

  1. Öffnen Sie in der Google Cloud Console die Seite "Load-Balancing".
    Gehe zu „Load-Balancing“
  2. Klicken Sie auf den Load-Balancer, den Sie gerade erstellt haben.
  3. Notieren Sie sich seine IP-Adresse.
  4. Traffic an den Load-Balancer senden.

    • Wenn Sie einen HTTP-Load-Balancer erstellt haben, können Sie ihn mit einem Webbrowser testen. Rufen Sie dafür http://IP_ADDRESS auf. Ersetzen Sie IP_ADDRESS durch die IP-Adresse des Load-Balancers. Sie sollten an den Dienst weitergeleitet werden, den Sie über den Endpunkt bereitgestellt haben.

    • Wenn Sie einen HTTPS-Load-Balancer erstellt haben, können Sie ihn mit curl wie im Folgenden gezeigt, testen. Ersetzen Sie IP_ADDRESS durch die IP-Adresse des Load-Balancers. Sie sollten an den Dienst weitergeleitet werden, den Sie über den Endpunkt bereitgestellt haben.

      curl -k https://IP_ADDRESS
      

      Sollte das nicht funktionieren und Sie verwenden ein von Google verwaltetes Zertifikat, prüfen Sie, ob der Status der Zertifikatsressource AKTIV ist. Weitere Informationen finden Sie unter Status der von Google verwalteten SSL-Zertifikatressourcen. Testen Sie dann die Domain, die auf die IP-Adresse des Load-Balancers verweist. Beispiel:

      curl -s https://test.example.com
      
  5. Das Testen der Nicht-Google Cloud-Endpunkte hängt vom Dienst ab, den Sie über den Hybrid-NEG-Endpunkt freigegeben haben.

Nächste Schritte