In diesem Dokument wird beschrieben, wie Sie Infrastrukturressourcen des klassischen Application Load Balancer zur Infrastruktur des globalen externen Application Load Balancer migrieren.
Hinweise
Richten Sie Ihr System so ein, dass die folgenden Voraussetzungen erfüllt sind.
Standardprojekt festlegen
Console
- 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.
gcloud
gcloud config set project PROJECT_ID
Ersetzen Sie PROJECT_ID
durch das Projekt, das Sie für diesen Leitfaden verwenden.
Berechtigungen
Um dieser Anleitung zu folgen, benötigen Sie die Berechtigung zum Erstellen von Compute Engine-VM-Instanzen, Firewallregeln, reservierten IP-Adressen und Cloud Storage-Buckets in einem Google Cloud -Projekt. Sie müssen entweder Inhaber oder Bearbeiter des Projekts sein oder die folgenden IAM-Rollen für Compute Engine haben:
Aufgabe | Erforderliche Rolle |
---|---|
Instanzen erstellen | Rolle „Compute-Instanzadministrator“ (roles/compute.instanceAdmin )
|
Firewallregeln setzen und löschen | Rolle "Compute-Sicherheitsadministrator" (roles/compute.securityAdmin )
|
Load-Balancer-Komponenten erstellen | Rolle „Compute-Netzwerkadministrator“ (roles/compute.networkAdmin )
|
Projekt erstellen (optional) | Rolle „Projektersteller“ (roles/resourcemanager.projectCreator )
|
Cloud Storage-Buckets erstellen | Rolle „Storage-Objekt-Administrator“ (roles/storage.objectAdmin )
|
Weitere Informationen finden Sie in folgenden Leitfäden:
- Zugriffssteuerung für Cloud Load Balancing mit IAM verwalten
- IAM-Bedingungen für Weiterleitungsregeln
Ressourcen für klassische Application Load Balancer erstellen
In diesem Dokument erstellen Sie die folgenden Ressourcen für den klassischen Application Load Balancer und migrieren sie dann zur Infrastruktur des globalen externen Application Load Balancer.
- Eine verwaltete Instanzgruppe mit VMs.
- Ein Cloud Storage-Bucket.
- Ein klassischer HTTP-Application Load Balancer mit der verwalteten Instanzgruppe und dem Cloud Storage-Bucket als Backends.
Erstellen Sie eine verwaltete Instanzgruppe.
In diesem Abschnitt wird beschrieben, wie Sie eine verwaltete Instanzgruppe mit Linux-VMs erstellen, auf denen Apache ausgeführt wird. Eine verwaltete Instanzgruppe erstellt jede ihrer verwalteten Instanzen anhand der von Ihnen angegebenen Instanzvorlagen.
Instanzvorlage erstellen
Console
Rufen Sie in der Google Cloud Console die Seite Instanzvorlagen auf.
Klicken Sie auf Instanzvorlage erstellen.
Geben Sie für Name
lb-backend-template
ein.Wählen Sie bei Region die Option
REGION
aus.Achten Sie im Abschnitt Bootlaufwerk darauf, dass das Image des Bootlaufwerks auf ein Debian-Image wie Debian GNU/Linux 12 (Bookworm) festgelegt ist. Diese Anleitungen verwenden Befehle, die nur für Debian verfügbar sind, z. B.
apt-get
.Klicken Sie auf Erweiterte Optionen.
Klicken Sie auf Netzwerk und geben Sie im Feld Netzwerk-Tags den Wert
allow-health-check
ein.Klicken Sie auf Verwaltung und geben Sie das folgende Skript in das Feld Startskript ein.
#! /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.
gcloud
Führen Sie den gcloud compute instance-templates create
-Befehl aus, um die Vorlage zu erstellen.
gcloud compute instance-templates create lb-backend-template \ --region=REGION \ --network=default \ --subnet=default \ --tags=allow-health-check \ --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://metadata.google.internal/computeMetadata/v1/instance/name)" echo "Page served from: $vm_hostname" | \ tee /var/www/html/index.html systemctl restart apache2'
Verwaltete Instanzgruppe erstellen
Console
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
lb-backend-example
ein.Wählen Sie für Instanzvorlage die Instanzvorlage
lb-backend-template
aus.Wählen Sie unter Ort die Option Einzelne Zone aus.
Wählen Sie bei Region die Option
REGION
aus.Wählen Sie bei Zone die Option
ZONE
aus.Wählen Sie für den Autoscaling-Modus die Option Ein: der Gruppe Instanzen hinzufügen und aus ihr entfernen aus.
Setzen Sie die Mindestanzahl an Instanzen und die maximale Anzahl von Instanzen auf
2
.Klicken Sie im Abschnitt Portzuordnung auf Port hinzufügen.
Geben Sie als Portname
http
ein. Geben Sie als Portnummer80
ein.Klicken Sie auf Erstellen.
gcloud
Führen Sie den Befehl gcloud compute instance-groups managed create
aus, um die verwaltete Instanzgruppe anhand der Vorlage zu erstellen.
gcloud compute instance-groups managed create lb-backend-example \ --template=lb-backend-template \ --size=2 --zone=ZONE
Führen Sie den folgenden Befehl aus, um der Instanzgruppe einen benannten Port hinzuzufügen:
gcloud compute instance-groups set-named-ports lb-backend-example \ --named-ports http:80 \ --zone ZONE
Firewallregel konfigurieren
In diesem Abschnitt erstellen Sie die Firewallregel fw-allow-health-check
und verwenden das Ziel-Tag allow-health-check
, um die VMs zu identifizieren. Dies ist eine Ingress-Regel, die Traffic von den Google Cloud Systemdiagnosen130.211.0.0/22
und 35.191.0.0/16
zulässt.
Console
Rufen Sie in der Google Cloud Console die Seite Firewall-Richtlinien auf.
Klicken Sie auf Firewallregel erstellen.
Geben Sie für Name
fw-allow-health-check
ein.Wählen Sie für Netzwerk die Option Standard aus.
Wählen Sie unter Ziele die Option Angegebene Ziel-Tags aus.
Geben Sie im Feld Zieltags
allow-health-check
ein.Legen Sie unter Quellfilter die Option IPv4-Bereiche fest.
Legen Sie unter Quell-IPv4-Bereiche die Werte
130.211.0.0/22
und35.191.0.0/16
fest.Wählen Sie im Bereich Protokolle und Ports Angegebene Protokolle und Ports aus.
Klicken Sie das Kästchen TCP an und geben Sie
80
als Portnummer ein.Klicken Sie auf Erstellen.
gcloud
Führen Sie den gcloud compute firewall-rules create
-Befehl aus, um die Firewallregel zu erstellen.
gcloud compute firewall-rules create fw-allow-health-check \ --network=default \ --action=allow \ --direction=ingress \ --source-ranges=130.211.0.0/22,35.191.0.0/16 \ --target-tags=allow-health-check \ --rules=tcp:80
Cloud Storage-Bucket erstellen
In diesem Abschnitt erstellen Sie einen Cloud Storage-Bucket für den Zugriff durch den Load-Balancer. Für Produktionsbereitstellungen empfehlen wir die Auswahl eines multiregionalen Buckets, der Objekte automatisch in mehreren Google Cloud -Regionen repliziert. Dies kann die Verfügbarkeit Ihrer Inhalte verbessern und die Fehlertoleranz in Ihrer gesamten Anwendung verbessern.
Console
Wechseln Sie in der Google Cloud Console zur Seite Cloud Storage-Buckets.
Klicken Sie auf Erstellen.
Geben Sie im Feld Bucket benennen
storage-backend-bucket
ein und klicken Sie auf Weiter.Klicken Sie auf Speicherort für Daten auswählen.
Legen Sie Standorttyp auf Region fest und geben Sie
REGION
an.Klicken Sie auf Erstellen.
Optional: Wenn das Dialogfeld „Der öffentliche Zugriff wird verhindert“ angezeigt wird, deaktivieren Sie das Kästchen Verhinderung des öffentlichen Zugriffs für diesen Bucket erzwingen und klicken Sie auf Bestätigen.
gcloud
Führen Sie den gcloud storage buckets create
-Befehl aus, um den Bucket zu erstellen:
gcloud storage buckets create gs://storage-backend-bucket \ --default-storage-class=standard \ --location=REGION --uniform-bucket-level-access
Inhalte in Cloud Storage-Buckets übertragen
Wenn Sie den Bucket nach dem Erstellen des Load Balancers testen möchten, kopieren Sie die folgende Bilddatei aus einem öffentlichen Cloud Storage-Bucket in Ihren eigenen Cloud Storage-Bucket.
gcloud
Klicken Sie auf
Google Cloud Shell aktivieren.Führen Sie die folgenden Befehle in Cloud Shell aus:
gcloud storage cp gs://gcp-external-http-lb-with-bucket/three-cats.jpg gs://storage-backend-bucket/never-fetch/
Klicken Sie in der Google Cloud Console auf der Detailseite des Buckets auf Aktualisieren, um zu prüfen, ob die Datei erfolgreich kopiert wurde.
Ihren Cloud Storage-Bucket öffentlich lesbar machen
Wenn Sie einen Cloud Storage-Bucket öffentlich lesbar machen, kann jeder im Internet die zugehörigen Objekte auflisten und ansehen sowie die zugehörigen Metadaten (mit Ausnahme von ACLs) aufrufen. Nehmen Sie keine vertraulichen Informationen in Ihre öffentlichen Buckets auf.
Speichern Sie keine öffentlichen Objekte und sensiblen Daten im selben Bucket, um die Wahrscheinlichkeit einer versehentlichen Veröffentlichung vertraulicher Informationen zu verringern.
Console
So gewähren Sie allen Nutzern Zugriff auf Objekte in Ihren Buckets:
Wechseln Sie in der Google Cloud Console zur Seite Cloud Storage-Buckets.
Klicken Sie auf den Namen von
storage-backend-bucket
und dann auf den Tab Berechtigungen.Klicken Sie auf Zugriff erlauben.
Geben Sie im Feld Neue Hauptkonten den Wert
allUsers
ein.Wählen Sie im Feld Rolle auswählen die Option Cloud Storage > Storage-Objekt-Betrachter aus.
Klicken Sie auf Speichern.
Klicken Sie auf Öffentlichen Zugriff erlauben.
gcloud
Führen Sie den Befehl gcloud storage buckets add-iam-policy-binding
aus, um allen Nutzern Zugriff auf Objekte in Ihren Buckets zu gewähren:
gcloud storage buckets add-iam-policy-binding gs://storage-backend-bucket \ --member=allUsers \ --role=roles/storage.objectViewer
Externe IP-Adresse reservieren
Nachdem die Instanzen nun ausgeführt werden, richten Sie eine globale statische externe IP-Adresse ein, über die Ihre Kunden den Load-Balancer erreichen können.
Console
Rufen Sie in der Google Cloud Console die Seite Externe IP-Adressen auf.
Wenn Sie eine IPv4-Adresse reservieren möchten, 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
Führen Sie den folgenden Befehl aus, um eine externe IP-Adresse zu reservieren:
gcloud compute addresses create lb-ipv4-1 \ --ip-version=IPV4 \ --network-tier=PREMIUM \ --global
Führen Sie den folgenden Befehl aus, um die reservierte IPv4-Adresse zu ermitteln:
gcloud compute addresses describe lb-ipv4-1 \ --format="get(address)" \ --global
Klassischen Application Load Balancer einrichten
In diesem Abschnitt verwenden Sie HTTP (Frontend) zwischen dem Client und dem Load Balancer.
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 Klassischer Application Load Balancer aus und klicken Sie auf Weiter.
- Klicken Sie auf Konfigurieren.
Grundlegende Konfiguration
- Geben Sie im Feld Name des Load Balancers
web-map-http
ein. - Klicken Sie auf Frontend-Konfiguration, konfigurieren Sie die folgenden Felder und klicken Sie dann auf Fertig.
- Protokoll: HTTP.
- IP-Version: IPv4.
- IP-Adresse:
lb-ipv4-1
- Port:
443
- Klicken Sie auf Backend-Konfiguration.
- Klicken Sie unter Back-End-Dienste und Back-End-Buckets auf Back-End-Dienst erstellen und gehen Sie dann so vor:
- Konfigurieren Sie die folgenden Felder:
- Name:
web-backend-service
- Protokoll: HTTP
- Benannter Port: http
- Name:
- Konfigurieren Sie im Abschnitt Back-Ends > Neues Back-End die folgenden Felder und klicken Sie dann auf Fertig.
- Instanzgruppe: lb-backend-example
- Portnummern:
80
- Klicken Sie unter Systemdiagnose auf Systemdiagnose erstellen, geben Sie die folgenden Felder an und klicken Sie dann auf Speichern.
- Name:
http-basic-check
- Protokoll: HTTP
- Name:
- Wählen Sie im Bereich Logging die Option Logging aktivieren aus.
- Klicken Sie auf Erstellen.
- Konfigurieren Sie die folgenden Felder:
- Klicken Sie auf OK.
- Klicken Sie unter Back-End-Dienste und Back-End-Buckets auf Back-End-Bucket erstellen, konfigurieren Sie die folgenden Felder und klicken Sie dann auf Erstellen.
- Name des Back-End-Buckets:
cats
- Cloud Storage-Bucket:
storage-backend-bucket
- Name des Back-End-Buckets:
- Klicken Sie auf OK.
- Klicken Sie auf Host- und Pfadregeln.
- Geben Sie für
cats
den Wert*
im Feld Host 2 und/never-fetch/*
im Feld Pfad 2 ein. - Klicken Sie auf Prüfen und abschließen.
- Prüfen Sie die Konfigurationseinstellungen des Load-Balancers.
- Klicken Sie auf Erstellen.
gcloud
Erstellen Sie eine Systemdiagnose.
gcloud compute health-checks create http http-basic-check \ --port 80
Erstellen Sie einen Backend-Dienst.
gcloud compute backend-services create web-backend-service \ --load-balancing-scheme=EXTERNAL \ --protocol=HTTP \ --port-name=http \ --health-checks=http-basic-check \ --enable-logging \ --logging-sample-rate=1.0 \ --enable-cdn \ --global
Fügen Sie Ihre Instanzgruppe als Backend zum Backend-Dienst hinzu:
gcloud compute backend-services add-backend web-backend-service \ --instance-group=lb-backend-example \ --instance-group-zone=ZONE \ --global
Fügen Sie einen Backend-Bucket hinzu.
gcloud compute backend-buckets create cats \ --gcs-bucket-name=storage-backend-bucket
Erstellen Sie eine URL-Zuordnung, um die eingehenden Anfragen an den Backend-Dienst und den Backend-Bucket weiterzuleiten.
gcloud compute url-maps create web-map-http \ --default-service web-backend-service
gcloud compute url-maps add-path-matcher web-map-http \ --path-matcher-name=cats-path-matcher \ --default-backend-bucket=cats \ --new-hosts="*" \ --backend-bucket-path-rules="/never-fetch/*=cats"
Erstellen Sie einen HTTP-Zielproxy, um Anfragen an URL-Zuordnungen weiterzuleiten.
gcloud compute target-http-proxies create http-lb-proxy \ --url-map=web-map-http
Erstellen Sie eine globale Weiterleitungsregel, um eingehende Anfragen an den Proxy weiterzuleiten.
gcloud compute forwarding-rules create web-map-http-forwarding-rule \ --load-balancing-scheme=EXTERNAL \ --address=lb-ipv4-1 \ --global \ --target-http-proxy=http-lb-proxy \ --ports=80
An Ihre Instanzen gesendeten Traffic testen
Da der Load-Balancing-Dienst nun 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
web-map-http
.Notieren Sie sich im Abschnitt Frontend den IP:Port des Load-Balancers.
Geben Sie zum Testen der Backend-Instanz
http://IP_ADDRESS
in die Adressleiste des Webbrowsers ein.Ihr Browser rendert eine Seite mit Inhalt, der den Namen der Instanz, die die Seite bereitstellt, und deren Zone enthält (z. B.
Page served from: lb-backend-example-xxxx
).Geben Sie zum Testen des Backend-Buckets
http://IP_ADDRESS/never-fetch/three-cats.jpg
in die Adressleiste des Webbrowsers ein.Ihr Browser rendert das Bild.
Ressourcen des klassischen Application Load Balancer migrieren
In diesem Abschnitt führen Sie die folgenden Schritte aus, um den Load Balancer zur Infrastruktur des globalen externen Application Load Balancers zu migrieren:
- Migrieren Sie die Back-End-Dienste. Sie müssen alle mit einer Weiterleitungsregel verknüpften Backend-Dienste migrieren, bevor Sie die Weiterleitungsregel migrieren können.
- Backend-Buckets migrieren Wenn Sie die Google Cloud -Konsole verwenden, werden alle Backend-Buckets zusammen mit der Weiterleitungsregel migriert.
- Migrieren Sie die Weiterleitungsregel.
Back-End-Dienst migrieren
Console
Backend-Dienst für die Migration vorbereiten
Rufen Sie in der Google Cloud Console die Seite Load-Balancing auf.
Klicken Sie auf
web-map-http
.Klicken Sie auf den Tab Migration.
Prüfen Sie im Abschnitt Back-End-Dienste für
web-backend-service
die folgenden Felder und klicken Sie dann auf Migration verwalten.- Status: Nicht gestartet
- Schemaaktivität: EXTERNAL: 100 %, EXTERNAL_MANAGED:0%
Wählen Sie im Bereich Migration verwalten unter Statusänderung die Option Vorbereiten aus.
Klicken Sie auf Speichern.
Warten Sie mindestens sechs Minuten, bevor Sie fortfahren. Der Status ändert sich in Für Test vorbereitet.
Prozentsatz des Traffics an die Infrastruktur des globalen externen Application Load Balancers senden
- Klicken Sie für
web-backend-service
auf Migration verwalten. - Wählen Sie im Bereich Migration verwalten unter Statusänderung die Option Prozentual testen aus.
- Geben Sie für Prozentsatz für Tests
10
ein. Das bedeutet, dass 10 % der Anfragen zum Testen an die Infrastruktur des globalen externen Application Load Balancers gesendet werden und die restlichen 90 % der Anfragen weiterhin an die Infrastruktur des klassischen Application Load Balancers gehen. Klicken Sie auf Speichern.
Warten Sie mindestens sechs Minuten, bis sich der Status in Testen durch % und die Migrationsrate in 10% ändert.
Testen Sie den Load-Balancer, um zu prüfen, ob Anfragen wie erwartet verarbeitet werden.
Geben Sie
http://IP_ADDRESS
in die Adressleiste des Webbrowsers ein. Es sollte die MeldungPage served from: lb-backend-example-xxxx
angezeigt werden.Sie können die Messwerte des Load-Balancers prüfen, um zu sehen, ob die Gesamtzahl der Anfragen mit der konfigurierten Migrationsrate übereinstimmt.
Sie können diese Schritte wiederholen, um den Prozentsatz des Traffics, der an die Infrastruktur des globalen externen Application Load Balancers gesendet wird, schrittweise zu erhöhen, bis Sie sicher sind, dass der Load Balancer wie erwartet funktioniert.
Gesamten Traffic an die Infrastruktur des globalen externen Application Load Balancers senden
- Klicken Sie für
web-backend-service
auf Migration verwalten. - Wählen Sie im Bereich Migration verwalten unter Statusänderung die Option Gesamten Traffic testen aus. Das bedeutet, dass alle Anfragen an die Infrastruktur des globalen externen Application Load Balancer gesendet werden.
Klicken Sie auf Speichern.
Der Status ändert sich in Alle Zugriffe werden getestet und die Migrationsrate in 100%. Warte mindestens sechs Minuten, bevor du mit dem nächsten Schritt fortfährst.
Zum EXTERNAL_MANAGED
-Load-Balancing-Schema migrieren
- Klicken Sie für
web-backend-service
auf Migration verwalten. - Wählen Sie im Bereich Migration verwalten unter Statusänderung die Option Migrieren aus.
Klicken Sie auf Speichern.
Warten Sie mindestens sechs Minuten, bis die Ressource migriert wurde. Die Spalte Status ändert sich in Migriert und Schemaaktivität in EXTERN: 0% EXTERNAL_MANAGED:100%.
Sie müssen jeden Backend-Dienst, der einer Weiterleitungsregel zugeordnet ist, migrieren, bevor Sie die Weiterleitungsregel migrieren können. Wiederholen Sie diese Schritte nach Bedarf.
gcloud
Bereiten Sie den Backend-Dienst für die Migration vor.
gcloud compute backend-services update web-backend-service \ --external-managed-migration-state=PREPARE \ --global
Warten Sie einige Zeit (mindestens sechs Minuten).
Senden Sie einen Teil des Traffics, z. B. 10%, an den Back-End-Dienst.
gcloud compute backend-services update web-backend-service \ --external-managed-migration-state=TEST_BY_PERCENTAGE \ --external-managed-migration-testing-percentage=10 \ --global
Warten Sie einige Zeit (mindestens sechs Minuten).
Sobald die Ressource bereit ist, werden 10% der Anfragen an die Infrastruktur des globalen externen Application Load Balancers und 90% der Anfragen an die Infrastruktur des klassischen Application Load Balancers gesendet.
Greifen Sie auf den Load-Balancer zu.
Geben Sie
http://IP_ADDRESS
in die Adressleiste des Webbrowsers ein. Wenn die MeldungPage served from: lb-backend-example-xxxx
angezeigt wird, führen Sie den folgenden Befehl aus, um den Prozentsatz zu erhöhen.gcloud compute backend-services update web-backend-service \ --external-managed-migration-state=TEST_BY_PERCENTAGE \ --external-managed-migration-testing-percentage=50 \ --global
Sie können die Messwerte des Load-Balancers prüfen, um zu sehen, ob die Gesamtzahl der Anfragen mit der konfigurierten Migrationsrate übereinstimmt.
Wiederholen Sie den Vorgang, bis Sie 100 % erreicht haben.
Optional: Prüfen Sie die Logs des Back-End-Dienstes.
Führen Sie den Test durch und senden Sie den gesamten Traffic an den Back-End-Dienst.
gcloud compute backend-services update web-backend-service \ --external-managed-migration-state=TEST_ALL_TRAFFIC \ --global
Warten Sie mindestens sechs Minuten, bevor Sie mit dem nächsten Schritt fortfahren.
Optional: Prüfen Sie die Logs des Back-End-Dienstes.
Ändern Sie das Schema des Back-End-Dienstes zu
EXTERNAL_MANAGED
.gcloud compute backend-services update web-backend-service \ --load-balancing-scheme=EXTERNAL_MANAGED \ --global
Warten Sie einige Zeit (mindestens sechs Minuten), bis der Backend-Dienst vollständig zur Infrastruktur des globalen externen Application Load Balancers migriert wurde.
Optional: Prüfen Sie die Logs des Back-End-Dienstes. Das Load-Balancing-Schema ist
EXTERNAL_MANAGED
.
Sie müssen jeden Backend-Dienst, der einer Weiterleitungsregel zugeordnet ist, migrieren, bevor Sie die Weiterleitungsregel migrieren können. Wiederholen Sie diese Schritte nach Bedarf.
Backend-Bucket migrieren
Console
Sie können die Google Cloud Console nicht verwenden, um Backend-Buckets zu migrieren, da sie zusammen mit Weiterleitungsregeln migriert werden. Wenn Sie Backend-Buckets einzeln migrieren möchten, verwenden Sie die Google Cloud CLI.
gcloud
Bereiten Sie den Backend-Bucket für die Migration vor.
gcloud compute forwarding-rules update web-map-http-forwarding-rule \ --external-managed-backend-bucket-migration-state=PREPARE \ --global
Warten Sie einige Zeit (mindestens sechs Minuten).
Senden Sie einen Teil des Traffics, z. B. 10%, an den Backend-Bucket.
gcloud compute forwarding-rules update web-map-http-forwarding-rule \ --external-managed-backend-bucket-migration-state=TEST_BY_PERCENTAGE \ --external-managed-backend-bucket-migration-testing-percentage=10 \ --global
Warten Sie einige Zeit (mindestens sechs Minuten).
Sobald die Ressource bereit ist, werden 10% der Anfragen an die Infrastruktur des globalen externen Application Load Balancers und 90% der Anfragen an die Infrastruktur des klassischen Application Load Balancers gesendet.
Greifen Sie auf den Backend-Bucket zu.
Geben Sie
http://IP_ADDRESS/never-fetch/three-cats.jpg
in die Adressleiste des Webbrowsers ein. Wenn Sie das Bild von Katzen sehen, führen Sie den folgenden Befehl aus, um den Prozentsatz zu erhöhen. Wiederholen Sie den Vorgang, bis Sie 100 % erreicht haben.gcloud compute forwarding-rules update web-map-http-forwarding-rule \ --external-managed-backend-bucket-migration-state=TEST_BY_PERCENTAGE \ --external-managed-backend-bucket-migration-testing-percentage=50 \ --global
Optional: Prüfen Sie die Logs des Backend-Buckets.
Führen Sie den Test durch und senden Sie den gesamten Traffic an den Backend-Bucket.
gcloud compute forwarding-rules update web-map-http-forwarding-rule \ --external-managed-backend-bucket-migration-state=TEST_ALL_TRAFFIC \ --global
Optional: Prüfen Sie die Logs des Backend-Buckets.
Weiterleitungsregel migrieren
Console
Weiterleitungsregel für die Migration vorbereiten
Rufen Sie in der Google Cloud Console die Seite Load-Balancing auf.
Klicken Sie auf
web-map-http
.Klicken Sie auf den Tab Migration.
Prüfen Sie im Bereich Weiterleitungsregeln für
web-map-http-forwarding-rule
die folgenden Felder und klicken Sie dann auf Migration verwalten.- Status: Nicht gestartet
- Schemaaktivität: EXTERNAL: 100 %, EXTERNAL_MANAGED:0%
Wählen Sie im Bereich Migration verwalten unter Statusänderung die Option Vorbereiten aus.
Klicken Sie auf Speichern.
Warten Sie mindestens sechs Minuten, bevor Sie fortfahren. Der Status ändert sich in Für Test vorbereitet.
Prozentsatz des Traffics an die Infrastruktur des globalen externen Application Load Balancers senden
- Klicken Sie für
web-map-http-forwarding-rule
auf Migration verwalten. - Wählen Sie im Bereich Migration verwalten unter Statusänderung die Option Prozentual testen aus.
- Geben Sie für Prozentsatz für Tests
10
ein. Das bedeutet, dass 10 % der Anfragen zum Testen an die Infrastruktur des globalen externen Application Load Balancers gesendet werden und die restlichen 90 % der Anfragen weiterhin an die Infrastruktur des klassischen Application Load Balancers gehen. Klicken Sie auf Speichern.
Warten Sie, bis sich der Status in Wird von %getestet und die Migrationsrate in 10% ändert.
Testen Sie den Load-Balancer, um zu prüfen, ob Anfragen wie erwartet verarbeitet werden.
Geben Sie
http://IP_ADDRESS
in die Adressleiste des Webbrowsers ein. Es sollte die MeldungPage served from: lb-backend-example-xxxx
angezeigt werden.Sie können die Messwerte des Load-Balancers prüfen, um zu sehen, ob die Gesamtzahl der Anfragen mit der konfigurierten Migrationsrate übereinstimmt.
Sie können diese Schritte wiederholen, um den Prozentsatz des Traffics, der an die Infrastruktur des globalen externen Application Load Balancers gesendet wird, schrittweise zu erhöhen, bis Sie sicher sind, dass der Load Balancer wie erwartet funktioniert.
Gesamten Traffic an die Infrastruktur des globalen externen Application Load Balancers senden
- Klicken Sie für
web-map-http-forwarding-rule
auf Migration verwalten. - Wählen Sie im Bereich Migration verwalten unter Statusänderung die Option Gesamten Traffic testen aus. Das bedeutet, dass alle Anfragen an die Infrastruktur des globalen externen Application Load Balancer gesendet werden.
Klicken Sie auf Speichern.
Der Status ändert sich in Alle Zugriffe werden getestet und die Migrationsrate in 100%. Warte mindestens sechs Minuten, bevor du mit dem nächsten Schritt fortfährst.
Zum EXTERNAL_MANAGED
-Load-Balancing-Schema migrieren
- Klicken Sie für
web-map-http-forwarding-rule
auf Migration verwalten. - Wählen Sie im Bereich Migration verwalten unter Statusänderung die Option Migrieren aus.
Klicken Sie auf Speichern.
Warten Sie mindestens sechs Minuten, bis die Ressource migriert wurde. Die Spalte Status ändert sich in Migriert und Schemaaktivität in EXTERN: 0% EXTERNAL_MANAGED:100%.
gcloud
Ändern Sie das Schema der Weiterleitungsregel in
EXTERNAL_MANAGED
.gcloud compute forwarding-rules update web-map-http-forwarding-rule \ --load-balancing-scheme=EXTERNAL_MANAGED \ --global
Warten Sie einige Zeit (mindestens sechs Minuten), bis die Weiterleitungsregel vollständig zur Infrastruktur des globalen externen Application Load Balancers migriert wurde.
Optional: Prüfen Sie die Logs der Weiterleitungsregel. Das Load-Balancing-Schema ist
EXTERNAL_MANAGED
.