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.
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.
- Berechtigungen zum Konfigurieren von Netzwerkendpunkten, damit Dienste in Ihrer lokalen Umgebung oder in anderen Cloud-Umgebungen über eine
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.
Routen bewerben
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:
Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf.
Wechseln Sie zu dem Netzwerk, in dem die Hybridkonnektivität zwischen den Umgebungen konfiguriert wurde.
Klicken Sie auf Subnetz hinzufügen.
Geben Sie für Name
proxy-only-subnet
ein.Wählen Sie bei Region die Option
REGION_A
aus.Setzen Sie Zweck auf Regional verwalteter Proxy.
Geben Sie
10.129.0.0/23
als IP-Adressbereich ein.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
Rufen Sie in der Google Cloud Console die Seite Statische Adresse reservieren auf.
Wählen Sie einen Namen für die neue Adresse.
Wählen Sie für Netzwerkdienststufe die Option Standard aus.
Setzen Sie die IP-Version auf IPv4. IPv6-Adressen werden nicht unterstützt.
Wählen Sie unter Typ die Option Regional aus.
Wählen Sie bei Region die Option
REGION_A
aus.Ü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.
Klicken Sie auf Reservieren, um die IP-Adresse zu reservieren.
gcloud
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.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
Rufen Sie in der Google Cloud Console die Seite Netzwerk-Endpunktgruppen auf.
Klicken Sie auf NETZWERK-ENDPUNKTGRUPPE ERSTELLEN.
Geben Sie für Name
HYBRID_NEG_NAME
ein.Wählen Sie als Typ der Netzwerk-Endpunktgruppe die Option Netzwerk-Endpunktgruppe mit Hybridkonnektivität (zonal).
Wählen Sie für Netzwerk die Option
NETWORK
aus.Wählen Sie für Subnetz
LB_SUBNET
aus.Wählen Sie bei Zone die Option
HYBRID_NEG_ZONE
aus.Wählen Sie für Standardport den Standardport aus.
Geben Sie für Maximale Anzahl von Verbindungen den Wert
2
ein.Klicken Sie auf Erstellen.
Fügen Sie der Hybridkonnektivitäts-NEG Endpunkte hinzu
Rufen Sie in der Google Cloud Console die Seite Netzwerk-Endpunktgruppen auf.
Klicken Sie auf den Namen der Netzwerk-Endpunktgruppe, die Sie im vorherigen Schritt erstellt haben (
HYBRID_NEG_NAME
).Klicken Sie auf der Seite Details zur Netzwerk-Endpunktgruppe im Bereich Netzwerkendpunkte in dieser Gruppe auf Netzwerkendpunkt hinzufügen.
Geben Sie auf der Seite Netzwerkendpunkt hinzufügen die IP-Adresse des neuen Netzwerkendpunkts ein.
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.
Klicken Sie zum Hinzufügen weiterer Endpunkte auf Netzwerkendpunkt hinzufügen und wiederholen Sie die vorherigen Schritte.
Nachdem Sie alle Nicht-Google Cloud-Endpunkte hinzugefügt haben, klicken Sie auf Erstellen.
gcloud
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
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
Rufen Sie in der Google Cloud Console die Seite Load-Balancing auf.
- Klicken Sie auf Load-Balancer erstellen.
- Wählen Sie unter Typ des Load Balancers die Option Network Load Balancer (TCP/UDP/SSL) aus und klicken Sie auf Weiter.
- Wählen Sie unter Proxy oder Passthrough die Option Proxy-Load Balancer aus und klicken Sie auf Weiter.
- Wählen Sie für Öffentlich oder intern die Option Öffentlich (extern) aus und klicken Sie auf Weiter.
- Wählen Sie unter Globale oder Einzelregion-Bereitstellung die Option Am besten für regionale Arbeitslasten aus und klicken Sie auf Weiter.
- Klicken Sie auf Konfigurieren.
Grundlegende Konfiguration
- Geben Sie unter Name einen Namen für den Load Balancer ein.
- Wählen Sie bei Region die Option
REGION_A
aus. - Wählen Sie für Netzwerk die Option
NETWORK
aus.
Nur-Proxy-Subnetz reservieren
- Klicken Sie auf Subnetz reservieren.
- Geben Sie für Name
proxy-only-subnet
ein. - Geben Sie
10.129.0.0/23
als IP-Adressbereich ein. - Klicken Sie auf Hinzufügen.
Back-End konfigurieren
- Klicken Sie auf Backend-Konfiguration.
- Wählen Sie für den Backend-Typ die Option Hybridkonnektivitätsnetzwerk-Endpunktgruppe (zonal) aus.
- Wählen Sie für Protocol die Option TCP aus.
- 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. - Behalten Sie die verbleibenden Standardwerte bei und klicken Sie dann auf Fertig.
- 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.
- Übernehmen Sie die verbleibenden Standardwerte und klicken Sie dann auf Speichern.
- 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
- Klicken Sie auf Frontend-Konfiguration.
- Geben Sie unter Name einen Namen für die Weiterleitungsregel ein.
- Wählen Sie für IP-Adresse die Option
LB_IP_ADDRESS
aus. - Geben Sie als Portnummer eine beliebige Portnummer von 1–65535 ein. Die Weiterleitungsregel leitet nur Pakete mit einem übereinstimmenden Zielport weiter.
- 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.
- Klicken Sie auf Fertig.
- 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
- Klicken Sie auf Überprüfen und abschließen.
- Kontrollieren Sie die Einstellungen.
- Klicken Sie auf Erstellen.
gcloud
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
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
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.Erstellen Sie den Ziel-TCP-Proxy.:
gcloud compute target-tcp-proxies create TARGET_TCP_PROXY_NAME \ --backend-service=BACKEND_SERVICE_NAME \ --region=REGION_A
Erstellen Sie die Weiterleitungsregel. Führen Sie den Befehl
gcloud compute forwarding-rules create
aus. Ersetzen SieFWD_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.
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
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
- Informationen zur Funktionsweise von externen Proxy-Network-Load-Balancern finden Sie in der Übersicht über externen Proxy-Network-Load-Balancer.
- Informationen zum Einrichten von Logging und Monitoring für Ihren Load-Balancer finden Sie unter Logging und Monitoring des Proxy-Network-Load-Balancers.
- Informationen zum Löschen der von Ihnen erstellten Ressourcen, damit Ihnen diese nicht weiter in Rechnung gestellt werden, finden Sie unter Load-Balancer-Einrichtung bereinigen.