1. Einführung
Willkommen beim Codelab zum externen HTTPS-Load-Balancer mit erweiterter Traffic-Verwaltung (Envoy).
Die neueste Version des externen HTTP(S)-Load-Balancers mit erweiterter Traffic-Verwaltung enthält alle Features unseres bestehenden klassischen globalen externen HTTP(S)-Load-Balancers, allerdings mit einer stetig wachsenden Liste von Funktionen zur erweiterten Traffic-Verwaltung. Einige dieser Funktionen sind neu für unsere Load Balancer, andere bieten erweiterte Features für bestehende Funktionen. Zu diesen Funktionen gehören:
- Gewichtete Traffic-Aufteilung
- Anfragespiegelung
- Ausreißererkennung
- Wiederholung von Anfragen
- Fault Injection (Fehlerinjektion)
- Zusätzliche Optionen für die Back-End-Sitzungsaffinität
- Zusätzliche Optionen für Header-Transformation
- Cross-Origin Resource Sharing (CORS)
- Neue Load-Balancing-Algorithmen
Aufgaben in diesem Lab
- Verwaltete Instanzgruppe sowie die zugehörigen VPC- und Firewallregeln einrichten
- So verwenden Sie die erweiterten Traffic-Verwaltungsfeatures des neuen Load-Balancers
- So prüfen Sie, ob die Funktionen der erweiterten Trafficverwaltung wie vorgesehen funktionieren
Voraussetzungen
- Grundkenntnisse in Netzwerken und HTTP-Kenntnissen
- Grundkenntnisse zu Unix/Linux-Befehlszeilen
Codelab-Topologie und Anwendungsfall
Abbildung 1 – Routingtopologie für den HTTP-Load-Balancer
In diesem Code-Lab richten Sie drei verwaltete Instanzgruppen ein, eine in East, West und Central. Sie erstellen einen globalen externen HTTPS-Load-Balancer. Der Load-Balancer nutzt mehrere Features 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
Umgebung für das selbstbestimmte Lernen einrichten
- Melden Sie sich in der Google Cloud Console an und erstellen Sie ein neues Projekt oder verwenden Sie ein vorhandenes Projekt. Wenn Sie noch kein Gmail- oder Google Workspace-Konto haben, müssen Sie eines erstellen.
- Der Projektname ist der Anzeigename für die Projektteilnehmer. Es handelt sich um eine Zeichenfolge, die von Google APIs nicht verwendet wird und jederzeit aktualisiert werden kann.
- Die Projekt-ID muss für alle Google Cloud-Projekte eindeutig sein und ist unveränderlich. Sie kann nach dem Festlegen nicht mehr geändert werden. Die Cloud Console generiert automatisch einen eindeutigen String. ist Ihnen meist egal, was es ist. In den meisten Codelabs musst du auf die Projekt-ID verweisen, die in der Regel als
PROJECT_ID
identifiziert wird. Wenn es dir nicht gefällt, kannst du eine weitere zufällige Projekt-ID generieren. Du kannst aber auch selbst eine andere testen, um zu sehen, ob sie verfügbar ist. Dann ist es „eingefroren“ nachdem das Projekt erstellt wurde. - Es gibt einen dritten Wert, die Projektnummer, die von einigen APIs verwendet wird. Weitere Informationen zu allen drei Werten finden Sie in der Dokumentation.
- Als Nächstes müssen Sie in der Cloud Console die Abrechnung aktivieren, um Cloud-Ressourcen/APIs verwenden zu können. Dieses Codelab sollte möglichst wenig kosten. Wenn Sie Ressourcen beenden möchten, damit über diese Anleitung hinaus keine Kosten anfallen, führen Sie eine Bereinigung durch am Ende des Codelabs. Neue Google Cloud-Nutzer haben Anspruch auf eine kostenlose Testversion mit 300$Guthaben.
Cloud Shell starten
Sie können Google Cloud zwar von Ihrem Laptop aus der Ferne bedienen, in diesem Codelab verwenden Sie jedoch Google Cloud Shell, eine Befehlszeilenumgebung, die in der Cloud ausgeführt wird.
Klicken Sie in der GCP Console oben rechts in der Symbolleiste auf das Cloud Shell-Symbol:
Die Bereitstellung und Verbindung mit der Umgebung dauert nur einen Moment. Wenn er abgeschlossen ist, sollten Sie in etwa Folgendes sehen:
Diese virtuelle Maschine verfügt über sämtliche Entwicklertools, die Sie benötigen. Es bietet ein Basisverzeichnis mit 5 GB nichtflüchtigem Speicher und läuft auf Google Cloud, wodurch die Netzwerkleistung und Authentifizierung erheblich verbessert werden. Sie können alle Aufgaben in diesem Lab ganz einfach in einem Browser erledigen.
Hinweis
Prüfen Sie in Cloud Shell, ob Ihre Projekt-ID eingerichtet ist
gcloud config list project
gcloud config set project [IHR-PROJEKTNAME]
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
Von 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, legen Sie Firewallregeln fest. Die Firewallregel wird verwendet, um allen IP-Adressen den Zugriff auf die externe IP-Adresse der Website der Testanwendung über Port 80 für HTTP-Traffic zu ermöglichen.
Von 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 der VMs definiert wird, die für die einzelnen Regionen erstellt werden sollen. Als Nächstes erstellen wir für ein Backend in jeder Region eine verwaltete Instanzgruppe, die auf eine Instanzvorlage verweist.
Verwaltete Instanzgruppen können zonal oder regional sein. Für diese Lab-Ü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 bei der Instanzerstellung verwiesen wird. Dieses Startskript installiert und aktiviert Webserverfunktionen, mit denen wir eine Webanwendung simulieren. Sie können sich dieses Skript gerne ansehen.
Vorlagen für den Osten, den Westen und die zentrale Instanz erstellen
Zuerst erstellen Sie die Instanzvorlage "us-east-1".
Von Cloud Shell
gcloud compute instance-templates create us-east1-template \ --region=us-east1 \ --network=httplbs \ --tags=http-server, \ --image-family=debian-9 \ --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
Im nächsten Schritt erstellen Sie die Instanzvorlage "us-west-1".
Von Cloud Shell
gcloud compute instance-templates create us-west1-template \ --region=us-west1 \ --network=httplbs \ --tags=http-server, \ --image-family=debian-9 \ --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.
Von Cloud Shell
gcloud compute instance-templates create us-central1-template \ --region=us-central1 \ --network=httplbs \ --tags=http-server, \ --image-family=debian-9 \ --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 jetzt prüfen, ob die Instanzvorlagen erfolgreich erstellt wurden:
Von 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
Osten, Westen und zentral verwaltete Instanzgruppen erstellen
Nun müssen wir eine verwaltete Instanzgruppe aus den Instanzvorlagen erstellen, die wir zuvor erstellt haben.
Von 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
Von 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
Von 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 Sie prüfen, ob die Instanzgruppen erfolgreich erstellt wurden:
Von 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 ausführt:
Um sicherzustellen, dass Ihre Webserver ordnungsgemäß funktionieren, gehen Sie zu Compute Engine -> VM-Instanzen: Achten Sie darauf, dass 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. Dies kann einen Moment 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.
Oder navigieren Sie in Ihrem Browser zu http://<IP_Address>.
5. Load-Balancer einrichten
Systemdiagnose erstellen
Zuerst müssen wir eine grundlegende Systemdiagnose erstellen, um sicherzustellen, dass unsere Dienste erfolgreich ausgeführt werden. Wir erstellen eine einfache Systemdiagnose. Es sind noch viele weitere Anpassungen verfügbar.
Von 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.
Von 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 Back-End-Dienst erstellen. Eine für „Osten“, „Westen“ und „Mitte“.
Back-End-Dienst für die verwaltete Instanzgruppe East erstellen
Von 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
Von 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
Back-End-Dienst für die zentral verwaltete Instanzgruppe erstellen
Von 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 Back-End-Diensten hinzufügen
Nachdem wir die entsprechenden Back-End-Dienste für jeden Anwendungscluster erstellt haben, müssen wir nun die zuvor erstellten verwalteten Instanzgruppen zu jedem Back-End-Dienst hinzufügen.
Fügen Sie die lokale MIG zum Back-End-Dienst hinzu.
Von 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.
Von 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
Zentrale MIG zum Back-End-Dienst hinzufügen.
Von 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
In der URL-Zuordnung befinden sich die erweiterten Traffic-Verwaltungsfunktionen für dieses Lab. Wir müssen eine .yaml-Datei erstellen, die die Konfiguration enthält. In der YAML-Datei haben wir eine Präfixübereinstimmung für /roundrobbin erstellt, sodass nur Traffic, der mit /roundrobbin übereinstimmt, von diesen Konfigurationen betroffen ist. Wir haben festgelegt, dass 50% des Traffics an den Dienst „east-backend-service“ und 50% an den Dienst „west-backend-service“ gehen sollen. Außerdem haben wir den Antwortheaderwert {test} hinzugefügt, der in allen Antworten vorhanden ist. Schließlich haben wir hinzugefügt, dass der gesamte Traffic an den zentralen Back-End-Dienst gespiegelt werden soll. Der Traffic wird dupliziert und nur zu Testzwecken an diese Stelle 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, mit der Sie das Dokument von Ihrem Computer importieren. Der Quellpfad unterscheidet sich je nachdem, wo Sie die .yaml-Datei speichern.
Von 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 besteht darin, das Front-End zu erstellen. Dadurch wird die zuvor reservierte IP-Adresse der von Ihnen erstellten URL-Zuordnung des Load-Balancers zugeordnet.
Von 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, die die zuvor reservierte IP-Adresse dem HTTP-Proxy zuordnet.
Von 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 überprüfen, ob die implementierte Funktion zur Traffic-Teilung 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, müssen Sie zuerst eine Firewallregel erstellen, die SSH-Traffic zur VM zulässt.
Von 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
Jetzt erstellen Sie die „siege-vm“, mit der Sie die Last generieren
Von 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 zu der von Ihnen erstellten VM herstellen. Klicken Sie danach auf SSH, um ein Terminal zu starten und eine Verbindung herzustellen.
Wenn die Verbindung hergestellt ist, führen Sie den folgenden Befehl aus, um die Last zu generieren. Verwenden Sie die IP-Adresse, die Sie zuvor für den externen HTTP-Load-Balancer reserviert haben.
Von 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
Jetzt, da die Siege ausgeführt wird, ist es an der Zeit zu prüfen, ob der Traffic gleichmäßig auf die von Osten und Westen verwalteten Instanzgruppen verteilt wird. Außerdem können Sie prüfen, ob die Trafficspiegelung funktioniert und der Traffic an die zentral 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. Wenn Sie zum Tab „Monitoring“ gehen, sehen Sie das Diagramm unten.
Sie können die Trafficaufteilung für diese verwaltete Instanzgruppe in Echtzeit sehen. Der Traffic wird gleichmäßig aufgeteilt, da Sie eine Aufteilung von 50:50 nach dem Round-Robbin-Prinzip konfiguriert haben.
Um zu überprüfen, ob die von Ihnen erstellte Richtlinie für die Trafficspiegelung funktioniert, müssen Sie die Auslastung der verwalteten Instanzgruppe des zentralen Back-End-Dienstes prüfen. Gehen Sie dazu zu Compute Engine, Compute Engine und Instanzgruppen und wählen Sie „us-central1-mig“ aus. Rufen Sie als Nächstes den Tab „Monitoring“ auf.
Die Diagramme werden dargestellt, die zeigen, dass Traffic in diese verwaltete Instanzgruppe gespiegelt wurde.
Halte die Belagerung an
Nachdem Sie nun gezeigt haben, dass die erweiterte Trafficaufteilung funktioniert, ist es an der Zeit, die Siege zu stoppen. Kehren Sie dazu zum SSH-Terminal von siege-vm zurück und drücken Sie Strg + C, um „siege“ zu beenden.
Senden des Antwortheaders validieren
Vor der Bereinigung können Sie schnell prüfen, ob der entsprechende Antwortheader vom HTTP-Load-Balancer gesendet wird. Sie haben ihn so konfiguriert, dass der Headertest mit dem Inhaltswert gesendet wird. Wenn Sie den Befehl „curl“ in Cloud Shell ausführen, erhalten Sie die erwartete Antwort.
Von 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
Da wir die Lab-Umgebung nun fertiggestellt haben, ist es an der Zeit, sie zu entfernen. Führen Sie die folgenden Befehle aus, um die Testumgebung zu löschen.
Von 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 zum externen HTTPS-Load-Balancer mit der erweiterten Traffic-Verwaltung (Envoy) abgeschlossen.
Behandelte Themen
- Verwaltete Instanzgruppe sowie die zugehörigen VPC- und Firewallregeln einrichten
- So verwenden Sie die erweiterten Traffic-Verwaltungsfeatures des neuen Load-Balancers
- So prüfen Sie, ob die Funktionen der erweiterten Trafficverwaltung wie vorgesehen funktionieren
Weiteres Vorgehen
- Probieren Sie einige der anderen erweiterten Routingfunktionen aus, z. B. URL-Umschreibung oder CORS-Header. Link