Auf dieser Seite wird gezeigt, wie Sie einen globalen 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:
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“, um Traffic von den Google-Systemdiagnoseprüfungen an Ihre Endpunkte zuzulassen. Die Quell-IP-Adressbereiche, die zugelassen werden sollen, sind
35.191.0.0/16
und130.211.0.0/22
. Weitere Informationen finden Sie unter Prüfungs-IP-Bereiche und Firewallregeln.
Routen bewerben
Konfigurieren Sie Cloud Router für die Bewerbung der folgenden benutzerdefinierten IP-Bereiche in Ihrer lokalen Umgebung oder einer anderen Cloud-Umgebung:
- Die von den Systemdiagnoseprüfungen von Google verwendeten Bereiche:
35.191.0.0/16
und130.211.0.0/22
.
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.
Subnetz für die Back-Ends erstellen
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.
Console
Führen Sie die folgenden Schritte aus, um IPv4- und IPv6-Traffic zu unterstützen:
Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf.
Rufen Sie das Netzwerk auf, das zum Konfigurieren der Hybridkonnektivität zwischen den Umgebungen verwendet wurde.
- Klicken Sie auf Bearbeiten.
- Wählen Sie unter Modus für Subnetzerstellung die Option Benutzerdefiniert aus.
- Klicken Sie auf Speichern.
Optional: Führen Sie die folgenden Schritte aus, um interne IPv6-Adressbereiche in Subnetzen in diesem Netzwerk zu konfigurieren:
- Wählen Sie für Interner VPC-Netzwerk-IPv6-ULA-Bereich den Wert Aktiviert aus.
Wählen Sie unter Internen IPv6-Bereich zuweisen die Option Automatisch oder Manuell aus.
Geben Sie einen
/48
-Bereich aus dem Bereichfd20::/20
ein, wenn Sie Manuell auswählen. Wenn der Bereich verwendet wird, werden Sie aufgefordert, einen anderen Bereich anzugeben.
Klicken Sie auf dem Tab Subnetze auf Subnetz hinzufügen.
Konfigurieren Sie im Bereich Subnetz hinzufügen die folgenden Felder:
- Geben Sie im Feld Name einen Namen für das Subnetz ein.
- Wählen Sie im Feld Region eine Region aus.
- Geben Sie im Feld IP-Adressbereich einen IP-Adressbereich ein.
- Wählen Sie für IP-Stack-Typ IPv4 und IPv6 (Dual-Stack) aus.
- Wählen Sie im Feld IPv6-Zugriffstyp die Option Extern aus.
- Klicken Sie auf Hinzufügen.
Führen Sie die folgenden Schritte aus, um IPv4 zu unterstützen:
Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf.
Rufen Sie das Netzwerk auf, das zum Konfigurieren der Hybridkonnektivität zwischen den Umgebungen verwendet wurde.
- Klicken Sie auf Bearbeiten.
- Wählen Sie unter Modus für Subnetzerstellung die Option Benutzerdefiniert aus.
- Klicken Sie auf Speichern.
Klicken Sie auf dem Tab Subnetze auf Subnetz hinzufügen.
Geben Sie im Bereich Subnetz hinzufügen die folgenden Informationen ein:
- Geben Sie im Feld Name einen Namen für das Subnetz ein.
- Wählen Sie im Feld Region eine Region aus.
- Geben Sie im Feld IP-Adressbereich einen IP-Adressbereich ein.
- Wählen Sie im Feld IP-Stack-Typ die Option IPv4 (Single-Stack) aus.
- Klicken Sie auf Hinzufügen.
gcloud
Erstellen Sie ein Subnetz in dem Netzwerk NETWORK, in dem die Hybridkonnektivität zwischen den Umgebungen konfiguriert wurde.
Verwenden Sie für IPv4- und IPv6-Traffic den folgenden Befehl:
gcloud compute networks update NETWORK \ [ --enable-ula-internal-ipv6 [ --internal-ipv6-range=ULA_IPV6_RANGE ]] \ --switch-to-custom-subnet-mode
gcloud compute networks subnets create LB_SUBNET_NAME \ --network=NETWORK \ --range=LB_SUBNET_RANGE \ --region=REGION \ --stack-type=IPV4_IPV6 \ --ipv6-access-type=EXTERNAL
Verwenden Sie für IPv4 den folgenden Befehl:
gcloud compute networks subnets create LB_SUBNET_NAME \ --network=NETWORK \ --range=LB_SUBNET_RANGE \ --region=REGION
Ersetzen Sie Folgendes:
NETWORK
: der Name des VPC-NetzwerksLB_SUBNET_NAME
: Ein Name für das Subnetz.REGION
: der Name der Region.ULA_IPV6_RANGE
: ein/48
-Präfix aus dem Bereichfd20::/20
, das von Google für interne IPv6-Subnetzbereiche verwendet wird Wenn Sie das Flag--internal-ipv6-range
nicht verwenden, wählt Google das Präfix/48
für das Netzwerk aus.
Firewallregel erstellen
In diesem Beispiel erstellen Sie die folgende Firewallregel:
fw-allow-health-check
: Eine Regel für eingehenden Traffic, die für Google Cloud-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.
Console
Rufen Sie in der Google Cloud Console die Seite der Firewall-Richtlinien auf.
Klicken Sie auf Firewallregel erstellen:
- Geben Sie als Name
fw-allow-health-check
ein. - Wählen Sie im Bereich Netzwerk die Option
NETWORK
aus. - Wählen Sie unter Ziele die Option Angegebene Zieltags 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.
- Klicken Sie das Kästchen neben TCP an und geben Sie
80
als Portnummer ein.
- Geben Sie als Name
Klicken Sie auf Erstellen.
Klicken Sie noch einmal auf Firewallregel erstellen und geben Sie die folgenden Informationen ein, um IPv6-Subnetz-Traffic zuzulassen:
- Name:
fw-allow-lb-access-ipv6
- Netzwerk:
NETWORK
- Priorität:
1000
- Trafficrichtung: Eingehend
- Ziele: Specified target tags
- Geben Sie im Feld Ziel-Tags den String
allow-health-check-ipv6
ein. - Quellfilter: IPv6-Bereiche
- Quell-IPv6-Bereiche:
2600:2d00:1:b029::/64
,2600:2d00:1:1::/64
- Protokolle und Ports: Alle zulassen
- Name:
Klicken Sie auf Erstellen.
gcloud
Erstellen Sie die Regel
fw-allow-health-check-and-proxy
, damit der Load-Balancer und die Google Cloud-Systemdiagnosen mit Backend-Instanzen auf dem TCP-Port80
kommunizieren können.Ersetzen Sie NETWORK durch den Namen des VPC-Netzwerks, das zum Konfigurieren der Hybridkonnektivität verwendet wird.
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 die Regel
fw-allow-health-check-ipv6
, um Google Cloud IPv6-Systemdiagnosen zuzulassen.gcloud compute firewall-rules create fw-allow-health-check-ipv6 \ --network=NETWORK \ --action=allow \ --direction=ingress \ --target-tags=allow-health-check-ipv6 \ --source-ranges=2600:2d00:1:b029::/64,2600:2d00:1:1::/64 \ --rules=tcp,udp,icmp
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.
Zonale NEGs mit einem oder mehreren Endpunkten vom TypGCE_VM_IP_PORT
unterstützen Dual-Stack.
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 die Option REGION aus.
Wählen Sie als Zone GCP_NEG_ZONE aus.
Achten Sie darauf, dass im Abschnitt Bootlaufwerk Debian GNU/Linux 12 (bookworm) als Bootlaufwerk-Optionen ausgewählt ist. 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-health-check
. - Klicken Sie unter Netzwerkschnittstellen auf Bearbeiten
- Netzwerk: NETWORK
- Subnetz: LB_SUBNET_NAME
- IP-Stack-Typ: IPv4 und IPv6 (Dual-Stack)
, 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-ZoneFühren Sie die folgenden Befehle aus, um IPv4- und IPv6-Traffic zu unterstützen:
gcloud compute instances create VM_NAME \ --zone=GCP_NEG_ZONE \ --image-family=debian-10 \ --image-project=debian-cloud \ --tags=allow-health-check,allow-health-check-ipv6 \ --ipv6-network-tier=PREMIUM \ --stack-type=IPv4_IPv6 \ --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 im Feld IPv4-Adresse die IPv4-Adresse des neuen Netzwerkendpunkts ein.
- Geben Sie im Feld IPv6-Adresse die IPv6-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 einen
--default-port
angeben oder eine Portnummer für jeden Endpunkt festlegen, wie im nächsten Schritt gezeigt.Fügen Sie GCP_NEG_NAME Dual-Stack-Endpunkte hinzu.
gcloud compute network-endpoint-groups update GCP_NEG_NAME \ --zone=GCP_NEG_ZONE \ --add-endpoint='instance=vm-a1,ip=IPv4_ADDRESS, \ ipv6=IPv6_ADDRESS,port=80' \ --add-endpoint='instance=vm-a2,ip=IPv4_ADDRESS, \ ipv6=IPv6_ADDRESS,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-VLAN-Anhang für Hybridkonnektivität 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 Endpunkt zu
on-prem-neg
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
Console
gcloud
- Erstellen Sie eine globale statische externe IP-Adresse), an die externe Clients Traffic senden.
gcloud compute addresses create LB_IP_ADDRESS_NAME \ --network-tier=PREMIUM \ --global
- Erstellen Sie eine Systemdiagnose für die Back-Ends.
gcloud compute health-checks create http HTTP_HEALTH_CHECK_NAME \ --use-serving-port
- Erstellen Sie einen Backend-Dienst. Sie fügen diesem Backend-Dienst sowohl die zonale NEG als auch die NEG mit Hybrid-Konnektivität als Backends hinzu.
- Fügen Sie dem Backend-Dienst die zonale NEG als Backend hinzu.
Weitere Informationen zum Konfigurieren des Balancing-Modus finden Sie in der Dokumentation zur gcloud CLI für den Parametergcloud beta compute backend-services add-backend BACKEND_SERVICE \ --global \ --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
--max-rate-per-endpoint
. - Fügen Sie dem Backend-Dienst die serverlose NEG als Backend hinzu.
gcloud compute backend-services add-backend BACKEND_SERVICE \ --global \ --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
- Erstellen Sie eine URL-Zuordnung, um eingehende Anfragen an den Backend-Dienst weiterzuleiten.
gcloud beta compute url-maps create URL_MAP_NAME \ --default-service BACKEND_SERVICE
- Führen Sie diesen Schritt nur aus, wenn Sie einen HTTPS-Load-Balancer erstellen möchten. Dies ist für HTTP-Load-Balancer nicht erforderlich.
Zum Erstellen eines HTTPS-Load-Balancers benötigen Sie eine SSL-Zertifikatsressource, die im HTTPS-Proxy verwendet wird. Sie können eine SSL-Zertifikatsressource entweder mit einem von Google verwalteten SSL-Zertifikat oder mit einem selbst verwalteten SSL-Zertifikat erstellen. Es empfiehlt sich, von Google verwaltete Zertifikate zu verwenden, da Google Cloud diese Zertifikate automatisch abruft, verwaltet und verlängert.
Zum Erstellen eines von Google verwalteten Zertifikats benötigen Sie eine Domain. Wenn Sie keine Domain haben, können Sie ein selbst signiertes SSL-Zertifikat zu Testzwecken verwenden.
So erstellen Sie eine von Google verwaltete SSL-Zertifikatsressource: So erstellen Sie eine selbstverwaltete SSL-Zertifikatressource:gcloud compute ssl-certificates create SSL_CERTIFICATE_NAME \ --domains DOMAIN
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: Erstellen Sie einen HTTPS-Zielproxy für einen HTTPS-Load-Balancer. Der Proxy ist der Teil des Load-Balancers, der das SSL-Zertifikat für den HTTPS-Load-Balancer besitzt. Daher laden Sie in diesem Schritt auch Ihr Zertifikat.gcloud beta compute target-http-proxies create TARGET_HTTP_PROXY_NAME \ --http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \ --url-map=URL_MAP_NAME
gcloud beta compute target-https-proxies create TARGET_HTTPS_PROXY_NAME \ --http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \ --ssl-certificates=SSL_CERTIFICATE_NAME \ --url-map=URL_MAP_NAME
Ersetzen Sie Folgendes:
TARGET_HTTP_PROXY_NAME
ist der Name des HTTP-Ziel-Proxys.TARGET_HTTPS_PROXY_NAME
ist der Name des HTTPS-Ziel-Proxys.HTTP_KEEP_ALIVE_TIMEOUT_SEC
ist ein optionales Feld zur Angabe des Client-HTTP-Keepalive-Zeitlimits. Das Zeitlimit muss zwischen 5 und 1200 Sekunden liegen. Der Standardwert beträgt 610 Sekunden.SSL_CERTIFICATE_NAME
ist der Name des SSL-Zertifikats.URL_MAP_NAME
ist der Name der URL-Zuordnung.
- Erstellen Sie eine Weiterleitungsregel, um eingehende Anfragen an den Proxy weiterzuleiten.
Für einen HTTP-Load-Balancer: Für einen HTTPS-Load-Balancer:gcloud beta compute forwarding-rules create HTTP_FORWARDING_RULE_NAME \ --load-balancing-scheme=EXTERNAL_MANAGED \ --network-tier=PREMIUM \ --address=LB_IP_ADDRESS_NAME \ --target-http-proxy=TARGET_HTTP_PROXY_NAME \ --global \ --ports=80
gcloud beta compute forwarding-rules create HTTPS_FORWARDING_RULE_NAME \ --load-balancing-scheme=EXTERNAL_MANAGED \ --network-tier=PREMIUM \ --address=LB_IP_ADDRESS_NAME \ --target-https-proxy=TARGET_HTTPS_PROXY_NAME \ --global \ --ports=443
gcloud beta compute backend-services create BACKEND_SERVICE \ --health-checks=HTTP_HEALTH_CHECK_NAME \ --load-balancing-scheme=EXTERNAL_MANAGED \ --ip-address-selection-policy=PREFER_IPV6 \ --global
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".
Zur Seite „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.
Zusätzliche Konfiguration
In diesem Abschnitt wird die Konfiguration des Beispiels um alternative und zusätzliche Optionen erweitert. Alle Aufgaben sind optional. Sie können sie in beliebiger Reihenfolge ausführen.
HTTP-Keepalive-Zeitlimit des Clients aktualisieren
Der in den vorherigen Schritten erstellte Load Balancer wurde mit einem Standardwert für das Client-HTTP-Keepalive-Zeitlimit konfiguriert. Folgen Sie der nachstehenden Anleitung, um das HTTP-Keepalive-Zeitlimit des Clients zu aktualisieren.
Console
Rufen Sie in der Google Cloud Console die Seite Load-Balancing auf.
- Klicken Sie auf den Namen des Load-Balancers, den Sie ändern möchten.
- Klicken Sie auf Bearbeiten.
- Klicken Sie auf Frontend-Konfiguration.
- Maximieren Sie Erweiterte Funktionen. Geben Sie für HTTP-Keepalive-Zeitlimit ein Zeitlimit zwischen 5 und 1.200 Sekunden ein.
- Klicken Sie auf Aktualisieren.
- Klicken Sie zum Prüfen Ihrer Änderungen auf Prüfen und abschließen und dann auf Aktualisieren.
gcloud
Aktualisieren Sie bei einem HTTP-Load-Balancer den Ziel-HTTP-Proxy mit dem Befehl gcloud compute target-http-proxies update
:
gcloud compute target-http-proxies update TARGET_HTTP_PROXY_NAME \ --http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \ --global
Aktualisieren Sie bei einem HTTPS-Load-Balancer den Ziel-HTTPS-Proxy mit dem Befehl gcloud compute target-https-proxies update
:
gcloud compute target-https-proxies update TARGET_HTTPS_PROXY_NAME \ --http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \ --global
Ersetzen Sie Folgendes:
TARGET_HTTP_PROXY_NAME
ist der Name des HTTP-Ziel-Proxys.TARGET_HTTPS_PROXY_NAME
ist der Name des HTTPS-Ziel-Proxys.HTTP_KEEP_ALIVE_TIMEOUT_SEC
ist das HTTP-Keepalive-Zeitlimit von 5 bis 1.200 Sekunden.