Ressourcen vom klassischen zu globalen externen Application Load Balancer migrieren

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

  1. 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.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  5. 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:

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

  1. Rufen Sie in der Google Cloud Console die Seite Instanzvorlagen auf.

    Zu Instanzvorlagen

  2. Klicken Sie auf Instanzvorlage erstellen.

  3. Geben Sie für Name lb-backend-template ein.

  4. Wählen Sie bei Region die Option REGION aus.

  5. 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.

  6. Klicken Sie auf Erweiterte Optionen.

  7. Klicken Sie auf Netzwerk und geben Sie im Feld Netzwerk-Tags den Wert allow-health-check ein.

  8. 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
    
  9. 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

  1. Rufen Sie in der Google Cloud Console die Seite Instanzgruppen auf.

    Zu den Instanzgruppen

  2. Klicken Sie auf Instanzgruppe erstellen.

  3. Wählen Sie Neue verwaltete Instanzgruppe (zustandslos) aus.

  4. Geben Sie für Name lb-backend-example ein.

  5. Wählen Sie für Instanzvorlage die Instanzvorlage lb-backend-template aus.

  6. Wählen Sie unter Ort die Option Einzelne Zone aus.

  7. Wählen Sie bei Region die Option REGION aus.

  8. Wählen Sie bei Zone die Option ZONE aus.

  9. 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.

  10. Klicken Sie im Abschnitt Portzuordnung auf Port hinzufügen.

  11. Geben Sie als Portname http ein. Geben Sie als Portnummer 80 ein.

  12. 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

  1. Rufen Sie in der Google Cloud Console die Seite Firewall-Richtlinien auf.

    Zu den Firewall-Richtlinien

  2. Klicken Sie auf Firewallregel erstellen.

  3. Geben Sie für Name fw-allow-health-check ein.

  4. Wählen Sie für Netzwerk die Option Standard aus.

  5. Wählen Sie unter Ziele die Option Angegebene Ziel-Tags aus.

  6. Geben Sie im Feld Zieltags allow-health-check ein.

  7. Legen Sie unter Quellfilter die Option IPv4-Bereiche fest.

  8. Legen Sie unter Quell-IPv4-Bereiche die Werte 130.211.0.0/22 und 35.191.0.0/16 fest.

  9. Wählen Sie im Bereich Protokolle und Ports Angegebene Protokolle und Ports aus.

  10. Klicken Sie das Kästchen TCP an und geben Sie 80 als Portnummer ein.

  11. 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

  1. Wechseln Sie in der Google Cloud Console zur Seite Cloud Storage-Buckets.

    Cloud Storage-Bucket aufrufen

  2. Klicken Sie auf Erstellen.

  3. Geben Sie im Feld Bucket benennen storage-backend-bucket ein und klicken Sie auf Weiter.

  4. Klicken Sie auf Speicherort für Daten auswählen.

  5. Legen Sie Standorttyp auf Region fest und geben Sie REGION an.

  6. Klicken Sie auf Erstellen.

  7. 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

  1. Klicken Sie auf Google Cloud Shell aktivieren.

  2. 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:

  1. Wechseln Sie in der Google Cloud Console zur Seite Cloud Storage-Buckets.

    Cloud Storage-Bucket aufrufen

  2. Klicken Sie auf den Namen von storage-backend-bucket und dann auf den Tab Berechtigungen.

  3. Klicken Sie auf Zugriff erlauben.

  4. Geben Sie im Feld Neue Hauptkonten den Wert allUsers ein.

  5. Wählen Sie im Feld Rolle auswählen die Option Cloud Storage > Storage-Objekt-Betrachter aus.

  6. Klicken Sie auf Speichern.

  7. 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

  1. Rufen Sie in der Google Cloud Console die Seite Externe IP-Adressen auf.

    Zu externen IP-Adressen

  2. Wenn Sie eine IPv4-Adresse reservieren möchten, klicken Sie auf Externe statische IP-Adresse reservieren.

  3. Geben Sie für Name lb-ipv4-1 ein.

  4. Setzen Sie die Netzwerkdienststufe auf Premium.

  5. Setzen Sie die IP-Version auf IPv4.

  6. Setzen Sie Typ auf Global.

  7. 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

  1. Rufen Sie in der Google Cloud Console die Seite Load-Balancing auf.

    Load-Balancing aufrufen

  2. Klicken Sie auf Load-Balancer erstellen.
  3. Wählen Sie unter Typ des Load Balancers die Option Application Load Balancer (HTTP/HTTPS) aus und klicken Sie auf Weiter.
  4. Wählen Sie für Öffentlich oder intern die Option Öffentlich (extern) aus und klicken Sie auf Weiter.
  5. Wählen Sie unter Globale oder Einzelregion-Bereitstellung die Option Am besten für globale Arbeitslasten aus und klicken Sie auf Weiter.
  6. Wählen Sie unter Generation des Load Balancers die Option Klassischer Application Load Balancer aus und klicken Sie auf Weiter.
  7. Klicken Sie auf Konfigurieren.

Grundlegende Konfiguration

  1. Geben Sie im Feld Name des Load Balancers web-map-http ein.
  2. 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
  3. Klicken Sie auf Backend-Konfiguration.
  4. Klicken Sie unter Back-End-Dienste und Back-End-Buckets auf Back-End-Dienst erstellen und gehen Sie dann so vor:
    1. Konfigurieren Sie die folgenden Felder:
      • Name: web-backend-service
      • Protokoll: HTTP
      • Benannter Port: http
    2. Konfigurieren Sie im Abschnitt Back-Ends > Neues Back-End die folgenden Felder und klicken Sie dann auf Fertig.
      • Instanzgruppe: lb-backend-example
      • Portnummern: 80
    3. 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
    4. Wählen Sie im Bereich Logging die Option Logging aktivieren aus.
    5. Klicken Sie auf Erstellen.
  5. Klicken Sie auf OK.
  6. 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
  7. Klicken Sie auf OK.
  8. Klicken Sie auf Host- und Pfadregeln.
  9. Geben Sie für cats den Wert * im Feld Host 2 und /never-fetch/* im Feld Pfad 2 ein.
  10. Klicken Sie auf Prüfen und abschließen.
  11. Prüfen Sie die Konfigurationseinstellungen des Load-Balancers.
  12. Klicken Sie auf Erstellen.

gcloud

  1. Erstellen Sie eine Systemdiagnose.

    gcloud compute health-checks create http http-basic-check \
        --port 80
    
  2. 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
    
  3. 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
    
  4. Fügen Sie einen Backend-Bucket hinzu.

    gcloud compute backend-buckets create cats \
        --gcs-bucket-name=storage-backend-bucket
    
  5. 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"
    
  6. 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
    
  7. 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

  1. Rufen Sie in der Google Cloud Console die Seite Load-Balancing auf.

    Load-Balancing aufrufen

  2. Klicken Sie auf web-map-http.

  3. Notieren Sie sich im Abschnitt Frontend den IP:Port des Load-Balancers.

  4. 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).

  5. 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:

  1. 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.
  2. Backend-Buckets migrieren Wenn Sie die Google Cloud -Konsole verwenden, werden alle Backend-Buckets zusammen mit der Weiterleitungsregel migriert.
  3. Migrieren Sie die Weiterleitungsregel.

Back-End-Dienst migrieren

Console

Backend-Dienst für die Migration vorbereiten

  1. Rufen Sie in der Google Cloud Console die Seite Load-Balancing auf.

    Load-Balancing aufrufen

  2. Klicken Sie auf web-map-http.

  3. Klicken Sie auf den Tab Migration.

  4. 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%
  5. Wählen Sie im Bereich Migration verwalten unter Statusänderung die Option Vorbereiten aus.

  6. 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

  1. Klicken Sie für web-backend-service auf Migration verwalten.
  2. Wählen Sie im Bereich Migration verwalten unter Statusänderung die Option Prozentual testen aus.
  3. 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.
  4. Klicken Sie auf Speichern.

    Warten Sie mindestens sechs Minuten, bis sich der Status in Testen durch % und die Migrationsrate in 10% ändert.

  5. 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 Meldung Page 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.

  6. 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

  1. Klicken Sie für web-backend-service auf Migration verwalten.
  2. 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.
  3. 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

  1. Klicken Sie für web-backend-service auf Migration verwalten.
  2. Wählen Sie im Bereich Migration verwalten unter Statusänderung die Option Migrieren aus.
  3. 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

  1. 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).

  2. 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.

  3. Greifen Sie auf den Load-Balancer zu.

    Geben Sie http://IP_ADDRESS in die Adressleiste des Webbrowsers ein. Wenn die Meldung Page 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.

  4. Optional: Prüfen Sie die Logs des Back-End-Dienstes.

  5. 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.

  6. Optional: Prüfen Sie die Logs des Back-End-Dienstes.

  7. Ä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.

  8. 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

  1. 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).

  2. 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.

  3. 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
    
  4. Optional: Prüfen Sie die Logs des Backend-Buckets.

  5. 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
    
  6. Optional: Prüfen Sie die Logs des Backend-Buckets.

Weiterleitungsregel migrieren

Console

Weiterleitungsregel für die Migration vorbereiten

  1. Rufen Sie in der Google Cloud Console die Seite Load-Balancing auf.

    Load-Balancing aufrufen

  2. Klicken Sie auf web-map-http.

  3. Klicken Sie auf den Tab Migration.

  4. 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%
  5. Wählen Sie im Bereich Migration verwalten unter Statusänderung die Option Vorbereiten aus.

  6. 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

  1. Klicken Sie für web-map-http-forwarding-rule auf Migration verwalten.
  2. Wählen Sie im Bereich Migration verwalten unter Statusänderung die Option Prozentual testen aus.
  3. 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.
  4. Klicken Sie auf Speichern.

    Warten Sie, bis sich der Status in Wird von %getestet und die Migrationsrate in 10% ändert.

  5. 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 Meldung Page 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.

  6. 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

  1. Klicken Sie für web-map-http-forwarding-rule auf Migration verwalten.
  2. 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.
  3. 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

  1. Klicken Sie für web-map-http-forwarding-rule auf Migration verwalten.
  2. Wählen Sie im Bereich Migration verwalten unter Statusänderung die Option Migrieren aus.
  3. 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

  1. Ä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.

  2. Optional: Prüfen Sie die Logs der Weiterleitungsregel. Das Load-Balancing-Schema ist EXTERNAL_MANAGED.

Nächste Schritte