1. Einführung
Willkommen beim Codelab zum externen HTTP(S)-Load-Balancer mit erweiterter Trafficverwaltung (Envoy)!
Die aktuelle Version des externen HTTP(S)-Load-Balancers mit erweiterter Trafficverwaltung enthält alle Funktionen unseres bestehenden klassischen globalen externen HTTP(S)-Load-Balancers, aber mit einer ständig wachsenden Liste von erweiterten Funktionen für die Trafficverwaltung. Einige dieser Funktionen sind neu für unsere Load Balancer, andere bieten erweiterte Funktionen für bestehende Funktionen. Eine Teilliste dieser Funktionen:
- Gewichtete Trafficaufteilung
- Spiegelung anfordern
- Ausreißererkennung
- Wiederholung von Anfragen
- Fehlereinschleusung
- Zusätzliche Optionen für die Backend-Sitzungsaffinität
- Zusätzliche Optionen für die Header-Transformation
- Cross-Origin Resource Sharing (CORS)
- Neue Load-Balancing-Algorithmen
Lerninhalte
- Einrichtung einer verwalteten Instanzgruppe und der zugehörigen VPC- und Firewallregeln
- Erweiterte Funktionen zur Traffic-Verwaltung des neuen Load-Balancers verwenden
- So prüfen Sie, ob die erweiterten Funktionen zur Trafficverwaltung wie vorgesehen funktionieren.
Voraussetzungen
- Grundkenntnisse in den Bereichen Netzwerk und HTTP
- Grundkenntnisse zu Unix/Linux-Befehlszeilen
Codelab-Topologie und ‑Anwendungsfall
Abbildung 1: Routing-Topologie des HTTP-Load-Balancers
In diesem Codelab richten Sie drei verwaltete Instanzgruppen ein: eine in East, eine in West und eine in Central. Sie erstellen einen globalen externen HTTPS-Load-Balancer. Der Load Balancer nutzt mehrere Funktionen aus der Liste der erweiterten Funktionen, die der Envoy-basierte Load Balancer unterstützt. Nach der Bereitstellung generieren Sie eine simulierte Last und prüfen, ob die von Ihnen festgelegten Konfigurationen ordnungsgemäß funktionieren.
2. Einrichtung und Anforderungen
Einrichtung der Umgebung im eigenen Tempo
- Melden Sie sich in der Google Cloud Console an und erstellen Sie ein neues Projekt oder verwenden Sie ein vorhandenes. Wenn Sie noch kein Gmail- oder Google Workspace-Konto haben, müssen Sie eins erstellen.
- Der Projektname ist der Anzeigename für die Teilnehmer dieses Projekts. Es handelt sich um einen String, der nicht von Google APIs verwendet wird. Sie können sie jederzeit aktualisieren.
- Die Projekt-ID ist für alle Google Cloud-Projekte eindeutig und kann nach dem Festlegen nicht mehr geändert werden. In der Cloud Console wird automatisch ein eindeutiger String generiert. Normalerweise ist es nicht wichtig, wie dieser String aussieht. In den meisten Codelabs müssen Sie auf Ihre Projekt-ID verweisen (in der Regel als
PROJECT_ID
angegeben). Wenn Ihnen die generierte ID nicht gefällt, können Sie eine andere zufällige ID generieren. Alternativ können Sie es mit einem eigenen Namen versuchen und sehen, ob er verfügbar ist. Sie kann nach diesem Schritt nicht mehr geändert werden und bleibt für die Dauer des Projekts bestehen. - Zur Information: Es gibt einen dritten Wert, die Projektnummer, die von einigen APIs verwendet wird. Weitere Informationen zu diesen drei Werten
- Als Nächstes müssen Sie die Abrechnung in der Cloud Console aktivieren, um Cloud-Ressourcen/-APIs zu verwenden. Die Durchführung dieses Codelabs kostet wenig oder gar nichts. Wenn Sie Ressourcen herunterfahren möchten, um Kosten zu vermeiden, die über diese Anleitung hinausgehen, können Sie die erstellten Ressourcen oder das Projekt löschen. Neue Google Cloud-Nutzer können am Programm Kostenlose Testversion mit einem Guthaben von 300$ teilnehmen.
Cloud Shell starten
Während Sie Google Cloud von Ihrem Laptop aus per Fernzugriff nutzen können, wird in diesem Codelab Google Cloud Shell verwendet, eine Befehlszeilenumgebung, die in der Cloud ausgeführt wird.
Klicken Sie in der Google Cloud Console in der Symbolleiste oben rechts auf das Cloud Shell-Symbol:
Die Bereitstellung und Verbindung mit der Umgebung dauert nur einen Moment. Anschließend sehen Sie in etwa Folgendes:
Diese virtuelle Maschine verfügt über sämtliche Entwicklertools, die Sie benötigen. Sie bietet ein Basisverzeichnis mit 5 GB nichtflüchtigem Speicher und läuft in Google Cloud, was die Netzwerkleistung und Authentifizierung erheblich verbessert. Alle Aufgaben in diesem Codelab können in einem Browser ausgeführt werden. Sie müssen nichts installieren.
Hinweis
Prüfen Sie in Cloud Shell, ob Ihre Projekt-ID eingerichtet ist.
gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
PROJECT_ID=[YOUR-PROJECT-NAME]
echo $PROJECT_ID
APIs aktivieren
Alle erforderlichen Dienste aktivieren
gcloud services enable compute.googleapis.com gcloud services enable logging.googleapis.com gcloud services enable monitoring.googleapis.com
3. VPC‑Netzwerk erstellen
VPC-Netzwerk erstellen
Über Cloud Shell
gcloud compute networks create httplbs --subnet-mode=auto
Ausgabe
Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/httplbs]. NAME: httplbs SUBNET_MODE: AUTO BGP_ROUTING_MODE: REGIONAL IPV4_RANGE: GATEWAY_IPV4:
VPC-Firewallregeln erstellen
Nachdem Sie die VPC erstellt haben, erstellen Sie nun eine Firewallregel. Die Firewallregel wird verwendet, um allen IP-Adressen den Zugriff auf die externe IP-Adresse der Website der Testanwendung an Port 80 für HTTP-Traffic zu ermöglichen.
Über Cloud Shell
gcloud compute firewall-rules create httplb-allow-http-rule \ --allow tcp:80 \ --network httplbs \ --source-ranges 0.0.0.0/0 \ --priority 700
Ausgabe
Creating firewall...working..Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls/httplb-allow-http-rule]. Creating firewall...done. NAME: httplb-allow-http-rule NETWORK: httplbs DIRECTION: INGRESS PRIORITY: 700 ALLOW: tcp:80 DENY: DISABLED: False
4. Verwaltete Instanzgruppen einrichten
Sie müssen verwaltete Instanzgruppen einrichten, die die Muster für Backend-Ressourcen enthalten, die vom HTTP Load Balancer verwendet werden. Zuerst erstellen wir Instanzvorlagen, in denen die Konfiguration für die VMs definiert wird, die für jede Region erstellt werden sollen. Als Nächstes erstellen wir für jedes Backend in jeder Region eine verwaltete Instanzgruppe, die auf eine Instanzvorlage verweist.
Verwaltete Instanzgruppen können zonal oder regional sein. In dieser Übung erstellen wir drei regionale verwaltete Instanzgruppen: eine in us-east1, eine in us-west1 und eine in us-central1.
In diesem Abschnitt sehen Sie ein vorab erstelltes Startskript, auf das beim Erstellen der Instanz verwiesen wird. Dieses Startskript installiert und aktiviert Webserverfunktionen, die wir zum Simulieren einer Webanwendung verwenden. Sie können sich das Skript ansehen.
Instanzvorlagen für Ost-, West- und Zentralregion erstellen
Als Erstes erstellen Sie die Instanzvorlage „us-east-1“.
Über Cloud Shell
gcloud compute instance-templates create us-east1-template \ --region=us-east1 \ --network=httplbs \ --tags=http-server, \ --image-family=debian-12 \ --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://169.254.169.254/computeMetadata/v1/instance/name)" echo "Page served from: $vm_hostname" | \ tee /var/www/html/index.html systemctl restart apache2'
Ausgabe
Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates/us-east1-template]. NAME: us-east1-template MACHINE_TYPE: n1-standard-1 PREEMPTIBLE: CREATION_TIMESTAMP: 2021-11-11T11:02:37.511-08:00
Als Nächstes erstellen Sie die Instanzvorlage „us-west-1“.
Über Cloud Shell
gcloud compute instance-templates create us-west1-template \ --region=us-west1 \ --network=httplbs \ --tags=http-server, \ --image-family=debian-12 \ --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://169.254.169.254/computeMetadata/v1/instance/name)" echo "Page served from: $vm_hostname" | \ tee /var/www/html/index.html systemctl restart apache2'
Ausgabe
Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates/us-west1-template]. NAME: us-west1-template MACHINE_TYPE: n1-standard-1 PREEMPTIBLE: CREATION_TIMESTAMP: 2021-11-11T11:03:08.577-08:00
Im nächsten Schritt erstellen Sie die Instanzvorlage für „us-central-1“.
Über Cloud Shell
gcloud compute instance-templates create us-central1-template \ --region=us-central1 \ --network=httplbs \ --tags=http-server, \ --image-family=debian-12 \ --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://169.254.169.254/computeMetadata/v1/instance/name)" echo "Page served from: $vm_hostname" | \ tee /var/www/html/index.html systemctl restart apache2'
Ausgabe
Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates/us-central1-template]. NAME: us-central1-template MACHINE_TYPE: n1-standard-1 PREEMPTIBLE: CREATION_TIMESTAMP: 2021-11-11T11:03:44.179-08:00
Mit dem folgenden gcloud-Befehl können Sie prüfen, ob die Instanzvorlagen erfolgreich erstellt wurden:
Über Cloud Shell
gcloud compute instance-templates list
Ausgabe
NAME MACHINE_TYPE PREEMPTIBLE CREATION_TIMESTAMP us-central1-template n1-standard-1 2021-11-09T09:25:37.263-08:00 us-east1-template n1-standard-1 2021-11-09T09:24:35.275-08:00 us-west1-template n1-standard-1 2021-11-09T09:25:08.016-08:00
Verwaltete Instanzgruppen für Ost, West und Mitte erstellen
Als Nächstes müssen wir eine verwaltete Instanzgruppe aus den zuvor erstellten Instanzvorlagen erstellen.
Über Cloud Shell
gcloud compute instance-groups managed create us-east1-mig \ --base-instance-name=us-east1-mig \ --size=1 \ --template=us-east1-template \ --zone=us-east1-b
Ausgabe
Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-east1-b/instanceGroupManagers/us-east1-mig]. NAME: us-east1-mig LOCATION: us-east1-b SCOPE: zone BASE_INSTANCE_NAME: us-east1-mig SIZE: 0 TARGET_SIZE: 1 INSTANCE_TEMPLATE: us-east1-template AUTOSCALED: no
Über Cloud Shell
gcloud compute instance-groups managed create us-west1-mig \ --base-instance-name=us-west1-mig \ --size=1 \ --template=us-west1-template \ --zone=us-west1-a
Ausgabe
Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-west1-a/instanceGroupManagers/us-west1-mig]. NAME: us-west1-mig LOCATION: us-west1-a SCOPE: zone BASE_INSTANCE_NAME: us-west1-mig SIZE: 0 TARGET_SIZE: 1 INSTANCE_TEMPLATE: us-west1-template AUTOSCALED: no
Über Cloud Shell
gcloud compute instance-groups managed create us-central1-mig \ --base-instance-name=us-central1-mig \ --size=1 \ --template=us-central1-template \ --zone=us-central1-a
Ausgabe
Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-central1-a/instanceGroupManagers/us-central1-mig]. NAME: us-central1-mig LOCATION: us-central1-a SCOPE: zone BASE_INSTANCE_NAME: us-central1-mig SIZE: 0 TARGET_SIZE: 1 INSTANCE_TEMPLATE: us-central1-template AUTOSCALED: no
Mit dem folgenden gcloud-Befehl können wir prüfen, ob unsere Instanzgruppen erfolgreich erstellt wurden:
Über Cloud Shell
gcloud compute instance-groups list
Ausgabe
NAME LOCATION SCOPE NETWORK MANAGED INSTANCES us-central1-mig us-central1 zone httplbs Yes 1 us-west1-mig us-west1 zone httplbs Yes 1 us-east1-mig us-east1 zone httplbs Yes 1
Webserver-Funktionalität prüfen
Jede Instanz ist so konfiguriert, dass ein Apache-Webserver mit einem einfachen PHP-Skript ausgeführt wird, das Folgendes rendert:
Damit Ihre Webserver ordnungsgemäß funktionieren, rufen Sie „Compute Engine“ –> „VM-Instanzen“ auf. Prüfen Sie, ob Ihre neuen Instanzen (z.B. us-east1-mig-xxx) gemäß ihren Instanzgruppendefinitionen erstellt wurden.
Stellen Sie nun eine Webanfrage in Ihrem Browser, um sicherzustellen, dass der Webserver ausgeführt wird. Das kann eine Minute dauern. Wählen Sie auf der Seite „VM-Instanzen“ unter „Compute Engine“ eine von Ihrer Instanzgruppe erstellte Instanz aus und klicken Sie auf ihre externe (öffentliche) IP-Adresse.
Alternativ können Sie in Ihrem Browser http://<IP_Address> aufrufen.
5. Load-Balancer einrichten
Systemdiagnose erstellen
Zuerst müssen wir eine grundlegende Systemdiagnose erstellen, um sicherzustellen, dass unsere Dienste ordnungsgemäß ausgeführt werden. Wir erstellen eine grundlegende Systemdiagnose. Es sind jedoch viele weitere erweiterte Anpassungen möglich.
Über Cloud Shell
gcloud compute health-checks create http http-basic-check \ --port 80
Externe IP-Adresse reservieren
Für diesen Schritt müssen Sie eine global verfügbare statische IP-Adresse reservieren, die später an den Load Balancer angehängt wird.
Über Cloud Shell
gcloud compute addresses create lb-ipv4-2 \ --ip-version=IPV4 \ --global
Notieren Sie sich die reservierte IP-Adresse.
gcloud compute addresses describe lb-ipv4-2 \ --format="get(address)" \ --global
Back-End-Dienste erstellen
Jetzt müssen wir für jede der zuvor erstellten verwalteten Instanzgruppen einen Backend-Dienst erstellen. Einer für Ost, West und Mitte.
Erstellen eines Back-End-Dienstes für die verwaltete Instanzgruppe „East“.
Über Cloud Shell
gcloud compute backend-services create east-backend-service \ --load-balancing-scheme=EXTERNAL_MANAGED \ --protocol=HTTP \ --port-name=http \ --health-checks=http-basic-check \ --global
Back-End-Dienst für die verwaltete Instanzgruppe „West“ erstellen.
Über Cloud Shell
gcloud compute backend-services create west-backend-service \ --load-balancing-scheme=EXTERNAL_MANAGED \ --protocol=HTTP \ --port-name=http \ --health-checks=http-basic-check \ --global
Erstellen eines Backend-Dienstes für die zentrale verwaltete Instanzgruppe.
Über Cloud Shell
gcloud compute backend-services create central-backend-service \ --load-balancing-scheme=EXTERNAL_MANAGED \ --protocol=HTTP \ --port-name=http \ --health-checks=http-basic-check \ --global
MIGs zu Backend-Diensten hinzufügen
Nachdem wir die entsprechenden Backend-Dienste für jeden Anwendungscluster erstellt haben, müssen wir jedem Backend-Dienst die zuvor erstellten verwalteten Instanzgruppen hinzufügen.
Fügen Sie dem Backend-Dienst die MIG für die östliche Zone hinzu.
Über Cloud Shell
gcloud compute backend-services add-backend east-backend-service \ --balancing-mode='UTILIZATION' \ --instance-group=us-east1-mig \ --instance-group-zone=us-east1-b \ --global
Fügen Sie dem Back-End-Dienst die West-MIG hinzu.
Über Cloud Shell
gcloud compute backend-services add-backend west-backend-service \ --balancing-mode='UTILIZATION' \ --instance-group=us-west1-mig \ --instance-group-zone=us-west1-a \ --global
Fügen Sie dem Backend-Dienst die zentrale MIG hinzu.
Über Cloud Shell
gcloud compute backend-services add-backend central-backend-service \ --balancing-mode='UTILIZATION' \ --instance-group=us-central1-mig \ --instance-group-zone=us-central1-a \ --global
URL-Zuordnung erstellen
Die erweiterten Funktionen zur Trafficverwaltung für dieses Lab sind in der URL-Zuordnung enthalten. Wir müssen eine YAML-Datei erstellen, die die Konfiguration enthält. In der .yaml-Datei haben wir einen Präfixabgleich für „/roundrobbin“ erstellt. Daher ist nur Traffic, der mit „/roundrobbin“ übereinstimmt, von diesen Konfigurationen betroffen. Wir haben angegeben, dass 50% des Traffics an den „east-backend-service“ und 50% an den „west-backend-service“ weitergeleitet werden sollen. Außerdem haben wir einen Antwortheader-Wert hinzugefügt:{test}. Dieser ist in allen Antworten enthalten. Schließlich haben wir hinzugefügt, dass der gesamte Traffic an den zentralen Backend-Dienst gespiegelt werden soll. Der Traffic wird dupliziert und nur zu Testzwecken hierher gesendet.
Speichern Sie das Beispiel als YAML-Datei auf Ihrem Computer.
defaultService: https://www.googleapis.com/compute/v1/projects/[project_id]/global/backendServices/east-backend-service kind: compute #urlMap name: web-map-http hostRules: - hosts: - '*' pathMatcher: matcher1 pathMatchers: - defaultService: https://www.googleapis.com/compute/v1/projects/[project_id]/global/backendServices/east-backend-service name: matcher1 routeRules: - matchRules: - prefixMatch: /roundrobbin priority: 2 headerAction: responseHeadersToAdd: - headerName: test headerValue: value replace: True routeAction: weightedBackendServices: - backendService: https://www.googleapis.com/compute/v1/projects/[project_id]/global/backendServices/east-backend-service weight: 50 - backendService: https://www.googleapis.com/compute/v1/projects/[project_id]/global/backendServices/west-backend-service weight: 50 retryPolicy: retryConditions: ['502', '504'] numRetries: 3 perTryTimeout: seconds: 1 nanos: 50 requestMirrorPolicy: backendService: https://www.googleapis.com/compute/v1/projects/[project_id]/global/backendServices/central-backend-service
Erstellen Sie die URL-Zuordnung, indem Sie das Dokument von Ihrem Computer importieren. Der Quellpfad hängt davon ab, wo Sie die YAML-Datei speichern.
Über Cloud Shell
gcloud compute url-maps import web-map-http \ --source /Users/[USERNAME]/Documents/Codelab/lbconfig.yaml \ --global
HTTP-Frontend erstellen
Der letzte Schritt beim Erstellen des Load-Balancers ist das Erstellen des Frontends. Dadurch wird die IP-Adresse, die Sie zuvor reserviert haben, der von Ihnen erstellten URL-Zuordnung des Load-Balancers zugeordnet.
Über Cloud Shell
gcloud compute target-http-proxies create http-lb-proxy-adv \ --url-map=web-map-http
Als Nächstes müssen Sie eine globale Weiterleitungsregel erstellen, mit der die zuvor reservierte IP-Adresse dem HTTP-Proxy zugeordnet wird.
Über Cloud Shell
gcloud compute forwarding-rules create http-content-rule \ --load-balancing-scheme EXTERNAL_MANAGED \ --address=lb-ipv4-2 \ --global \ --target-http-proxy=http-lb-proxy-adv \ --ports=80
6. Prüfen, ob die erweiterten Traffic-Funktionen funktionieren
Um zu prüfen, ob die implementierte Funktion zur Aufteilung des Traffics funktioniert, müssen Sie eine gewisse Last generieren. Dazu erstellen wir eine neue VM, um die Last zu simulieren.
Firewallregel zum Zulassen von SSH erstellen
Damit Sie eine SSH-Verbindung zur VM herstellen können, von der wir Traffic generieren, müssen Sie zuerst eine Firewallregel erstellen, die SSH-Traffic zur VM zulässt.
Über Cloud Shell
gcloud compute firewall-rules create fw-allow-ssh \ --network=httplbs \ --action=allow \ --direction=ingress \ --target-tags=allow-ssh \ --rules=tcp:22
Ausgabe
NAME NETWORK DIRECTION PRIORITY ALLOW DENY DISABLED fw-allow-ssh httplbs INGRESS 1000 tcp:22 False
„Siege-vm“ erstellen
Erstellen Sie jetzt die VM „siege-vm“, mit der Sie die Last generieren.
Über Cloud Shell
gcloud compute instances create siege-vm \ --network=httplbs \ --zone=us-east4-c \ --machine-type=e2-medium \ --tags=allow-ssh,http-server \ --metadata=startup-script='sudo apt-get -y install siege'
Ausgabe
NAME ZONE MACHINE_TYPE INTERNAL_IP EXTERNAL_IP STATUS siege-vm us-east4-c e2-medium 10.150.0.3 34.85.218.119 RUNNING
Als Nächstes können Sie eine SSH-Verbindung zur erstellten VM herstellen. Klicken Sie nach der Erstellung auf SSH, um ein Terminal zu starten und eine Verbindung herzustellen.
Führen Sie nach der Verbindung den folgenden Befehl aus, um Last zu generieren. Verwenden Sie die IP-Adresse, die Sie zuvor für den externen HTTP-Load-Balancer reserviert haben.
Über Cloud Shell
siege -c 250 http://[$lb-ipv4-2]/roundrobbin
Ausgabe
New configuration template added to /home/cloudcurriculumdeveloper/.siege Run siege -C to view the current settings in that file [alert] Zip encoding disabled; siege requires zlib support to enable it: No such file or directory ** SIEGE 4.0.2 ** Preparing 250 concurrent users for battle. The server is now under siege...
Lastverteilung prüfen
Nachdem Siege ausgeführt wird, können Sie prüfen, ob der Traffic gleichmäßig auf die verwalteten Instanzgruppen für Ost und West verteilt wird. Außerdem können Sie prüfen, ob die Traffic-Spiegelung funktioniert und Traffic an die zentrale verwaltete Instanzgruppe gesendet wird.
Klicken Sie in der Cloud Console im Navigationsmenü auf „Netzwerkdienste“ > „Load-Balancing“. Wählen Sie den Load Balancer „web-map-http“ aus. Rufen Sie den Tab „Monitoring“ auf. Dort sehen Sie das folgende Diagramm.
Sie können die Traffic-Aufteilung für diese MIG in Echtzeit sehen. Der Traffic wird gleichmäßig aufgeteilt, da Sie eine 50/50-Round-Robin-Aufteilung konfiguriert haben.
Um zu prüfen, ob die von Ihnen erstellte Richtlinie zur Spiegelung von Traffic funktioniert, müssen Sie die Auslastung der verwalteten Instanzgruppe „central-backend-service“ prüfen. Rufen Sie dazu „Compute“, „Compute Engine“, „Instanzgruppen“ auf und wählen Sie „us-central1-mig“ aus. Rufen Sie als Nächstes den Tab „Monitoring“ auf.
Die Diagramme werden mit Daten gefüllt, die zeigen, dass der Traffic in diese verwaltete Instanzgruppe gespiegelt wurde.
Belagerung beenden
Nachdem Sie nachgewiesen haben, dass die erweiterte Traffic-Aufteilung funktioniert, ist es an der Zeit, die Belagerung zu beenden. Kehren Sie dazu zum SSH-Terminal von siege-vm zurück und drücken Sie Strg + C, um den laufenden „siege“-Prozess zu beenden.
Prüfen, ob der Antwortheader gesendet wird
Bevor Sie die Bereinigung durchführen, können Sie schnell prüfen, ob der entsprechende Antwortheader vom HTTP-Load-Balancer gesendet wird. Sie hatten ihn so konfiguriert, dass der Header „test“ mit dem Wert „contents“ gesendet wird. Wenn Sie den curl-Befehl in Cloud Shell ausführen, erhalten Sie die erwartete Antwort.
Über Cloud Shell
curl -svo /dev/null http://lb-ipv4-2/roundrobbin
Ausgabe
* Trying lb-ipv4-2.. * TCP_NODELAY set * Connected to lb-ipv4-2 ( lb-ipv4-2) port 80 (#0) > GET /roundrobbin HTTP/1.1 > Host: lb-ipv4-2 > User-Agent: curl/7.64.1 > Accept: */* > < HTTP/1.1 404 Not Found < date: Wed, 10 Nov 2021 17:05:27 GMT < server: envoy < Content-Length: 273 < content-type: text/html; charset=iso-8859-1 < via: 1.1 google < test: value < { [273 bytes data] * Connection #0 to host 34.149.2.26 left intact * Closing connection 0
7. Lab bereinigen
Nachdem wir die Lab-Umgebung eingerichtet haben, ist es an der Zeit, sie wieder abzubauen. Führen Sie die folgenden Befehle aus, um die Testumgebung zu löschen.
Über Cloud Shell
gcloud compute instances delete siege-vm --zone=us-east4-c gcloud compute forwarding-rules delete http-content-rule --global gcloud compute target-http-proxies delete http-lb-proxy-adv gcloud compute url-maps delete web-map-http gcloud compute backend-services delete east-backend-service --global gcloud compute backend-services delete west-backend-service --global gcloud compute backend-services delete central-backend-service --global gcloud compute addresses delete lb-ipv4-2 --global gcloud compute health-checks delete http-basic-check gcloud compute instance-groups managed delete us-east1-mig --zone us-east1-b gcloud compute instance-groups managed delete us-west1-mig --zone us-west1-a gcloud compute instance-groups managed delete us-central1-mig --zone us-central1-a gcloud compute instance-templates delete "us-east1-template" gcloud compute instance-templates delete "us-west1-template" gcloud compute instance-templates delete "us-central1-template" gcloud compute firewall-rules delete httplb-allow-http-rule gcloud compute firewall-rules delete fw-allow-ssh gcloud compute networks delete httplbs
8. Glückwunsch!
Sie haben das Codelab „Externer HTTPS-Load-Balancer mit erweiterter Trafficverwaltung (Envoy)“ abgeschlossen.
Behandelte Themen
- Einrichtung einer verwalteten Instanzgruppe und der zugehörigen VPC- und Firewallregeln
- Erweiterte Funktionen zur Traffic-Verwaltung des neuen Load-Balancers verwenden
- So prüfen Sie, ob die erweiterten Funktionen zur Trafficverwaltung wie vorgesehen funktionieren.
Weiteres Vorgehen
- Testen Sie einige der anderen erweiterten Routingfunktionen wie das Umschreiben von URLs, das Hinzufügen von CORS-Headern und vieles mehr ( Link).