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:
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.
- 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:
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.
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.
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
- Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf.
Zur Seite „VPC-Netzwerke“ - Wechseln Sie zu dem Netzwerk, in dem die Hybridkonnektivität zwischen den Umgebungen konfiguriert wurde.
- Klicken Sie auf Subnetz hinzufügen.
- Geben Sie einen Namen ein: PROXY_ONLY_SUBNET_NAME.
- Wählen Sie eine Region aus: REGION.
- Setzen Sie Zweck auf Regional verwalteter Proxy.
- Geben Sie einen IP-Adressbereich ein: PROXY_ONLY_SUBNET_RANGE
- 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
- Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf.
Zur Seite „VPC-Netzwerke“ - Rufen Sie das Netzwerk auf, das zum Konfigurieren der Hybridkonnektivität zwischen den Umgebungen verwendet wurde.
- 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.
- 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
Rufen Sie in der Google Cloud Console die Seite Statische Adresse reservieren auf.
Geben Sie einen Namen ein: LB_IP_ADDRESS.
Wählen Sie unter Netzwerkdienststufe die Option Standard aus.
Setzen Sie die IP-Version auf IPv4.
Wählen Sie unter Typ die Option Regional aus.
Wählen Sie die REGION aus, in der die Adresse erstellt werden soll.
Ü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.
Klicken Sie auf Reservieren, um die IP-Adresse zu reservieren.
gcloud
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
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
und35.191.0.0/16
) zulässt. In diesem Beispiel wird das Ziel-Tagallow-health-check
verwendet, 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-Tagallow-proxy-only-subnet
verwendet, um die Backend-VMs zu identifizieren, auf die sie angewendet werden soll.
Console
- Rufen Sie in der Google Cloud Console die Seite Firewall auf.
Zu den Firewall-Richtlinien - Klicken Sie auf Firewallregel erstellen, um die Regel zu erstellen, die Traffic von Systemdiagnoseprüfungen zulässt:
- Geben Sie als Namen
fw-allow-health-check
ein. - Wählen Sie unter Netzwerk die Option NETWORK aus.
- Wählen Sie unter Ziele Angegebene Ziel-Tags aus.
- Tragen Sie im Feld Ziel-Tags
allow-health-check
ein. - Legen Sie unter Quellfilter die Option IPv4-Bereiche fest.
- Legen Sie unter Quell-IPv4-Bereiche die Werte
130.211.0.0/22
und35.191.0.0/16
fest. - Wählen Sie unter Protokolle und Ports die Option Angegebene Protokolle und Ports aus.
- Wählen Sie TCP aus und geben Sie
80
als Portnummer ein. - Klicken Sie auf Erstellen.
- Geben Sie als Namen
- Klicken Sie noch einmal auf Firewallregel erstellen, um die Regel zu erstellen, die eingehende Verbindungen vom Nur-Proxy-Subnetz zulässt:
- Name:
fw-allow-ssh
- Netzwerk: NETWORK
- Priorität:
1000
- Trafficrichtung: Eingehend
- Aktion bei Übereinstimmung: Zulassen
- Ziele: Angegebene Ziel-Tags
- Zieltags:
allow-proxy-only-subnet
- Quellfilter: IPv4-Bereiche.
- IPv4-Quellbereiche: PROXY_ONLY_SUBNET_RANGE
- Protokolle und Ports: Wählen Sie Angegebene Protokolle und Ports aus.
- Wählen Sie TCP aus und geben Sie
80
als Portnummer ein. - Klicken Sie auf Erstellen.
- Name:
gcloud
Erstellen Sie die Regel
fw-allow-health-check-and-proxy
, damit die Google Cloud-Systemdiagnosen die Backend-Instanzen auf dem TCP-Port80
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
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
- Rufen Sie in der Google Cloud Console die Seite „VM-Instanzen” auf.
Zu „VM-Instanzen“ - Klicken Sie auf Instanz erstellen.
- Legen Sie als Name
vm-a1
fest. - Wählen Sie als Region REGION und dann eine beliebige Zone aus. In diesem Verfahren wird sie als GCP_NEG_ZONE bezeichnet.
- 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.
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
undallow-proxy-only-subnet
. - Klicken Sie unter Netzwerkschnittstellen auf Bearbeiten
- Netzwerk: NETWORK
- Subnetz: LB_SUBNET_NAME
, nehmen Sie die folgenden Änderungen vor und klicken Sie dann auf Fertig: 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
- Klicken Sie auf Netzwerke und fügen Sie die folgenden Netzwerk-Tags hinzu:
Klicken Sie auf Erstellen.
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
- Name:
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-Zonegcloud 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:
- Gehen Sie in der Google Cloud Console zur Seite "Netzwerk-Endpunktgruppen".
Zur Seite "Netzwerk-Endpunktgruppen" - Klicken Sie auf NETZWERK-ENDPUNKTGRUPPE ERSTELLEN.
- Geben Sie einen Namen für die zonale NEG ein. In diesem Verfahren als GCP_NEG_NAME bezeichnet.
- Wählen Sie den Typ der Netzwerk-Endpunktgruppe aus: Netzwerk-Endpunktgruppe (zonal).
- Wählen Sie das Netzwerk aus: NETWORK
- Wählen Sie das Subnetz aus: LB_SUBNET_NAME
- Wählen Sie die Zone aus: GCP_NEG_ZONE
- Geben Sie den Standardport ein:
80
. - Klicken Sie auf Erstellen.
Fügen Sie der zonalen NEG Endpunkte hinzu:
- Gehen Sie in der Google Cloud Console zur Seite "Netzwerk-Endpunktgruppen".
Zur Netzwerk-Endpunktgruppe - Klicken Sie auf den Namen der Netzwerk-Endpunktgruppe, die im vorherigen Schritt erstellt wurde (GCP_NEG_NAME). Die Seite Netzwerk-Endpunktgruppendetails wird angezeigt.
- Klicken Sie im Bereich Netzwerkendpunkte in dieser Gruppe auf Netzwerkendpunkt hinzufügen. Die Seite Netzwerk-Endpunkt hinzufügen wird angezeigt.
- 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.
- Geben Sie 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
80
für alle Endpunkte in der Netzwerk-Endpunktgruppe verwendet. Dies ist für unser Beispiel ausreichend, da der Apache-Server Anfragen an Port80
verarbeitet. - Wenn Sie Benutzerdefiniert auswählen, geben Sie die Portnummer für den zu verwendenden Endpunkt ein.
- Wenn Sie Standard auswählen, wird für den Endpunkt der Standardport
- Klicken Sie zum Hinzufügen weiterer Endpunkte auf Netzwerkendpunkt hinzufügen und wiederholen Sie die vorherigen Schritte.
- Nachdem Sie alle Endpunkte hinzugefügt haben, klicken Sie auf Erstellen.
gcloud
Erstellen Sie mit dem Befehl
gcloud compute network-endpoint-groups create
eine zonale NEG (mitGCE_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.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:
- Gehen Sie in der Google Cloud Console zur Seite "Netzwerk-Endpunktgruppen".
Zu den Netzwerk-Endpunktgruppen - Klicken Sie auf NETZWERK-ENDPUNKTGRUPPE ERSTELLEN.
- Geben Sie einen Namen für die Hybrid-NEG ein. In diesem Verfahren als ON_PREM_NEG_NAME bezeichnet.
- Wählen Sie den Typ der Netzwerk-Endpunktgruppe aus: Hybridkonnektivitätsnetzwerk-Endpunktgruppe (zonal).
- Wählen Sie das Netzwerk aus: NETWORK
- Wählen Sie das Subnetz aus: LB_SUBNET_NAME
- Wählen Sie die Zone aus: ON_PREM_NEG_ZONE
- Geben Sie den Standardport ein.
- Klicken Sie auf Erstellen.
Fügen Sie der Hybridkonnektivitäts-NEG Endpunkte hinzu:
- Gehen Sie in der Google Cloud Console zur Seite "Netzwerk-Endpunktgruppen".
Zur Seite "Netzwerk-Endpunktgruppen" - Klicken Sie auf den Namen der Netzwerk-Endpunktgruppe, die im vorherigen Schritt erstellt wurde (ON_PREM_NEG_NAME). Die Seite Netzwerk-Endpunktgruppendetails wird angezeigt.
- Klicken Sie im Bereich Netzwerkendpunkte in dieser Gruppe auf Netzwerkendpunkt hinzufügen. Die Seite Netzwerk-Endpunkt hinzufügen wird angezeigt.
- Geben Sie 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
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
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
- 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. - 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
- 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
. - 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
. - 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
- 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:
- Regionale von Google verwaltete Zertifikate mit projektspezifischer DNS-Autorisierung. Weitere Informationen finden Sie unter Regionales von Google verwaltetes Zertifikat bereitstellen.
- Regionale von Google verwaltete (private) Zertifikate mit Certificate Authority Service. Weitere Informationen finden Sie unter Regionales von Google verwaltetes Zertifikat mit CA Service bereitstellen.
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.
- Öffnen Sie in der Google Cloud Console die Seite "Load-Balancing".
Gehe zu „Load-Balancing“ - Klicken Sie auf den Load-Balancer, den Sie gerade erstellt haben.
- Notieren Sie sich seine IP-Adresse.
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 SieIP_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 SieIP_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
Das Testen der Nicht-Google Cloud-Endpunkte hängt vom Dienst ab, den Sie über den Hybrid-NEG-Endpunkt freigegeben haben.