Regionalen externen Proxy-Network-Load-Balancer mit Hybridkonnektivität einrichten

Ein regionaler externer Proxy-Network-Load-Balancer ist ein proxy-basierter regionaler Layer-4-Load-Balancer, mit dem Sie Ihren TCP-Diensttraffic in einer einzelnen Region hinter einer externen regionalen IP-Adresse ausführen und skalieren können. Diese Load Balancer verteilen externen TCP-Traffic aus dem Internet an Back-Ends in derselben Region.

Auf dieser Seite wird beschrieben, wie ein regionaler externer Network-Load-Balancer konfiguriert wird, um den Traffic zu Back-Ends in lokalen Umgebungen oder in anderen Cloud-Umgebungen, die über Hybridkonnektivität verbunden sind, per Load-Balancing zu verteilen. Das Konfigurieren von Hybridkonnektivität zum Verbinden Ihrer Netzwerke mit Google Cloud wird auf dieser Seite nicht behandelt.

Bevor Sie beginnen, lesen Sie die Übersicht über externen Proxy-Network-Load-Balancer.

In diesem Beispiel verwenden wir den Load-Balancer, um TCP-Traffic auf Backend-VMs lokal oder in anderen Cloud-Umgebungen zu verteilen.

In diesem Beispiel konfigurieren Sie die im folgenden Diagramm dargestellte Bereitstellung.

Beispielkonfiguration für externen Network-Load-Balancer mit Hybrid-NEG-Back-Ends.
Beispielkonfiguration für externen Proxy-Network-Load-Balancer mit Hybrid-NEG-Back-Ends

Dies ist ein regionaler Load Balancer. Alle Load-Balancer-Komponenten (Backend-Instanzgruppe, Backend-Dienst, Ziel-Proxy und Weiterleitungsregel) müssen sich in derselben Region befinden.

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:

Aufgabe 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. Sie können ein beliebiges Subnetz aus diesem Netzwerk auswählen, um die IP-Adresse des Load-Balancers zu reservieren und den Load-Balancer zu erstellen. In diesem Verfahren wird das Subnetz als LB_SUBNET bezeichnet.

Achten Sie außerdem darauf, dass die verwendete Region (in diesem Verfahren REGION_A genannt) dieselbe Region ist, die zum Erstellen des Cloud VPN-Tunnels oder des Cloud Interconnect-VLAN-Anhangs verwendet wurde.

Nur-Proxy-Subnetz konfigurieren

Ein Nur-Proxy-Subnetz stellt eine Reihe von IP-Adressen bereit, die Google zum Ausführen von Envoy-Proxys in Ihrem Namen verwendet. Die Proxys beenden Verbindungen vom Client und erstellen neue Verbindungen zu den Back-Ends.

Das Nur-Proxy-Subnetz wird von allen Envoy-basierten regionalen Load-Balancern in der Region (REGION_A) des VPC-Netzwerks NETWORK verwendet.

Pro Region und VPC-Netzwerk kann nur ein Nur-Proxy-Subnetz aktiv sein. Sie können diesen Schritt überspringen, wenn in dieser Region bereits ein Nur-Proxy-Subnetz vorhanden ist.

Console

Wenn Sie die Google Cloud Console verwenden, können Sie das Nur-Proxy-Subnetz später auf der Seite Load-Balancing erstellen.

Führen Sie die folgenden Schritte aus, wenn Sie jetzt das Nur-Proxy-Subnetz erstellen möchten:

  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 für Name proxy-only-subnet ein.

  5. Wählen Sie bei Region die Option REGION_A aus.

  6. Setzen Sie Zweck auf Regional verwalteter Proxy.

  7. Geben Sie 10.129.0.0/23 als IP-Adressbereich ein.

  8. Klicken Sie auf Hinzufügen.

gcloud

Verwenden Sie zum Erstellen des Nur-Proxy-Subnetzes den Befehl gcloud compute networks subnets create:

gcloud compute networks subnets create proxy-only-subnet \
    --purpose=REGIONAL_MANAGED_PROXY \
    --role=ACTIVE \
    --region=REGION_A \
    --network=NETWORK \
    --range=10.129.0.0/23

IP-Adresse des Load-Balancers reservieren

Reservieren Sie eine statische IP-Adresse für den Load-Balancer.

Console

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

    Zur Seite "Statische Adresse reservieren"

  2. Wählen Sie einen Namen für die neue Adresse.

  3. Wählen Sie für Netzwerkdienststufe die Option Standard aus.

  4. Setzen Sie die IP-Version auf IPv4. IPv6-Adressen werden nicht unterstützt.

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

  6. Wählen Sie bei Region die Option REGION_A aus.

  7. Übernehmen Sie für die Option Verknüpft mit 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. Verwenden Sie den Befehl gcloud compute addresses create, um eine statische externe IP-Adresse zu reservieren:

    gcloud compute addresses create ADDRESS_NAME  \
       --region=REGION_A \
       --network-tier=STANDARD
    

    Ersetzen Sie dabei ADDRESS_NAME durch den Namen, den Sie dieser Adresse geben möchten.

  2. Verwenden Sie den Befehl gcloud compute addresses describe, um das Ergebnis anzeigen zu lassen:

    gcloud compute addresses describe ADDRESS_NAME
    

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.

Darüber hinaus sollte sich die Zone, die Sie zum Erstellen der NEG verwenden, in derselben Region befinden, in der der Cloud VPN-Tunnel oder der Cloud Interconnect-VLAN-Anhang für die Hybridkonnektivität konfiguriert wurde.

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

Console

Hybridkonnektivitäts-NEG erstellen

  1. Rufen Sie in der Google Cloud Console die Seite Netzwerk-Endpunktgruppen auf.

    Zu den Netzwerk-Endpunktgruppen

  2. Klicken Sie auf NETZWERK-ENDPUNKTGRUPPE ERSTELLEN.

  3. Geben Sie für Name HYBRID_NEG_NAME ein.

  4. Wählen Sie als Typ der Netzwerk-Endpunktgruppe die Option Netzwerk-Endpunktgruppe mit Hybridkonnektivität (zonal).

  5. Wählen Sie für Netzwerk die Option NETWORK aus.

  6. Wählen Sie für Subnetz LB_SUBNET aus.

  7. Wählen Sie bei Zone die Option HYBRID_NEG_ZONE aus.

  8. Wählen Sie für Standardport den Standardport aus.

  9. Geben Sie für Maximale Anzahl von Verbindungen den Wert 2 ein.

  10. Klicken Sie auf Erstellen.

Fügen Sie der Hybridkonnektivitäts-NEG Endpunkte hinzu

  1. Rufen Sie in der Google Cloud Console die Seite Netzwerk-Endpunktgruppen auf.

    Zu den Netzwerk-Endpunktgruppen

  2. Klicken Sie auf den Namen der Netzwerk-Endpunktgruppe, die Sie im vorherigen Schritt erstellt haben (HYBRID_NEG_NAME).

  3. Klicken Sie auf der Seite Details zur Netzwerk-Endpunktgruppe im Bereich Netzwerkendpunkte in dieser Gruppe auf Netzwerkendpunkt hinzufügen.

  4. Geben Sie auf der Seite Netzwerkendpunkt hinzufügen die IP-Adresse des neuen Netzwerkendpunkts ein.

  5. Wählen Sie den Porttyp aus.

    • Wenn Sie Standard auswählen, wird für den Endpunkt der Standardport für alle Endpunkte in der Netzwerk-Endpunktgruppe verwendet.
    • 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. Verwenden Sie zum Erstellen einer Hybridkonnektivitäts-NEG den gcloud compute network-endpoint-groups create-Befehl:

    gcloud compute network-endpoint-groups create HYBRID_NEG_NAME \
        --network-endpoint-type=NON_GCP_PRIVATE_IP_PORT \
        --zone=HYBRID_NEG_ZONE \
        --network=NETWORK
     
  2. Fügen Sie den lokalen IP:Port-Endpunkt zur Hybrid-NEG hinzu:

    gcloud compute network-endpoint-groups update HYBRID_NEG_NAME \
        --zone=HYBRID_NEG_ZONE \
        --add-endpoint="ip=ENDPOINT_IP_ADDRESS,port=ENDPOINT_PORT"
    

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

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 unter Proxy oder Passthrough die Option Proxy-Load Balancer aus und klicken Sie auf Weiter.
  5. Wählen Sie für Öffentlich oder intern die Option Öffentlich (extern) aus und klicken Sie auf Weiter.
  6. Wählen Sie unter Globale oder Einzelregion-Bereitstellung die Option Am besten für regionale Arbeitslasten aus und klicken Sie auf Weiter.
  7. Klicken Sie auf Konfigurieren.

Grundlegende Konfiguration

  1. Geben Sie unter Name einen Namen für den Load Balancer ein.
  2. Wählen Sie bei Region die Option REGION_A aus.
  3. Wählen Sie für Netzwerk die Option NETWORK aus.

Nur-Proxy-Subnetz reservieren

  1. Klicken Sie auf Subnetz reservieren.
  2. Geben Sie für Name proxy-only-subnet ein.
  3. Geben Sie 10.129.0.0/23 als IP-Adressbereich ein.
  4. Klicken Sie auf Hinzufügen.

Back-End konfigurieren

  1. Klicken Sie auf Backend-Konfiguration.
  2. Wählen Sie für den Backend-Typ die Option Hybridkonnektivitätsnetzwerk-Endpunktgruppe (zonal) aus.
  3. Wählen Sie für Protocol die Option TCP aus.
  4. Wählen Sie unter Neues Backend die zuvor erstellte Hybrid-NEG aus (HYBRID_NEG_NAME). Sie können auch auf Netzwerk-Endpunktgruppe erstellen klicken, um jetzt die Hybrid-NEG zu erstellen. Eine Anleitung zum Konfigurieren der NEG finden Sie unter Hybrid-NEG einrichten.
  5. Behalten Sie die verbleibenden Standardwerte bei und klicken Sie dann auf Fertig.
  6. Systemdiagnose konfigurieren:
    • Klicken Sie bei Systemdiagnose auf Systemdiagnose erstellen.
    • Geben Sie unter Name einen Namen für die Systemdiagnose ein.
    • Wählen Sie für Protocol die Option TCP aus.
    • Geben Sie für Port den Wert 80 ein.
  7. Übernehmen Sie die verbleibenden Standardwerte und klicken Sie dann auf Speichern.
  8. Prüfen Sie in der Google Cloud Console, ob neben Backend-Konfiguration ein Häkchen angezeigt wird. Ist dies nicht der Fall, prüfen Sie, ob Sie alle Schritte ausgeführt haben.

Frontend konfigurieren

  1. Klicken Sie auf Frontend-Konfiguration.
  2. Geben Sie unter Name einen Namen für die Weiterleitungsregel ein.
  3. Wählen Sie für IP-Adresse die Option LB_IP_ADDRESS aus.
  4. Geben Sie als Portnummer eine beliebige Portnummer von 1–65535 ein. Die Weiterleitungsregel leitet nur Pakete mit einem übereinstimmenden Zielport weiter.
  5. Aktivieren Sie das Proxyprotokoll nur, wenn es mit dem Dienst funktioniert, der auf Ihren lokalen oder anderen Cloudendpunkten ausgeführt wird. Das Proxyprotokoll funktioniert beispielsweise nicht mit der Apache HTTP Server-Software. Weitere Informationen finden Sie unter Proxyprotokoll.
  6. Klicken Sie auf Fertig.
  7. Prüfen Sie in der Google Cloud Console, ob neben Frontend-Konfiguration ein Häkchen angezeigt wird. Ist dies nicht der Fall, prüfen Sie, ob Sie alle vorherigen Schritte ausgeführt haben.

Überprüfen und abschließen

  1. Klicken Sie auf Überprüfen und abschließen.
  2. Kontrollieren Sie die Einstellungen.
  3. Klicken Sie auf Erstellen.

gcloud

  1. Erstellen Sie eine regionale Systemdiagnose für die Back-Ends.:

    gcloud compute health-checks create tcp TCP_HEALTH_CHECK_NAME \
        --region=REGION_A \
        --use-serving-port
    
  2. Erstellen Sie einen Backend-Dienst.

    gcloud compute backend-services create BACKEND_SERVICE_NAME \
       --load-balancing-scheme=EXTERNAL_MANAGED \
       --protocol=TCP \
       --region=REGION_A \
       --health-checks=TCP_HEALTH_CHECK_NAME \
       --health-checks-region=REGION_A
    
  3. Fügen Sie dem Backend-Dienst das hybride NEG-Backend hinzu:

    gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \
       --network-endpoint-group=HYBRID_NEG_NAME \
       --network-endpoint-group-zone=HYBRID_NEG_ZONE \
       --region=REGION_A \
       --balancing-mode=CONNECTION \
       --max-connections=MAX_CONNECTIONS
    

    Geben Sie unter MAX_CONNECTIONS die maximale Anzahl gleichzeitiger Verbindungen ein, die das Backend verarbeiten soll.

  4. Erstellen Sie den Ziel-TCP-Proxy.:

    gcloud compute target-tcp-proxies create TARGET_TCP_PROXY_NAME \
       --backend-service=BACKEND_SERVICE_NAME \
       --region=REGION_A
    
  5. Erstellen Sie die Weiterleitungsregel. Führen Sie den Befehl gcloud compute forwarding-rules create aus. Ersetzen Sie FWD_RULE_PORT durch eine einzelne Portnummer von 1–65535. Die Weiterleitungsregel leitet nur Pakete mit einem übereinstimmenden Zielport weiter.

    gcloud compute forwarding-rules create FORWARDING_RULE \
       --load-balancing-scheme=EXTERNAL_MANAGED \
       --network=NETWORK \
       --subnet=LB_SUBNET \
       --address=LB_IP_ADDRESS \
       --ports=FWD_RULE_PORT \
       --region=REGION_A \
       --target-tcp-proxy=TARGET_TCP_PROXY_NAME \
       --target-tcp-proxy-region=REGION_A
    

Load-Balancer testen

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

  1. Rufen Sie die IP-Adresse des Load-Balancers ab.

    Führen Sie den folgenden Befehl aus, um die IPv4-Adresse abzurufen:

    gcloud compute addresses describe ADDRESS_NAME
    
  2. Senden Sie den Traffic mit folgendem Befehl an Ihren Load-Balancer. Ersetzen Sie LB_IP_ADDRESS durch die IPv4-Adresse des Load-Balancers:

    curl -m1 LB_IP_ADDRESS:FWD_RULE_PORT
    

Nächste Schritte