In dieser Anleitung wird beschrieben, wie Sie Load-Balancing mit einer regionalen verwalteten Instanzgruppe einsetzen, um Traffic von ausgelasteten oder nicht verfügbaren VM-Instanzen umzuleiten und damit auch bei einem Zonenausfall Hochverfügbarkeit bereitzustellen.
Eine regionale verwaltete Instanzgruppe verteilt eine Anwendung auf mehrere Instanzen über mehrere Zonen hinweg. Ein globaler Load-Balancer leitet Traffic über mehrere Regionen hinweg über eine einzige IP-Adresse weiter. Wenn Sie diese beiden Dienste zum Verteilen der Anwendung auf mehrere Zonen verwenden, können Sie dafür sorgen, dass die Anwendung auch in extremen Fällen verfügbar ist, z. B. bei einer zonenweiten Störung.
Mithilfe von Load-Balancern können die verschiedensten Arten von Traffic weitergeleitet werden. In dieser Anleitung erfahren Sie, wie Sie einen globalen Load-Balancer erstellen, der externen HTTP-Traffic weiterleitet. Der größte Teil dieser Anleitung ist jedoch auch für andere Arten von Load-Balancern relevant. Weitere Informationen zu anderen Arten von Traffic, die mit einem Load-Balancer weitergeleitet werden können, finden Sie unter Arten von Cloud Load Balancing.
Diese Anleitung enthält ausführliche Schritte zu folgenden Vorgängen: Starten einer Webanwendung in einer regionalen verwalteten Instanzgruppe, Konfigurieren des Netzwerkzugriffs, Erstellen eines Load-Balancers zum Weiterleiten von Traffic an die Webanwendung und Beobachten des Load Balancers durch Simulation eines Zonenausfalls. Je nachdem, wie vertraut Sie mit diesen Features sind, benötigen Sie für diese Anleitung ungefähr 45 Minuten.
Ziele
- Demo-Webanwendung in einer regionalen verwalteten Instanzgruppe starten
- Globalen Load-Balancer konfigurieren, der HTTP-Traffic zonenübergreifend weiterleitet
- Auswirkungen des Load-Balancers durch Simulation eines Zonenausfalls beobachten
Kosten
In diesem Dokument verwenden Sie die folgenden kostenpflichtigen Komponenten von Google Cloud:
- Compute Engine
Mit dem Preisrechner können Sie eine Kostenschätzung für Ihre voraussichtliche Nutzung vornehmen.
Hinweis
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
Anwendungsarchitektur
Die Anwendung enthält die folgenden Compute Engine-Komponenten:
- VPC-Netzwerk: ein virtuelles Netzwerk in der Google Cloud, das globale Verbindungen über seine eigenen Routen und Firewallregeln bereitstellen kann.
- Firewallregel: eine Google Cloud-Firewall ermöglicht Ihnen, Traffic an Ihre Instanzen zuzulassen oder abzulehnen.
- Instanzvorlage: eine Vorlage zum Erstellen der einzelnen VM-Instanzen in der verwalteten Instanzgruppe.
- Regionale verwaltete Instanzgruppe: eine Gruppe von VM-Instanzen, auf denen dieselbe Anwendung in mehreren Zonen ausgeführt wird.
- Globale statische externe IP-Adresse: eine statische IP-Adresse, die von externen Netzwerken aus zugänglich ist und an eine globale Ressource angehängt werden kann.
- Globaler Load-Balancer: ein Load-Balancer, der Back-End-Instanzen über mehrere Regionen hinweg verteilen kann. Verwenden Sie einen globalen Load-Balancer, wenn Ihre Nutzer Zugriff auf dieselben Anwendungen und Inhalte benötigen und der Zugriff über eine einzige Anycast-IP-Adresse gewährt werden soll.
- Systemdiagnose: eine vom Load-Balancer verwendete Richtlinie, um die Reaktionsfähigkeit der Anwendung auf jeder VM-Instanz zu bewerten.
Webanwendung starten
In dieser Anleitung wird eine auf GitHub gespeicherte Webanwendung verwendet. Weitere Informationen zur Implementierung der Anwendung finden Sie im Repository GoogleCloudPlatform/python-docs-samples auf GitHub.
Starten Sie die Webanwendung auf jeder VM in einer Instanzgruppe. Fügen Sie dazu ein Startskript in eine Instanzvorlage ein. Führen Sie die Instanzgruppe außerdem in einem dedizierten VPC-Netzwerk aus. Damit soll verhindert werden, dass die Firewallregeln aus dieser Anleitung vorhandene Ressourcen in Ihrem Projekt beeinträchtigen.
VPC-Netzwerk erstellen
Durch Verwendung eines VPC-Netzwerks werden vorhandene Ressourcen in Ihrem Projekt vor den Auswirkungen der Ressourcen geschützt, die Sie für diese Anleitung erstellen. Ein VPC-Netzwerk ist außerdem erforderlich, um eingehenden Traffic so einzuschränken, dass dieser den Load-Balancer durchläuft.
Erstellen Sie ein VPC-Netzwerk, um die Firewallregeln für die Demo-Webanwendung zu kapseln:
Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf.
Klicken Sie auf VPC-Netzwerk erstellen.
Geben Sie für Name
web-app-vpc
ein.Wählen Sie bei Modus für Subnetzerstellung die Option Automatisch aus.
Klicken Sie unten auf der Seite auf Erstellen.
Warten Sie, bis das VPC-Netzwerk erstellt ist, bevor Sie fortfahren.
Firewallregel erstellen
Richten Sie nach dem Erstellen des VPC-Netzwerks eine Firewallregel ein, um HTTP-Traffic zum VPC-Netzwerk zuzulassen:
Rufen Sie in der Google Cloud Console die Seite Firewalls auf.
Klicken Sie auf Firewallregel erstellen.
Geben Sie im Feld Name
allow-web-app-http
ein.Legen Sie für Netzwerk
web-app-vpc
fest.Wählen Sie unter Ziele die Option Alle Instanzen im Netzwerk aus.
Legen Sie Quellfilter auf
IPv4 ranges
fest.Geben Sie unter Quell-IP-Bereiche den Wert
0.0.0.0/0
ein, um Zugriff für alle IP-Adressen zuzulassen.Wählen Sie unter Protokolle und Ports die Option Angegebene Protokolle und Ports aus.
Klicken Sie auf das Kästchen TCP und geben Sie80
ein, um Zugriff für HTTP-Traffic zuzulassen.Klicken Sie auf Erstellen.
Instanzvorlage erstellen
Erstellen Sie eine Vorlage, um damit eine Gruppe von VM-Instanzen zu erstellen. Jede aus der Vorlage erstellte Instanz startet eine Demo-Webanwendung über ein Startskript.
Rufen Sie in der Google Cloud Console die Seite Instanzvorlagen auf.
Klicken Sie auf Instanzvorlage erstellen.
Geben Sie für Name
load-balancing-web-app-template
ein.Legen Sie unter Maschinenkonfiguration den Maschinentyp auf
e2-micro
fest.Wählen Sie unter Firewall die Option HTTP-Traffic zulassen aus.
Maximieren Sie den Bereich Erweiterte Optionen.
Maximieren Sie den Bereich Verwaltung.
Geben Sie im Feld Automatisierung folgendes Startskript ein:
sudo apt update && sudo apt -y install git gunicorn3 python3-pip git clone https://github.com/GoogleCloudPlatform/python-docs-samples.git cd python-docs-samples/compute/managed-instances/demo sudo pip3 install -r requirements.txt sudo gunicorn3 --bind 0.0.0.0:80 app:app --daemon
Das Skript ruft die Webanwendung beim Start der VM-Instanz ab, installiert sie und startet sie.
Maximieren Sie den Bereich Netzwerk.
Klicken Sie im Bereich Netzwerkschnittstellen auf Netzwerkschnittstelle hinzufügen und wählen Sie dann das Netzwerk
web-app-vpc
aus. Damit wird erzwungen, dass jede mit dieser Vorlage erstellte Instanz im zuvor erstellten Netzwerk ausgeführt wird.Klicken Sie auf Erstellen.
Warten Sie, bis die Vorlage erstellt ist, bevor Sie fortfahren.
Regionale verwaltete Instanzgruppe erstellen
Verwenden Sie zum Ausführen der Webanwendung die Instanzvorlage, um eine regionale verwaltete Instanzgruppe zu erstellen:
Rufen Sie in der Google Cloud Console die Seite Instanzgruppen auf.
Klicken Sie auf Instanzgruppe erstellen.
Wählen Sie Neue verwaltete Instanzgruppe (zustandslos) aus.
Geben Sie für Name
load-balancing-web-app-group
ein.Wählen Sie bei Instanzvorlage die Option
load-balancing-web-app-template
aus.Legen Sie Anzahl der Instanzen auf
6
fest. Wenn dieses Feld deaktiviert ist, deaktivieren Sie zuerst das Autoscaling.Wählen Sie für Standort die Option Mehrere Zonen aus.
Wählen Sie als Region die Option us-central1 aus.
Wählen Sie unter Zonen die folgenden Zonen aus der Drop-down-Liste aus:
- us-central1-b
- us-central1-c
- us-central1-f
Wählen Sie Umverteilung von Instanzen zulassen aus.
Wählen Sie unter Autoscaling-Modus die Option Aus: Nicht automatisch skalieren aus.
Klicken Sie auf Erstellen. Damit kehren Sie wieder zur Seite Instanzgruppen zurück.
Prüfen Sie, ob Ihre Instanzen die Demo-Webanwendung korrekt ausführen:
- Klicken Sie auf der Seite Instanzgruppen auf
load-balancing-web-app-group
, um die Instanzen in dieser Gruppe aufzurufen. Klicken Sie unter Externe IP-Adresse auf eine IP-Adresse, um eine Verbindung zur jeweiligen Instanz herzustellen. Ein neuer Browsertab mit der Demo-Webanwendung wird geöffnet:
Wenn Sie fertig sind, schließen Sie den Browsertab der Demo-Webanwendung.
- Klicken Sie auf der Seite Instanzgruppen auf
Load-Balancer konfigurieren
Damit ein Load-Balancer Traffic an die Webanwendung weiterleitet, müssen Sie eine externe IP-Adresse für den Empfang des gesamten eingehenden Traffics reservieren. Erstellen Sie dann einen Load-Balancer, der Traffic von dieser IP-Adresse annimmt und an die Instanzgruppe weiterleitet.
Statische IP-Adresse reservieren
Verwenden Sie eine globale statische externe IP-Adresse, um dem Load-Balancer einen zentralen Eintrittspunkt für den gesamten Nutzertraffic bereitzustellen. Compute Engine behält statische IP-Adressen bei, auch wenn Sie zugehörige Google Cloud-Ressourcen ändern oder löschen. Auf diese Weise hat die Webanwendung immer denselben Eintrittspunkt, selbst wenn sich andere Teile der Webanwendung ändern.
Rufen Sie in der Google Cloud Console die Seite Externe IP-Adressen auf.
Klicken Sie auf Statische Adresse reservieren.
Geben Sie für Name
web-app-ipv4
ein.Setzen Sie die IP-Version auf IPv4.
Setzen Sie Typ auf Global.
Klicken Sie auf Reservieren.
Load-Balancer erstellen
Dieser Abschnitt behandelt die Schritte zum Erstellen eines globalen Load-Balancers, der HTTP-Traffic weiterleitet.
Dieser Load-Balancer verwendet ein Frontend, um eingehenden Traffic zu empfangen, und ein Backend, um diesen Traffic auf fehlerfreie Instanzen zu verteilen. Da der Load-Balancer aus mehreren Komponenten besteht, gliedert sich diese Aufgabe in mehrere Teile:
- Backend-Konfiguration
- Frontend-Konfiguration
- Prüfen und abschließen
Führen Sie zum Erstellen des Load-Balancers alle Schritte aus.
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 unter Name des Load Balancers
web-app-load-balancer
ein.
Backend-Konfiguration
- Klicken Sie im linken Bereich der Seite Globalen externen Anwendungs-Load-Balancer erstellen auf Backend-Konfiguration.
- Klicken Sie auf Backend-Dienste und Backend-Buckets erstellen oder auswählen, um ein Drop-down-Menü zu öffnen. Klicken Sie auf Back-End-Dienste und dann auf Back-End-Dienst erstellen.
- Geben Sie im neuen Fenster als Name der Back-End-Anwendung den String
web-app-backend
ein. - Legen Sie Instanzgruppe auf
load-balancing-web-app-group
fest. - Legen Sie für Portnummern den Wert
80
fest. Damit wird HTTP-Traffic zwischen dem Load-Balancer und der Instanzgruppe zugelassen. - Wählen Sie unter Balancing-Modus die Option Auslastung aus.
- Klicken Sie auf Fertig, um das Back-End zu erstellen.
Erstellen Sie die Systemdiagnose für das Back-End des Load Balancers:
- Wählen Sie unter Systemdiagnose die Option Systemdiagnose erstellen (oder Weitere Systemdiagnose erstellen) aus dem Drop-down-Menü aus. Ein neues Fenster wird geöffnet.
- Geben Sie im neuen Fenster unter Name den String
web-app-load-balancer-check
ein. - Legen Sie als Protokoll HTTP fest.
- Geben Sie für Port den Wert
80
ein. - Legen Sie den Anfragepfad für diese Anleitung auf
/health
fest. Dies ist ein Pfad, auf den die Demo-Webanwendung reagiert. Legen Sie die folgenden Diagnosekriterien fest:
- Legen Sie Überprüfungsintervall auf
3
Sekunden fest. Dies definiert die Zeitspanne vom Start einer Prüfung bis zum Start der nächsten. - Legen Sie Zeitlimit auf
3
Sekunden fest. Damit wird definiert, wie lange die Google Cloud bei einer Prüfung auf eine Antwort wartet. Der Wert muss kleiner oder gleich dem Überprüfungsintervall sein. - Legen Sie den Schwellenwert für Intaktheit auf
2
aufeinanderfolgende Erfolge fest. Dies definiert die Anzahl der sequenziellen Prüfungen, die erfolgreich verlaufen müssen, damit eine Instanz als intakt erachtet wird. - Setzen Sie Fehlerschwellenwert auf
2
aufeinanderfolgende Fehler fest. Dies definiert die Anzahl der sequenziellen Prüfungen, die fehlschlagen müssen, damit eine Instanz als nicht intakt erachtet wird.
- Legen Sie Überprüfungsintervall auf
Klicken Sie auf Speichern und fortfahren, um die Systemdiagnose zu erstellen.
Klicken Sie auf Create (Erstellen), um den Back-End-Dienst zu erstellen.
Frontend-Konfiguration
- Klicken Sie im linken Bereich der Seite Globalen externen Application Load Balancer erstellen auf Frontend-Konfiguration.
- Geben Sie auf der Seite Frontend-Konfiguration unter Name den String
web-app-ipv4-frontend
ein. - Legen Sie als Protokoll
HTTP
fest. - Setzen Sie die IP-Version auf
IPv4
. - Setzen Sie die IP-Adresse auf
web-app-ipv4
. - Legen Sie als Port
80
fest. - Klicken Sie auf Fertig, um das Frontend zu erstellen.
Prüfen und abschließen
Prüfen Sie die Load-Balancing-Einstellungen, bevor Sie den Load-Balancer erstellen:
- Klicken Sie im linken Bereich der Seite Globalen externen Application Load Balancer erstellen auf Prüfen und abschließen.
Prüfen Sie auf der Seite Prüfen und abschließen, ob die folgenden Einstellungen für das Backend vorliegen:
- Der Back-End-Dienst ist
web-app-backend
. - Das Endpunktprotokoll ist
HTTP
. - Die Systemdiagnose ist
web-app-load-balancer-check
. - Die Instanzgruppe ist
load-balancing-web-app-group
.
- Der Back-End-Dienst ist
Prüfen Sie auf derselben Seite, ob das Frontend eine IP-Adresse mit dem Protokoll
HTTP
verwendet.
Klicken Sie im linken Bereich der Seite Globalen externen Application Load Balancer erstellen auf Erstellen, um den Load Balancer fertigzustellen.
Möglicherweise müssen Sie einige Minuten warten, bis der Load-Balancer komplett erstellt ist.
Zonenausfall simulieren
Sie können die Funktionalität des Load-Balancers beobachten, wenn Sie die vollständige Nichtverfügbarkeit bei einem Zonenausfall simulieren. Für diese Simulation werden alle Instanzen in einer angegebenen Zone gezwungen, einen fehlerhaften Zustand im Anfragepfad /health
zu melden. Wenn diese Instanzen einen fehlerhaften Zustand melden, schlägt die Load-Balancing-Systemdiagnose dafür fehl. Der Load-Balancer weiß damit, dass an diese Instanzen kein Traffic mehr weiterzuleiten ist.
Beobachten Sie, an welche Zonen der Load-Balancer Traffic weiterleitet.
Rufen Sie in der Google Cloud Console Cloud Shell auf.
Cloud Shell wird in einem Bereich der Google Cloud Console geöffnet. Das Initialisieren der Sitzung kann einige Sekunden dauern.
Speichern Sie die statische externe IP-Adresse des Load-Balancers:
Rufen Sie die externe IP-Adresse aus der Frontend-Weiterleitungsregel des Load-Balancers ab. Geben Sie dazu den folgenden Befehl in Ihr Terminal ein:
gcloud compute forwarding-rules describe web-app-ipv4-frontend --global
Kopieren Sie die
EXTERNAl_IP_ADDRESS
aus der Ausgabe:IPAddress: EXTERNAl_IP_ADDRESS ...
Erstellen Sie eine lokale Bash-Variable:
export LOAD_BALANCER_IP=EXTERNAl_IP_ADDRESS
Dabei ist
EXTERNAl_IP_ADDRESS
die externe IP-Adresse, die Sie kopiert haben.
Führen Sie das folgende Bash-Skript aus, um zu überwachen, an welche Zonen der Load-Balancer Traffic weiterleitet:
while true do BODY=$(curl -s "$LOAD_BALANCER_IP") NAME=$(echo -n "$BODY" | grep "load-balancing-web-app-group" | perl -pe 's/.+?load-balancing-web-app-group-(.+?)<.+/\1/') ZONE=$(echo -n "$BODY" | grep "us-" | perl -pe 's/.+?(us-.+?)<.+/\1/') echo $ZONE done
Dieses Skript versucht kontinuierlich, über die IP-Adresse für das Frontend des Load-Balancers eine Verbindung zur Webanwendung herzustellen, und gibt für jede Verbindung aus, in welcher Zone die Webanwendung ausgeführt wird.
Die resultierende Ausgabe sollte die Zonen
us-central1-b
,us-central1-c
undus-central1-f
enthalten:us-central1-f us-central1-b us-central1-c us-central1-f us-central1-f us-central1-c us-central1-f us-central1-c us-central1-c
Lassen Sie dieses Terminal geöffnet.
Simulieren Sie jetzt bei laufendem Monitoring den Zonenausfall.
- Öffnen Sie in Cloud Shell eine zweite Terminalsitzung. Klicken Sie dazu auf die Schaltfläche Hinzufügen.
Erstellen Sie eine lokale Bash-Variable für die Projekt-ID:
export PROJECT_ID=PROJECT_ID
Dabei ist
PROJECT_ID
die Projekt-ID Ihres aktuellen Projekts, die in jeder neuen Cloud Shell-Zeile angezeigt wird:user@cloudshell:~ (PROJECT_ID)$
Erstellen Sie eine lokale Bash-Variable für die Zone, die Sie deaktivieren möchten. Verwenden Sie den folgenden Befehl, um einen Ausfall der Zone
us-central1-f
zu simulieren:export DISABLE_ZONE=us-central1-f
Führen Sie dann das unten gezeigte Bash-Skript aus. Dieses Skript bewirkt, dass die Demo-Webanwendungsinstanzen in der deaktivierten Zone mit Fehlern auf die Systemdiagnose des Load-Balancers reagieren. Dies führt dazu, dass der Load-Balancer Traffic von diesen Instanzen umleitet:
export MACHINES=$(gcloud --project=$PROJECT_ID compute instances list --filter="zone:($DISABLE_ZONE)" --format="csv(name,networkInterfaces[0].accessConfigs[0].natIP)" | grep "load-balancing-web-app-group") for i in $MACHINES; do NAME=$(echo "$i" | cut -f1 -d,) IP=$(echo "$i" | cut -f2 -d,) echo "Simulating zonal failure for zone $DISABLE_ZONE, instance $NAME" curl -q -s "http://$IP/makeUnhealthy" >/dev/null --retry 2 done
Nach einer kurzen Verzögerung leitet der Load-Balancer keinen Traffic mehr an die fehlerhafte Zone weiter. Daher wird im ersten Terminalfenster die Zone
us-central1-f
nicht mehr in der Ausgabe aufgeführt:us-central1-c us-central1-c us-central1-c us-central1-b us-central1-b us-central1-c us-central1-b us-central1-c us-central1-c
Daran können Sie ablesen, dass der Load-Balancer nur an die fehlerfreien, reagierenden Instanzen Traffic weiterleitet.
Lassen Sie beide Terminals geöffnet.
Erstellen Sie im zweiten Terminal eine lokale Bash-Variable für die Zone, die Sie wiederherstellen möchten. Verwenden Sie den folgenden Befehl, um wieder Traffic an die Zone
us-central1-f
weiterzuleiten:export ENABLE_ZONE=us-central1-f
Führen Sie dann das unten gezeigte Bash-Skript aus. Dieses Skript bewirkt, dass die Demo-Webanwendungsinstanzen in der deaktivierten Zone ohne Fehler auf die Systemdiagnose des Load-Balancers reagieren. Dies führt dazu, dass der Load-Balancer wieder Traffic an diese Instanzen verteilt:
export MACHINES=$(gcloud --project=$PROJECT_ID compute instances list --filter="zone:($ENABLE_ZONE)" --format="csv(name,networkInterfaces[0].accessConfigs[0].natIP)" | grep "load-balancing-web-app-group") for i in $MACHINES; do NAME=$(echo "$i" | cut -f1 -d,) IP=$(echo "$i" | cut -f2 -d,) echo "Simulating zonal restoration for zone $ENABLE_ZONE, instance $NAME" curl -q -s "http://$IP/makeHealthy" >/dev/null --retry 2 done
Nach einigen Minuten wird die Zone
us-central1-f
in der Ausgabe des ersten Terminalfensters schließlich aufgeführt:us-central1-b us-central1-b us-central1-c us-central1-f us-central1-c us-central1-c us-central1-b us-central1-c us-central1-f
Daran können Sie ablesen, dass der Load-Balancer eingehenden Traffic wieder an alle Instanzen weiterleitet.
Schließen Sie beide Terminals, wenn Sie fertig sind.
(Optional) Eingehenden Traffic einschränken
Wenn Sie die regionale verwaltete Instanzgruppe erstellt haben, können Sie auf jede Instanz über ihre externe sitzungsspezifische IP-Adresse direkt zugreifen. Nachdem Sie jedoch einen Load-Balancer und eine statische externe IP-Adresse eingerichtet haben, sollten Sie die Netzwerkfirewall so ändern, dass eingehender Traffic den Load-Balancer durchlaufen muss.
Falls eingehender Traffic auf den Load-Balancer eingeschränkt werden soll, ändern Sie die Netzwerkfirewall dahingehend, dass die sitzungsspezifische externe IP-Adresse für jede Instanz deaktiviert wird.
Bearbeiten Sie die Firewallregel, um HTTP-Traffic so einzuschränken, dass der Zugriff auf die Webanwendung nur mit dem Load-Balancer möglich ist:
Rufen Sie in der Google Cloud Console die Seite Firewalls auf.
Klicken Sie unter Name auf
allow-web-app-http
.Klicken Sie auf Bearbeiten.
Ändern Sie die Quell-IP-Bereiche so, dass nur Systemdiagnoseprüfungen zugelassen werden:
- Löschen Sie
0.0.0.0/0
. - Geben Sie in derselben Zeile
130.211.0.0/22
ein und drücken Sie die Tabulatortaste. - Geben Sie in derselben Zeile
35.191.0.0/16
ein und drücken Sie die Tabulatortaste.
- Löschen Sie
Klicken Sie auf Speichern.
Prüfen Sie, ob Sie mit der sitzungsspezifischen externen IP-Adresse einer bestimmten Instanz keine Verbindung zur Webanwendung herstellen können:
Rufen Sie in der Google Cloud Console die Seite Instanzgruppen auf.
Klicken Sie auf
load-balancing-web-app-group
, um die Instanzen in dieser Gruppe aufzurufen.Klicken Sie unter Externe IP-Adresse auf eine IP-Adresse, um eine Verbindung zur jeweiligen Instanz herzustellen. Ein neuer Browsertab wird geöffnet, die Webanwendung jedoch nicht. Letztendlich wird auf der Seite ein Zeitüberschreitungsfehler angezeigt.
Wenn Sie fertig sind, schließen Sie den Browsertab der Instanz.
Prüfen Sie, ob Sie mithilfe des Load-Balancers eine Verbindung zur Webanwendung herstellen können:
Rufen Sie in der Google Cloud Console die Seite Load-Balancing auf.
Klicken Sie unter Name auf
web-app-load-balancer
, um den soeben erstellten Load-Balancer zu maximieren.Sehen Sie zur Verbindungsherstellung mit der Webanwendung über die externe statische IP-Adresse unter Frontend und IP:Port nach, um die IP-Adresse zu kopieren. Öffnen Sie dann einen neuen Browsertab und fügen Sie die IP-Adresse in die Adressleiste ein. Damit sollte die Demo-Webanwendung angezeigt werden:
Wann immer Sie die Seite aktualisieren, stellt der Load-Balancer Verbindungen zu anderen Instanzen in unterschiedlichen Zonen her. Dies liegt daran, dass Sie keine direkte Verbindung zu einer Instanz herstellen. Die Verbindung wird vielmehr zum Load-Balancer hergestellt, der die Instanz auswählt, an die Sie weitergeleitet werden.
Wenn Sie fertig sind, schließen Sie den Browsertab der Demo-Webanwendung.
Bereinigen
Nachdem Sie die Anleitung abgeschlossen haben, können Sie die erstellten Ressourcen bereinigen, damit sie keine Kontingente mehr nutzen und keine Gebühren mehr anfallen. In den folgenden Abschnitten erfahren Sie, wie Sie diese Ressourcen löschen oder deaktivieren.
Wenn Sie für diese Anleitung ein eigenes Projekt erstellt haben, löschen Sie das gesamte Projekt. Falls das Projekt Ressourcen enthält, die Sie behalten möchten, löschen Sie nur die in dieser Anleitung erstellten Ressourcen.
Projekt löschen
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Bestimmte Ressourcen löschen
Load-Balancer löschen
Rufen Sie in der Google Cloud Console die Seite Load-Balancing auf.
Klicken Sie auf das Kästchen neben
web-app-load-balancer
.Klicken Sie oben auf der Seite auf
Löschen.Klicken Sie im neuen Fenster auf alle Kästchen. Klicken Sie anschließend auf Load-Balancer und ausgewählte Ressourcen löschen, um den Löschvorgang zu bestätigen.
Statische externe IP-Adresse löschen
Rufen Sie in der Google Cloud Console die Seite Externe IP-Adressen auf.
Klicken Sie auf das Kästchen neben
web-app-ipv4
.Klicken Sie oben auf der Seite auf
Statische Adresse freigeben. Klicken Sie im neuen Fenster auf Löschen, um den Löschvorgang zu bestätigen.
Instanzgruppe löschen
- In the Google Cloud console, go to the Instance groups page.
-
Select the checkbox for
your
load-balancing-web-app-group
instance group. - To delete the instance group, click Delete.
Instanzvorlage löschen
Rufen Sie in der Google Cloud Console die Seite Instanzvorlagen auf.
Klicken Sie auf das Kästchen neben
load-balancing-web-app-template
.Klicken Sie oben auf der Seite auf
Löschen. Klicken Sie im neuen Fenster auf Löschen, um den Löschvorgang zu bestätigen.
VPC-Netzwerk löschen
Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf.
Klicken Sie auf
web-app-vpc
.Klicken Sie oben auf der Seite auf
Löschen. Klicken Sie im neuen Fenster auf Löschen, um den Löschvorgang zu bestätigen.
Weitere Informationen
- Probieren Sie eine andere Anleitung aus.
- Mehr über verwaltete Instanzgruppen erfahren
- Mehr über Load-Balancing erfahren
- Anwendungslatenz durch Load-Balancing optimieren
- Robuste Systeme konzipieren
- Skalierbare und robuste Webanwendungen auf der Google Cloud erstellen