Dieses Dokument zeigt eine Beispielkonfiguration zum Einrichten eines globalen externen Application Load Balancers mit VM-Instanzgruppen-Backends in einer freigegebenen VPC-Umgebung.
Im Beispiel werden die Frontend- und Backend-Komponenten des Load Balancers in einem Dienstprojekt erstellt.
Wenn Sie kein freigegebenes VPC-Netzwerk verwenden möchten, lesen Sie die Informationen unter Globalen externen Application Load Balancer mit VM-Instanzgruppen-Back-Ends einrichten.
Hinweise
- Freigegebene VPC – Übersicht
- Weitere Informationen finden Sie unter Übersicht über externen Application Load Balancer, einschließlich des Abschnitts „Architektur der freigegebenen VPC“.
Erforderliche Berechtigungen
Das Einrichten eines Load-Balancers in einem freigegebenen VPC-Netzwerk erfordert eine Ersteinrichtung und -bereitstellung durch einen Administrator. Nach der Ersteinrichtung kann ein Dienstprojektinhaber einen der folgenden Schritte ausführen:
- Stellen Sie alle Komponenten des Load-Balancers und seine Back-Ends in einem Dienstprojekt bereit.
- Stellen Sie die Backend-Komponenten des Load-Balancers (Backend-Dienst und Backends) in Dienstprojekten bereit, auf die in einer URL-Zuordnung in einem anderen Dienst oder Hostprojekt verwiesen werden kann.
In diesem Abschnitt werden die Berechtigungen zusammengefasst, die zum Einrichten eines Load-Balancers in einem freigegebenen VPC-Netzwerk nach dieser Anleitung erforderlich sind.
Freigegebene VPC einrichten
Die folgenden Rollen sind für die folgenden Aufgaben erforderlich:
- Einmalige administrative Aufgaben wie das Einrichten der freigegebenen VPC und das Aktivieren eines Hostprojekts ausführen
- Führen Sie administrative Aufgaben aus, die jedes Mal wiederholt werden müssen, wenn Sie ein neues Dienstprojekt aufnehmen möchten. Dies umfasst das Anhängen des Dienstprojekts, das Bereitstellen und Konfigurieren von Netzwerkressourcen und das Gewähren des Zugriffs für den Dienstprojektadministrator.
Diese Aufgaben müssen im Hostprojekt der freigegebenen VPC ausgeführt werden. Wir empfehlen, dass der Administrator der freigegebenen VPC auch der Inhaber des Hostprojekts der freigegebenen VPC ist. Dadurch werden automatisch die Rollen Netzwerkadministrator und Sicherheitsadministrator zugewiesen.
Aufgabe | Erforderliche Rolle |
---|---|
Richten Sie eine freigegebene VPC ein, aktivieren Sie das Hostprojekt und gewähren Sie Dienstprojektadministratoren Zugriff | Shared VPC-Administrator |
Erstellen Sie Subnetze im freigegebenen VPC-Hostprojekt und gewähren Sie Dienstprojektadministratoren Zugriff | Netzwerkadministrator |
Firewallregeln hinzufügen und löschen | Sicherheitsadministrator |
Nachdem die Subnetze bereitgestellt wurden, muss der Inhaber des Hostprojekts die Rolle des Netzwerknutzers im Hostprojekt allen Nutzern (in der Regel Dienstprojektadministratoren, -entwickler oder Dienstkonten) zuweisen, die Zugriff auf diese Ressourcen benötigen.
Aufgabe | Erforderliche Rolle |
---|---|
VPC-Netzwerke und Subnetze verwenden, die zum Hostprojekt gehören | Netzwerknutzer |
Diese Rolle kann auf Projektebene oder für einzelne Subnetze gewährt werden. Wir empfehlen, die Rolle für einzelne Subnetze zu gewähren. Durch das Gewähren der Rolle für das Projekt wird Zugriff auf alle aktuellen und zukünftigen Subnetze im VPC-Netzwerk des Hostprojekts gewährt.
Load-Balancer und Back-Ends bereitstellen
Dienstprojektadministratoren benötigen die folgenden Rollen im Dienstprojekt, um Load-Balancing-Ressourcen und Back-Ends zu erstellen. Diese Berechtigungen werden dem Inhaber oder Bearbeiter des Dienstprojekts automatisch erteilt.
Aufgabe | Erforderliche Rolle |
---|---|
Load-Balancer-Komponenten erstellen | Netzwerkadministrator |
Instanzen erstellen | Instanzadministrator |
SSL-Zertifikate erstellen und ändern | Sicherheitsadministrator |
Vorbereitung
Führen Sie in diesem Abschnitt die folgenden Schritte aus:
Die Schritte in diesem Abschnitt müssen nicht jedes Mal ausgeführt werden, wenn Sie einen neuen Load-Balancer erstellen möchten. Sie müssen jedoch sicherstellen, dass Sie Zugriff auf die hier beschriebenen Ressourcen haben, bevor Sie mit dem Erstellen des Load-Balancers fortfahren.
Netzwerk und Subnetze im Hostprojekt konfigurieren
Sie benötigen ein freigegebenes VPC-Netzwerk mit einem Subnetz für die Back-Ends des Load-Balancers.In diesem Beispiel werden das folgende Netzwerk, die Region und das Subnetze verwendet:
Netzwerk Das Netzwerk hat den Namen
lb-network
.Subnetz für Back-Ends des Load-Balancers. Ein Subnetz mit dem Namen
lb-backend-subnet
in der Regionus-west1
verwendet10.1.2.0/24
für seinen primären IP-Bereich.
Subnetz für Back-Ends des Load-Balancers konfigurieren
Dieser Schritt muss nicht jedes Mal ausgeführt werden, wenn Sie einen neuen Load-Balancer erstellen möchten. Sie müssen nur sicherstellen, dass das Dienstprojekt Zugriff auf ein Subnetz im freigegebenen VPC-Netzwerk hat.Alle Schritte in diesem Abschnitt müssen im Hostprojekt ausgeführt werden.
Console
- Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf.
- Klicken Sie auf VPC-Netzwerk erstellen.
- Geben Sie für Name
lb-network
ein. Im Bereich Subnetze:
- Legen Sie Modus für Subnetzerstellung auf Benutzerdefiniert fest.
Geben Sie im Bereich Neues Subnetz folgende Informationen ein:
- Name:
lb-backend-subnet
Region:
us-west1
IP-Adressbereich:
10.1.2.0/24
- Name:
Klicken Sie auf Fertig.
Klicken Sie auf Erstellen.
gcloud
Erstellen Sie mit dem Befehl
gcloud compute networks create
ein VPC-Netzwerk:gcloud compute networks create lb-network --subnet-mode=custom
Erstellen Sie ein Subnetz im Netzwerk
lb-network
in der Regionus-west1
:gcloud compute networks subnets create lb-frontend-and-backend-subnet \ --network=lb-network \ --range=10.1.2.0/24 \ --region=us-west1
Gewähren Sie Dienstprojektadministratoren Zugriff auf das Backend-Subnetz
Dienstprojektadministratoren benötigen Zugriff auf das Subnetzlb-backend-subnet
, damit sie die Back-Ends des Load-Balancers bereitstellen können.
Ein Administrator der freigegebenen VPC muss Dienstprojektadministratoren Zugriff auf das Backend-Subnetz gewähren (oder auch Entwicklern, die Ressourcen und Backends bereitstellen, die das Subnetz verwenden). Eine Anleitung finden Sie unter Dienstprojektadministratoren für bestimmte Subnetze.
Firewallregeln im Hostprojekt konfigurieren
In diesem Beispiel werden die folgenden Firewallregeln verwendet:fw-allow-health-check
: Eine Regel für eingehenden Traffic, die für die Instanzen mit Load-Balancing gilt und TCP-Traffic von den Google Cloud-Systemen für Systemdiagnosen zulässt (in130.211.0.0/22
und35.191.0.0/16
). In diesem Beispiel wird das Ziel-Tagload-balanced-backend
verwendet, um die Instanzen zu identifizieren, auf die es angewendet werden soll.
Alle Schritte in diesem Abschnitt müssen im Hostprojekt ausgeführt werden.
Console
Rufen Sie in der Google Cloud Console die Seite der Firewall-Richtlinien auf.
- Klicken Sie auf Firewallregel erstellen, um die Regel zu erstellen, die Google Cloud-Systemdiagnosen zulässt:
- Name:
fw-allow-health-check
- Netzwerk:
lb-network
- Trafficrichtung: Eingehend
- Aktion bei Übereinstimmung: Zulassen
- Ziele: Angegebene Zieltags
- Zieltags:
load-balanced-backend
- Quellfilter: IPv4-Bereiche.
- IPv4-Quellbereiche:
130.211.0.0/22
und35.191.0.0/16
- Protokolle und Ports:
- Wählen Sie Angegebene Protokolle und Ports aus.
- Prüfen Sie TCP und geben Sie
80
als Portnummer ein.
Sie sollten diese Regeln nur auf Protokolle und Ports beschränken, die mit den von Ihren Systemdiagnosen verwendeten übereinstimmen. Wenn Sie
tcp:80
für das Protokoll und den Port verwenden, kann Google Cloud mit HTTP auf Port80
Ihre VMs kontaktieren. Es kann jedoch nicht HTTPS auf Port443
verwenden, um den Kontakt herzustellen. - Klicken Sie auf Erstellen.
gcloud
Erstellen Sie die Firewallregel
fw-allow-health-check
, um Google Cloud-Systemdiagnosen zuzulassen. In diesem Beispiel wird der gesamte TCP-Traffic von Systemdiagnoseprüfern zugelassen. Sie können jedoch Ihren Anforderungen entsprechend eine kleinere Gruppe von Ports konfigurieren:gcloud compute firewall-rules create fw-allow-health-check \ --network=lb-network \ --action=allow \ --direction=ingress \ --source-ranges=130.211.0.0/22,35.191.0.0/16 \ --target-tags=load-balanced-backend \ --rules=tcp
Freigegebene VPC im Hostprojekt einrichten
Dieser Schritt umfasst das Aktivieren eines freigegebenen VPC-Hostprojekts, das Freigeben von Subnetzen des Hostprojekts und das Anhängen von Dienstprojekten an das Hostprojekt, damit die Dienstprojekte das freigegebene VPC-Netzwerk verwenden können. Informationen zum Einrichten einer freigegebenen VPC im Hostprojekt finden Sie auf den folgenden Seiten:
In den weiteren Anleitungen wird davon ausgegangen, dass Sie die freigegebene VPC bereits eingerichtet haben. Dazu müssen Sie IAM-Richtlinien für Ihre Organisation einrichten und die Host- und Dienstprojekte festlegen.
Fahren Sie erst fort, wenn Sie die freigegebene VPC eingerichtet und die Host- und Dienstprojekte aktiviert haben.
Load-Balancer in einem Dienstprojekt konfigurieren
Nachdem Sie das VPC-Netzwerk im Hostprojekt konfiguriert und die freigegebene VPC eingerichtet haben, können Sie sich auf das Dienstprojekt konzentrieren, in dem Sie alle Load-Balancing-Komponenten (Backend-Dienst, URL-Zuordnung, Ziel-Proxy und Weiterleitungsregel) und die Backends erstellen müssen.
In diesem Abschnitt wird davon ausgegangen, dass Sie die im vorherigen Abschnitt beschriebenen erforderlichen Schritte im Hostprojekt ausgeführt haben. In diesem Abschnitt werden die Frontend- und Backend-Komponenten des Load-Balancers zusammen mit den Backends in einem Dienstprojekt erstellt.
Die folgende Abbildung zeigt die Komponenten eines globalen externen Application Load Balancers in einem Dienstprojekt, das mit dem Hostprojekt in einem freigegebenen VPC-Netzwerk verknüpft ist.
Diese Schritte sollten vom Dienstprojektadministrator ausgeführt werden (oder von einem innerhalb des Dienstprojekts tätigen Entwickler). Sie erfordern keine Einbeziehung des Hostprojektadministrators. Die Schritte in diesem Abschnitt ähneln den Standardschritten zum Einrichten eines globalen externen Application Load Balancers.
Im Beispiel auf dieser Seite wird explizit eine reservierte IP-Adresse für die Weiterleitungsregel des global externen Application Load Balancers festgelegt, statt die Zuweisung einer sitzungsspezifischen IP-Adresse zuzulassen. Als Best Practice empfehlen wir, IP-Adressen für Weiterleitungsregeln zu reservieren.
Backend einer verwalteten Instanzgruppe erstellen
Die Voraussetzung für das Erstellen einer verwalteten Instanzgruppe ist die Erstellung einer Instanzvorlage. Dies ist eine Ressource, mit der Sie VM-Instanzen erstellen können. Der Traffic von Clients wird auf VMs in einer Instanzgruppe verteilt. Die verwaltete Instanzgruppe umfasst VMs, auf denen die Backend-Server eines externen Application Load Balancer ausgeführt werden. In diesem Beispiel stellen die Back-Ends ihre eigenen Hostnamen bereit.
Console
Instanzvorlage erstellen
Rufen Sie in der Google Cloud Console die Compute Engine-Seite Instanzvorlagen auf.
Klicken Sie auf Instanzvorlage erstellen.
Geben Sie für Name
backend-template
ein.Achten Sie im Abschnitt Bootlaufwerk darauf, dass das Bootlaufwerk auf ein Debian-Image wie Debian GNU/Linux 10 (Buster) festgelegt ist. Klicken Sie auf Ändern, um das Image bei Bedarf zu ändern.
Maximieren Sie den Bereich Erweiterte Optionen.
Maximieren Sie den Abschnitt Netzwerk und geben Sie im Feld Netzwerk-Tags den Wert
load-balanced-backend
ein.Wählen Sie unter Netzwerkschnittstellen die Option Für mich freigegebene Netzwerke (von Hostprojekt:
HOST_PROJECT_ID
) aus.Wählen Sie in der Liste Freigegebenes Subnetzwerk das Subnetz
lb-backend-subnet
aus dem Netzwerklb-network
aus.Maximieren Sie den Abschnitt Verwaltung und geben Sie im Feld Automatisierung das folgende Startskript an:
#! /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 Erstellen.
Erstellen Sie eine verwaltete Instanzgruppe.
Rufen Sie in der Google Cloud Console die Compute Engine-Seite Instanzgruppen auf.
Klicken Sie auf Instanzgruppe erstellen.
Wählen Sie aus den Optionen Neue verwaltete Instanzgruppe (zustandslos) aus.
Geben Sie als Namen der Instanzgruppe
lb-backend
ein.Wählen Sie in der Liste Instanzvorlage die Instanzvorlage
backend-template
aus, die Sie im vorherigen Schritt erstellt haben.Wählen Sie im Abschnitt Standort die Option Einzelne Zone aus und geben Sie die folgenden Werte ein:
Wählen Sie bei Region die Option
us-west1
aus.Wählen Sie bei Zone die Option
us-west1-a
aus.
Geben Sie im Abschnitt Autoscaling die folgenden Werte ein:
Wählen Sie für den Autoscaling-Modus die Option Ein: der Gruppe Instanzen hinzufügen und aus ihr entfernen aus.
Wählen Sie für Mindestanzahl von Instanzen die Option
2
aus.Wählen Sie unter Maximale Anzahl von Instanzen die Option
3
aus.
Klicken Sie im Abschnitt Portzuordnung auf Port hinzufügen und geben Sie die folgenden Werte ein:
Geben Sie als Portname
http
ein.Geben Sie für Portnummer
80
ein.
Klicken Sie auf Erstellen.
gcloud
Instanzvorlage erstellen:
gcloud compute instance-templates create backend-template \ --region=us-west1 \ --network=projects/HOST_PROJECT_ID/global/networks/lb-network \ --subnet=projects/HOST_PROJECT_ID/regions/us-west1/subnetworks/lb-backend-subnet \ --tags=load-balanced-backend \ --image-family=debian-10 \ --image-project=debian-cloud \ --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' \ --project=SERVICE_PROJECT_ID
Erstellen Sie eine verwaltete Instanzgruppe und wählen Sie die Instanzvorlage aus, die Sie im vorherigen Schritt erstellt haben:
gcloud compute instance-groups managed create lb-backend \ --zone=us-west1-a \ --size=2 \ --template=backend-template \ --project=SERVICE_PROJECT_ID
Benannten Port zur Instanzgruppe hinzufügen:
gcloud compute instance-groups set-named-ports lb-backend \ --named-ports=http:80 \ --zone=us-west1-a \ --project=SERVICE_PROJECT_ID
Systemdiagnose erstellen
Systemdiagnosen sind Tests, die die Verfügbarkeit von Back-Ends bestätigen. Erstellen Sie eine Systemdiagnose, die das HTTP-Protokoll und Prüfungen auf Port 80
verwendet. Später hängen Sie diese Systemdiagnose an den Backend-Dienst an, auf den der Load-Balancer verweist.
Console
Rufen Sie in der Google Cloud Console die Compute Engine-Seite Systemdiagnosen auf:
Geben Sie als Namen der Systemdiagnose
lb-health-check
ein.Legen Sie das Protokoll HTTP fest.
Klicken Sie auf Erstellen.
gcloud
Erstellen Sie eine HTTP-Systemdiagnose.
gcloud compute health-checks create http lb-health-check \ --use-serving-port \ --project=SERVICE_PROJECT_ID
IP-Adresse des Load-Balancers reservieren
Reservieren Sie eine globale statische externe IP-Adresse, die der Weiterleitungsregel des Load-Balancers zugewiesen werden kann.
Console
Rufen Sie in der Google Cloud Console die VPC-Seite IP-Adressen auf.
Klicken Sie auf Externe statische IP-Adresse reservieren.
Geben Sie für Name
lb-ipv4-1
ein.Setzen Sie die Netzwerkdienststufe auf Premium.
Setzen Sie die IP-Version auf IPv4.
Setzen Sie Typ auf Global.
Klicken Sie auf Reservieren.
gcloud
Erstellen Sie eine globale statische externe IP-Adresse.
gcloud compute addresses create lb-ipv4-1 \ --ip-version=IPV4 \ --network-tier=PREMIUM \ --global --project=SERVICE_PROJECT_ID
SSL-Zertifikatsressource einrichten
Erstellen Sie für einen Load-Balancer, der HTTPS als Anfrage- und Antwortprotokoll verwendet, eine SSL-Zertifikatsressource, wie in den folgenden Ressourcen beschrieben:
Wir empfehlen die Verwendung eines von Google verwalteten Zertifikats.
In diesem Beispiel wird davon ausgegangen, dass Sie ein SSL-Zertifikat mit dem Namen lb-ssl-cert
erstellt haben. Das SSL-Zertifikat ist mit dem Zielproxy verknüpft, den Sie in einem der folgenden Schritte erstellen.
Load-Balancer konfigurieren
In diesem Abschnitt erfahren Sie, wie Sie die folgenden Ressourcen für einen globalen externen Application Load Balancer erstellen:
- Backend-Dienst mit einer verwalteten Instanzgruppe als Backend
- URL-Zuordnung
- SSL-Zertifikat (nur für HTTPS-Traffic erforderlich)
- Zielproxy
- Weiterleitungsregel
In diesem Beispiel können Sie HTTP oder HTTPS als Anfrage- und Antwortprotokoll zwischen dem Client und dem Load-Balancer verwenden. Für HTTPS benötigen Sie eine SSL-Zertifikatsressource, um den Proxy zu konfigurieren. Wir empfehlen die Verwendung eines von Google verwalteten Zertifikats.
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 Application Load Balancer (HTTP/HTTPS) 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 globale Arbeitslasten aus und klicken Sie auf Weiter.
- Wählen Sie unter Generation des Load Balancers die Option Globaler externer Application Load Balancer aus und klicken Sie auf Weiter.
- Klicken Sie auf Konfigurieren.
Grundlegende Konfiguration
- Geben Sie
l7-xlb-shared-vpc
als Name des Load-Balancers ein.
Load-Balancer-Frontend konfigurieren
Bei HTTP-Traffic:
Klicken Sie auf Frontend-Konfiguration.
Geben Sie für das Frontend das Load-Balancers den Namen
http-fw-rule
ein.Wählen Sie für Protokoll die Option HTTP aus.
Setzen Sie die IP-Version auf IPv4.
Wählen Sie unter IP-Adresse die IP-Adresse
lb-ipv4-1
aus, die Sie zuvor reserviert haben.Legen Sie den Port auf
80
fest, um HTTP-Traffic zuzulassen.Klicken Sie zum Abschließen der Frontend-Konfiguration auf Fertig.
Überprüfen Sie, bevor Sie fortfahren, ob sich neben der Frontend-Konfiguration ein blaues Häkchen befindet.
Bei HTTPS-Traffic:
Klicken Sie auf Frontend-Konfiguration.
Geben Sie für das Frontend das Load-Balancers den Namen
https-fw-rule
ein.Wählen Sie für Protokoll die Option HTTPS aus.
Setzen Sie die IP-Version auf IPv4.
Wählen Sie unter IP-Adresse die IP-Adresse
lb-ipv4-1
aus, die Sie zuvor reserviert haben.Legen Sie den Port auf
443
fest, um HTTP-Traffic zuzulassen.Wählen Sie in der Liste Zertifikat das von Ihnen erstellte SSL-Zertifikat aus.
Klicken Sie zum Abschließen der Frontend-Konfiguration auf Fertig.
Überprüfen Sie, bevor Sie fortfahren, ob sich neben der Frontend-Konfiguration ein blaues Häkchen befindet.
Back-End konfigurieren
Klicken Sie auf Backend-Konfiguration.
Klicken Sie im Menü Backend-Dienste und Backend-Buckets auf Backend-Dienst erstellen.
Geben Sie als Name des Backend-Dienstes
lb-backend-service
ein.Wählen Sie für den Backend-Typ die Option Instanzgruppe aus.
Legen Sie als Protokoll HTTP fest.
Geben Sie im Feld Benannter Port
http
ein. Dies ist der Portname, den Sie beim Erstellen der verwalteten Instanzgruppe eingegeben haben.So fügen Sie Backends zum Backend-Dienst hinzu:
Legen Sie im Bereich Back-Ends die Instanzgruppe auf
lb-backend
fest. Dies ist die verwaltete Instanzgruppe, die Sie in einem vorherigen Schritt erstellt haben.Geben Sie unter Portnummern
80
ein.Klicken Sie auf Fertig, um das Backend hinzuzufügen.
Wählen Sie zum Hinzufügen einer Systemdiagnose in der Liste Systemdiagnose die zuvor erstellte Systemdiagnose
lb-health-check
aus.Klicken Sie auf Erstellen, um den Backend-Dienst zu erstellen.
Überprüfen Sie, bevor Sie fortfahren, ob sich neben Backend-Konfiguration ein blaues Häkchen befindet.
Routingregeln konfigurieren
- Klicken Sie auf Routingregeln. Achten Sie darauf, dass
lb-backend-service
der Standard-Backend-Dienst für alle nicht übereinstimmenden Hosts und alle nicht übereinstimmenden Pfade ist.
Weitere Informationen zur Trafficverwaltung finden Sie unter Trafficverwaltung einrichten.
Konfiguration prüfen und fertigstellen
Klicken Sie auf Prüfen und abschließen.
Prüfen Sie das Frontend und das Backend des Load-Balancers, um sicherzustellen, dass er wie gewünscht konfiguriert ist.
Klicken Sie auf Erstellen und warten Sie, bis der Load-Balancer erstellt ist.
gcloud
Erstellen Sie einen Backend-Dienst, um den Traffic auf Backends zu verteilen:
gcloud compute backend-services create lb-backend-service \ --load-balancing-scheme=EXTERNAL_MANAGED \ --protocol=HTTP \ --port-name=http \ --health-checks=lb-health-check \ --global \ --project=SERVICE_PROJECT_ID
Fügen Sie Ihre Instanzgruppe als Backend zum Backend-Dienst hinzu:
gcloud compute backend-services add-backend lb-backend-service \ --instance-group=lb-backend \ --instance-group-zone=us-west1-a \ --global \ --project=SERVICE_PROJECT_ID
Erstellen Sie eine URL-Zuordnung, um eingehende Anfragen an den Backend-Dienst weiterzuleiten:
gcloud compute url-maps create lb-map \ --default-service=lb-backend-service \ --global \ --project=SERVICE_PROJECT_ID
Erstellen Sie einen Zielproxy.
Erstellen Sie für HTTP-Traffic einen Ziel-HTTP-Proxy, um Anfragen an die URL-Zuordnung weiterzuleiten:
gcloud compute target-http-proxies create http-proxy \ --url-map=lb-map \ --global \ --project=SERVICE_PROJECT_ID
Erstellen Sie für HTTPS-Traffic einen Ziel-HTTPS-Proxy, um Anfragen an die URL-Zuordnung weiterzuleiten. 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 SSL-Zertifikat.
gcloud compute target-https-proxies create https-proxy \ --url-map=lb-map \ --ssl-certificates=lb-ssl-cert --global \ --project=SERVICE_PROJECT_ID
Erstellen Sie eine Weiterleitungsregel.
Erstellen Sie für HTTP-Traffic eine globale Weiterleitungsregel, um eingehende Anfragen an den Zielproxy weiterzuleiten:
gcloud compute forwarding-rules create http-fw-rule \ --load-balancing-scheme=EXTERNAL_MANAGED \ --address=lb-ipv4-1 \ --global \ --target-http-proxy=http-proxy \ --ports=80 \ --project=SERVICE_PROJECT_ID
Erstellen Sie für HTTPS-Traffic eine globale Weiterleitungsregel, um eingehende Anfragen an den Zielproxy weiterzuleiten:
gcloud compute forwarding-rules create https-fw-rule \ --load-balancing-scheme=EXTERNAL_MANAGED \ --address=lb-ipv4-1 \ --global \ --target-https-proxy=https-proxy \ --ports=443 \ --project=SERVICE_PROJECT_ID
Load-Balancer testen
Sobald der Load-Balancing-Dienst ausgeführt wird, können Sie Traffic an die Weiterleitungsregel senden. Dieser wird dann an verschiedene Instanzen verteilt.
Console
Rufen Sie in der Google Cloud Console die Seite Load-Balancing auf.
Klicken Sie auf den Load-Balancer, den Sie gerade erstellt haben.
Notieren Sie die IP-Adresse des Load-Balancers. Diese IP-Adresse wird in den folgenden Schritten als
LB_IP_ADDRESS
bezeichnet.Prüfen Sie im Bereich Backend, ob die VMs fehlerfrei sind.
Die Spalte Fehlerfrei sollte ausgefüllt sein. Sie gibt an, dass die VMs fehlerfrei sind. Zum Beispiel: Wenn zwei Instanzen erstellt wurden, sollten Sie die Meldung
2 of 2
mit einem grünen Häkchen daneben sehen. Wenn Sie etwas anderes sehen, versuchen Sie zuerst, die Seite neu zu laden. Es kann einige Minuten dauern, bis in der Google Cloud Console angezeigt wird, dass die VMs fehlerfrei sind. Wenn die Backends nach einigen Minuten nicht als fehlerfrei angezeigt werden, prüfen Sie die Firewallkonfiguration und das Netzwerk-Tag, die Ihren Backend-VMs zugewiesen sind.Sobald die Google Cloud Console anzeigt, dass die Backend-Instanzen in Ordnung sind, können Sie Ihren Load-Balancer testen. Verweisen Sie dazu in Ihrem Webbrowser auf
https://LB_IP_ADDRESS
(oderhttp://LB_IP_ADDRESS
). Ersetzen SieLB_IP_ADDRESS
durch die IP-Adresse des Load-Balancers.Wenn Sie ein selbst signiertes Zertifikat genutzt haben, um HTTPS zu testen, zeigt Ihr Browser eine Warnung an. Sie müssen Ihren Browser ausdrücklich anweisen, ein selbst signiertes Zertifikat zu akzeptieren.
Im Browser sollte eine Seite mit einem Inhalt dargestellt werden, der den Namen der Instanz, die die Seite bereitstellt, und deren Zone enthält (z. B.
Page served from: lb-backend-example-xxxx
). Wenn der Browser diese Seite nicht anzeigt, prüfen Sie die Konfigurationseinstellungen aus dieser Anleitung.
gcloud
Notieren Sie sich die reservierte IP-Adresse:
gcloud compute addresses describe IP_ADDRESS_NAME \ --format="get(address)" \ --global
Sie können Ihren Load-Balancer testen, indem Sie Ihren Webbrowser auf https://LB_IP_ADDRESS
(oder http://LB_IP_ADDRESS
) verweisen. Ersetzen Sie LB_IP_ADDRESS
durch die IP-Adresse des Load-Balancers.
Wenn Sie ein selbst signiertes Zertifikat genutzt haben, um HTTPS zu testen, zeigt Ihr Browser eine Warnung an. Sie müssen Ihren Browser ausdrücklich anweisen, ein selbst signiertes Zertifikat zu akzeptieren.
Im Browser sollte eine Seite mit minimalen Informationen zur Backend-Instanz angezeigt werden. Wenn diese Seite im Browser nicht angezeigt wird, prüfen Sie die Konfigurationseinstellungen in dieser Anleitung.
Nächste Schritte
- Probleme mit einem globalen externen Application Load Balancer beheben
- Einrichtung des Load-Balancing bereinigen