Regionenübergreifenden internen Application Load Balancer mit Cloud Storage-Buckets einrichten

In diesem Dokument wird beschrieben, wie Sie einen regionenübergreifenden internen Application Load Balancer erstellen, um Anfragen für statische Inhalte an Cloud Storage-Buckets weiterzuleiten.

Hinweise

Richten Sie Ihr System so ein, dass die folgenden Voraussetzungen erfüllt sind.

Google Cloud CLI installieren

Einige der Anleitungen in diesem Leitfaden können nur mit der Google Cloud CLI ausgeführt werden. Eine Anleitung zur Installation finden Sie unter gcloud CLI installieren.

Befehle für das Load-Balancing finden Sie im Dokument Referenzen zur API und zur gcloud CLI.

Berechtigungen

Um dieser Anleitung zu folgen, müssen Sie Cloud Storage-Buckets und Netzwerkressourcen in Ihrem Projekt erstellen. Sie müssen entweder Inhaber oder Bearbeiter des Projekts sein oder die folgenden IAM-Rollen für Compute Engine haben:

Aufgabe Erforderliche Rolle
Netzwerke, Subnetze und Load-Balancer-Komponenten erstellen Rolle „Compute-Netzwerkadministrator“ (roles/compute.networkAdmin)
Firewallregeln setzen und löschen Rolle "Compute-Sicherheitsadministrator" (roles/compute.securityAdmin)
Cloud Storage-Buckets erstellen Rolle „Storage-Objekt-Administrator“ (roles/storage.objectAdmin)

Weitere Informationen finden Sie in folgenden Leitfäden:

SSL-Zertifikatsressource einrichten

Erstellen Sie für einen regionsübergreifenden internen Application Load Balancer, der HTTPS als Anfrage- und Antwortprotokoll verwendet, eine SSL-Zertifikatsressource mit Certificate Manager, wie in einem der folgenden Dokumente beschrieben:

Nachdem Sie das Zertifikat erstellt haben, können Sie es an den HTTPS-Zielproxy anhängen.

Wir empfehlen die Verwendung eines von Google verwalteten Zertifikats.

Beschränkungen

Die folgenden Einschränkungen gelten für Cloud Storage-Buckets, wenn sie als Back-Ends für einen regionenübergreifenden internen Application Load Balancer dienen:

  • Der Zugriff auf private Buckets wird nicht unterstützt. Der Backend-Bucket muss also öffentlich über das Internet zugänglich sein.

  • Signierte URLs werden nicht unterstützt.

  • Die Cloud CDN-Integration ist nicht verfügbar, wenn Sie Backend-Buckets für einen regionenübergreifenden internen Application Load Balancer erstellen.

  • Wenn Sie mit einem regionenübergreifenden internen Application Load Balancer auf Back-End-Buckets zugreifen, wird nur die HTTP-Methode GET unterstützt. Sie können Inhalte aus dem Bucket herunterladen, aber das Hochladen von Inhalten in den Bucket über den regionsübergreifenden internen Application Load Balancer ist nicht möglich.

Einrichtung: Übersicht

Sie können einen regionenübergreifenden internen Application Load Balancer in mehreren Regionen konfigurieren, wie im folgenden Diagramm dargestellt:

Ein regionenübergreifender interner Application Load Balancer sendet Traffic an ein Cloud Storage-Backend.
Traffic an Cloud Storage verteilen (zum Vergrößern klicken)

Wie im Architekturdiagramm dargestellt, wird in diesem Beispiel ein regionenübergreifender interner Application Load Balancer in einem VPC-Netzwerk (Virtual Private Cloud) mit zwei Backend-Buckets erstellt, wobei jeder Backend-Bucket auf einen Cloud Storage-Bucket verweist. Die Cloud Storage-Buckets befinden sich in der Region us-east1 und asia-east1.

Diese Bereitstellungsarchitektur bietet Hochverfügbarkeit. Wenn der regionenübergreifende interne Application Load Balancer in einer Region ausfällt, leiten die DNS-Routingrichtlinien den Traffic an einen regionenübergreifenden internen Application Load Balancer in einer anderen Region weiter.

Netzwerk und Subnetze konfigurieren

Konfigurieren Sie im VPC-Netzwerk ein Subnetz in jeder Region, in der die Weiterleitungsregel Ihrer Load Balancer konfiguriert werden soll. Konfigurieren Sie außerdem in jeder Region, in der Sie den Load Balancer konfigurieren möchten, ein proxy-only-subnet.

In diesem Beispiel werden das folgende VPC-Netzwerk, die folgende Region und die folgenden Subnetze verwendet:

  • Netzwerk. Das Netzwerk ist ein VPC-Netzwerk im benutzerdefinierten Modus mit dem Namen lb-network.

  • Subnetze für Load-Balancer Ein Subnetz mit dem Namen subnet-us in der Region us-east1 verwendet 10.1.2.0/24 für seinen primären IP-Bereich. Ein Subnetz mit dem Namen subnet-asia in der Region asia-east1 verwendet 10.1.3.0/24 für seinen primären IP-Bereich.

  • Subnetz für Envoy-Proxys. Ein Subnetz mit dem Namen proxy-only-subnet-us-east1 in der Region us-east1 verwendet 10.129.0.0/23 für seinen primären IP-Bereich. Ein Subnetz mit dem Namen proxy-only-subnet-asia-east1 in der Region asia-east1 verwendet 10.130.0.0/23 für seinen primären IP-Bereich.

Auf regionenübergreifende interne Application Load Balancer kann von jeder Region innerhalb der VPC aus zugegriffen werden. Daher können Clients aus jeder Region global auf Ihre Load-Balancer-Back-Ends zugreifen.

Subnetze für die Weiterleitungsregel des Load-Balancers konfigurieren

Console

  1. Rufen Sie in der Trusted Cloud -Console die Seite VPC-Netzwerke auf.

    Zur Seite VPC-Netzwerke

  2. Klicken Sie auf VPC-Netzwerk erstellen.

  3. Geben Sie für Name lb-network ein.

  4. Wählen Sie im Abschnitt Subnetze als Modus für die Subnetzerstellung Benutzerdefiniert aus.

  5. Geben Sie im Abschnitt Neues Subnetz die folgenden Informationen ein:

    • Name: subnet-us
    • Wählen Sie eine Region aus: us-east1
    • IP-Adressbereich: 10.1.2.0/24
  6. Klicken Sie auf Fertig.

  7. Klicken Sie auf Subnetz hinzufügen.

  8. Erstellen Sie ein weiteres Subnetz für die Weiterleitungsregel des Load-Balancers in einer anderen Region. Geben Sie im Bereich Neues Subnetz folgende Informationen ein:

    • Name: subnet-asia
    • Region: asia-east1
    • IP-Adressbereich: 10.1.3.0/24
  9. Klicken Sie auf Fertig.

  10. Klicken Sie auf Erstellen.

gcloud

  1. Erstellen Sie mit dem gcloud compute networks create-Befehl ein benutzerdefiniertes VPC-Netzwerk mit dem Namen lb-network.

    gcloud compute networks create lb-network --subnet-mode=custom
    
  2. Erstellen Sie mit dem Befehl gcloud compute networks subnets create ein Subnetz im VPC-Netzwerk lb-network in der Region us-east1.

    gcloud compute networks subnets create subnet-us \
        --network=lb-network \
        --range=10.1.2.0/24 \
        --region=us-east1
    
  3. Erstellen Sie mit dem Befehl gcloud compute networks subnets create ein Subnetz im VPC-Netzwerk lb-network in der Region asia-east1.

    gcloud compute networks subnets create subnet-asia \
        --network=lb-network \
        --range=10.1.3.0/24 \
        --region=asia-east1
    

Nur-Proxy-Subnetze konfigurieren

Ein Nur-Proxy-Subnetz stellt eine Reihe von IP-Adressen bereit, die Trusted Cloud by S3NS zum Ausführen von Envoy-Proxys in Ihrem Namen verwendet. Die Proxys beenden Verbindungen vom Client und erstellen neue Verbindungen zu den Back-Ends.

Dieses Nur-Proxy-Subnetz wird von allen Envoy-basierten regionalen Load-Balancern in derselben Region des VPC-Netzwerk verwendet. Pro Zweck, Region und Netzwerk kann jeweils nur ein Nur-Proxy-Subnetz aktiv sein. In diesem Beispiel erstellen wir zwei Nur-Proxy-Subnetze: eines in der Region us-east1 und das andere in der Region asia-east1.

Console

  1. Rufen Sie in der Trusted Cloud -Console die Seite VPC-Netzwerke auf.

    Zur Seite VPC-Netzwerke

  2. Klicken Sie auf den Namen des von Ihnen erstellten VPC-Netzwerk.

  3. Klicken Sie auf dem Tab Subnetz auf Subnetz hinzufügen.

  4. Geben Sie die folgenden Informationen ein:

    • Geben Sie für Name proxy-only-subnet-us ein.
    • Geben Sie bei Region den Wert us-east1 ein.
    • Wählen Sie als Zweck die Option Regionenübergreifender verwalteter Proxy aus.
    • Geben Sie 10.129.0.0/23 als IP-Adressbereich ein.
  5. Klicken Sie auf Hinzufügen.

  6. Erstellen Sie ein weiteres Nur-Proxy-Subnetz in der Region asia-east1. Klicken Sie auf dem Tab Subnetz auf Subnetz hinzufügen.

  7. Geben Sie die folgenden Informationen ein:

    • Geben Sie für Name proxy-only-subnet-asia ein.
    • Geben Sie bei Region den Wert asia-east1 ein.
    • Wählen Sie als Zweck die Option Regionenübergreifender verwalteter Proxy aus.
    • Geben Sie 10.130.0.0/23 als IP-Adressbereich ein.
  8. Klicken Sie auf Hinzufügen.

gcloud

  1. Erstellen Sie mit dem Befehl gcloud compute networks subnets create ein Nur-Proxy-Subnetz in der Region us-east1.

    gcloud compute networks subnets create proxy-only-subnet-us \
        --purpose=GLOBAL_MANAGED_PROXY \
        --role=ACTIVE \
        --region=us-east1 \
        --network=lb-network \
        --range=10.129.0.0/23
    
  2. Erstellen Sie mit dem Befehl gcloud compute networks subnets create ein Nur-Proxy-Subnetz in der Region asia-east1.

    gcloud compute networks subnets create proxy-only-subnet-asia \
        --purpose=GLOBAL_MANAGED_PROXY \
        --role=ACTIVE \
        --region=asia-east1 \
        --network=lb-network \
        --range=10.130.0.0/23
    

Firewallregel konfigurieren

In diesem Beispiel wird die folgende Firewallregel verwendet:

  • Eine Regel für eingehenden Traffic, die den SSH-Zugriff auf Port 22 für die Client-VM ermöglicht. In diesem Beispiel hat diese Firewallregel den Namen fw-allow-ssh.

Console

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

    Zu den Firewall-Richtlinien

  2. Klicken Sie auf Firewallregel erstellen, um die Regel zu erstellen, die eingehende SSH-Verbindungen auf der Client-VM zulässt:

    • Name: fw-allow-ssh
    • Netzwerk: lb-network
    • Trafficrichtung: Eingehend
    • Aktion bei Übereinstimmung: Zulassen
    • Ziele: Angegebene Ziel-Tags
    • Zieltags: allow-ssh
    • Quellfilter: IPv4-Bereiche.
    • IPv4-Quellbereiche: 0.0.0.0/0
    • Protokolle und Ports:
      • Wählen Sie Angegebene Protokolle und Ports aus.
      • Klicken Sie das Kästchen TCP an und geben Sie 22 als Portnummer ein.
  3. Klicken Sie auf Erstellen.

gcloud

  1. Erstellen Sie die Firewallregel fw-allow-ssh, um SSH-Verbindungen zu VMs mit dem Netzwerk-Tag allow-ssh zu ermöglichen. Wenn Sie --source-ranges weglassen,Trusted Cloud bezieht die Regel auf jede Quelle.

    gcloud compute firewall-rules create fw-allow-ssh \
        --network=lb-network \
        --action=allow \
        --direction=ingress \
        --target-tags=allow-ssh \
        --rules=tcp:22
    

Cloud Storage-Buckets konfigurieren

So konfigurieren Sie die Cloud Storage-Buckets:

  • Erstellen Sie die Buckets.
  • Kopieren Sie Inhalte in die Buckets.

Cloud Storage-Buckets erstellen

In diesem Beispiel erstellen Sie zwei Cloud Storage-Buckets, einen in der Region us-east1 und einen in der Region asia-east1. Für Produktionsbereitstellungen empfehlen wir die Auswahl eines multiregionalen Buckets, der Objekte automatisch in mehreren Trusted 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 Trusted Cloud Console unter „Cloud Storage“ zur Seite Buckets.

    Buckets aufrufen

  2. Klicken Sie auf Erstellen.

  3. Geben Sie im Feld Bucket benennen einen global eindeutigen Namen ein, der den Benennungsrichtlinien entspricht.

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

  5. Legen Sie Standorttyp auf Region fest.

  6. Wählen Sie in der Liste der Regionen us-east1 aus.

  7. Klicken Sie auf Erstellen.

  8. Klicken Sie auf Buckets, um zur Seite "Cloud Storage-Bucket" zurückzukehren. Folgen Sie dieser Anleitung, um einen zweiten Bucket zu erstellen. Legen Sie dabei den Standort jedoch auf asia-east1 fest.

gcloud

  1. Erstellen Sie den ersten Bucket in der Region us-east1 mit dem Befehl gcloud storage buckets create.

    gcloud storage buckets create gs://BUCKET1_NAME \
        --default-storage-class=standard \
        --location=us-east1 \
        --uniform-bucket-level-access
    
  2. Erstellen Sie den zweiten Bucket in der Region asia-east1 mit dem Befehl gcloud storage buckets create.

    gcloud storage buckets create gs://BUCKET2_NAME \
        --default-storage-class=standard \
        --location=asia-east1 \
        --uniform-bucket-level-access
    

Ersetzen Sie die Variablen BUCKET1_NAME und BUCKET2_NAME durch die Namen Ihrer Cloud Storage-Bucket.

Grafikdateien in Ihre Cloud Storage-Buckets kopieren

Wenn Sie die Einrichtung testen möchten, kopieren Sie eine Grafikdatei aus einem öffentlichen Cloud Storage-Bucket in Ihre eigenen Cloud Storage-Buckets.

Führen Sie in Cloud Shell die folgenden Befehle aus und ersetzen Sie die Variablen für die Bucket-Namen durch die Namen Ihrer Cloud Storage-Bucket:

gcloud storage cp gs://gcp-external-http-lb-with-bucket/three-cats.jpg gs://BUCKET1_NAME/never-fetch/
gcloud storage cp gs://gcp-external-http-lb-with-bucket/two-dogs.jpg gs://BUCKET2_NAME/love-to-fetch/

Cloud Storage-Buckets öffentlich lesbar machen

Wenn Sie alle Objekte in einem Bucket für alle Nutzer im öffentlichen Internet lesbar machen möchten, weisen Sie dem Hauptkonto allUsers die Rolle „Storage-Objekt-Betrachter“ (roles/storage.objectViewer) zu.

Console

Um allen Nutzern Zugriff auf Objekte in Ihren Buckets zu gewähren, wiederholen Sie das folgende Verfahren für jeden Bucket:

  1. Wechseln Sie in der Trusted Cloud Console unter „Cloud Storage“ zur Seite Buckets.

    Buckets aufrufen

  2. Klicken Sie in der Liste der Buckets auf den Namen des Buckets, den Sie veröffentlichen möchten.

  3. Wählen Sie oben auf der Seite den Tab Berechtigungen aus.

  4. Klicken Sie im Bereich Berechtigungen auf die Schaltfläche Zugriff erlauben. Das Dialogfeld Zugriff erlauben wird angezeigt.

  5. Geben Sie im Feld Neue Hauptkonten allUsers ein.

  6. Geben Sie im Feld Rolle auswählenStorage Object Viewer in das Filterfeld ein und wählen Sie Storage-Objekt-Betrachter aus den gefilterten Ergebnissen aus.

  7. Klicken Sie auf Speichern.

  8. Klicken Sie auf Öffentlichen Zugriff erlauben.

gcloud

Führen Sie den Befehl 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://BUCKET1_NAME --member=allUsers --role=roles/storage.objectViewer
gcloud storage buckets add-iam-policy-binding gs://BUCKET2_NAME --member=allUsers --role=roles/storage.objectViewer

Ersetzen Sie die Bucket-Namen-Variablen durch die eindeutigen Namen Ihrer Cloud Storage-Buckets.

Load-Balancer mit Back-End-Buckets konfigurieren

In diesem Abschnitt erfahren Sie, wie Sie die folgenden Ressourcen für einen regionenübergreifenden internen Application Load Balancer erstellen:

In diesem Beispiel können Sie HTTP oder HTTPS als Anfrage- und Antwortprotokoll zwischen dem Client und dem Load-Balancer verwenden. Zum Erstellen eines HTTPS-Load-Balancers müssen Sie dem Frontend des Load-Balancers eine SSL-Zertifikatsressource hinzufügen.

So erstellen Sie die oben genannten Load-Balancing-Komponenten mit der gcloud CLI:

  1. Erstellen Sie mit dem Befehl gcloud compute backend-buckets create zwei Back-End-Buckets, einen in der Region us-east1 und einen in der Region asia-east1. Die Back-End-Buckets haben das Load-Balancing-Schema INTERNAL_MANAGED.

    gcloud compute backend-buckets create backend-bucket-cats \
        --gcs-bucket-name=BUCKET1_NAME \
        --load-balancing-scheme=INTERNAL_MANAGED
    
    gcloud compute backend-buckets create backend-bucket-dogs \
        --gcs-bucket-name=BUCKET2_NAME \
        --load-balancing-scheme=INTERNAL_MANAGED
    
  2. Erstellen Sie eine URL-Zuordnung, um eingehende Anfragen mit dem gcloud compute url-maps create-Befehl an den Backend-Bucket weiterzuleiten.

    gcloud compute url-maps create lb-map \
        --default-backend-bucket=backend-bucket-cats \
        --global
    
  3. Konfigurieren Sie die Host- und Pfadregeln der URL-Zuordnung mit dem Befehl gcloud compute url-maps add-path-matcher.

    In diesem Beispiel ist der Standard-Backend-Bucket backend-bucket-cats, der alle darin enthaltenen Pfade verarbeitet. Anfragen, die auf http://FORWARDING_RULE_IP_ADDRESS/love-to-fetch/two-dogs.jpg ausgerichtet sind, verwenden jedoch das backend-bucket-dogs-Back-End. Wenn der Ordner /love-to-fetch/ beispielsweise auch in Ihrem Standard-Backend (backend-bucket-cats) vorhanden ist, priorisiert der Load-Balancer das Backend backend-bucket-dogs, da es eine bestimmte Pfadregel für /love-to-fetch/* gibt.

    gcloud compute url-maps add-path-matcher lb-map \
        --path-matcher-name=path-matcher-pets \
        --new-hosts=* \
        --backend-bucket-path-rules="/love-to-fetch/*=backend-bucket-dogs" \
        --default-backend-bucket=backend-bucket-cats
    
  4. Erstellen Sie einen Zielproxy mit dem Befehl gcloud compute target-http-proxies create.

    Erstellen Sie für HTTP-Traffic einen Ziel-HTTP-Proxy, um Anfragen an die URL-Zuordnung weiterzuleiten:

    gcloud compute target-http-proxies create http-proxy \
        --url-map=lb-map \
        --global
    

    Erstellen Sie für HTTPS-Traffic einen Ziel-HTTPS-Proxy, um Anfragen an die URL-Zuordnung weiterzuleiten. Der Proxy ist der Teil des Load-Balancers, der das SSL-Zertifikat für einen HTTPS-Load-Balancer enthält. Nachdem Sie das Zertifikat erstellt haben, können Sie es an den HTTPS-Zielproxy anhängen.

    gcloud compute target-https-proxies create https-proxy \
        --url-map=lb-map \
        --certificate-manager-certificates=CERTIFICATE_NAME \
        --global
    

    Ersetzen Sie CERTIFICATE_NAME durch den Namen des SSL-Zertifikats, das Sie mit Certificate Manager erstellt haben.

  5. Erstellen Sie zwei globale Weiterleitungsregeln, eine mit einer IP-Adresse in der Region us-east1 und eine andere mit einer IP-Adresse in der Region asia-east1 mit dem Befehl gcloud compute forwarding-rules create.

    Wenn Sie eine statische interne IP-Adresse für die Weiterleitungsregel Ihres Load-Balancers reservieren möchten, lesen Sie den Artikel Statische interne IP-Adresse reservieren. Das Reservieren einer IP-Adresse ist für eine HTTP-Weiterleitungsregel optional. Für eine HTTPS-Weiterleitungsregel müssen Sie jedoch eine IP-Adresse reservieren.

    In diesem Beispiel ist eine sitzungsspezifische IP-Adresse mit der HTTP-Weiterleitungsregel Ihres Load-Balancers verknüpft. Eine sitzungsspezifische IP-Adresse bleibt so lange unverändert, wie die Weiterleitungsregel vorhanden ist. Wenn Sie die Weiterleitungsregel löschen und neu erstellen müssen, erhält die Weiterleitungsregel möglicherweise eine neue IP-Adresse.

    Erstellen Sie für HTTP-Traffic die globalen Weiterleitungsregeln, um eingehende Anfragen an den HTTP-Zielproxy weiterzuleiten:

    gcloud compute forwarding-rules create http-fw-rule-1 \
        --load-balancing-scheme=INTERNAL_MANAGED \
        --network=lb-network \
        --subnet=subnet-us \
        --subnet-region=us-east1 \
        --ports=80 \
        --target-http-proxy=http-proxy \
        --global-target-http-proxy \
        --global
    
    gcloud compute forwarding-rules create http-fw-rule-2 \
        --load-balancing-scheme=INTERNAL_MANAGED \
        --network=lb-network \
        --subnet=subnet-asia \
        --subnet-region=asia-east1 \
        --ports=80 \
        --target-http-proxy=http-proxy \
        --global-target-http-proxy \
        --global
    

    Erstellen Sie für HTTPS-Traffic die globalen Weiterleitungsregeln, um eingehende Anfragen an den HTTPS-Zielproxy weiterzuleiten:

    gcloud compute forwarding-rules create https-fw-rule-1 \
        --load-balancing-scheme=INTERNAL_MANAGED \
        --network=lb-network \
        --subnet=subnet-us \
        --subnet-region=us-east1 \
        --address=RESERVED_IP_ADDRESS \
        --ports=443 \
        --target-https-proxy=https-proxy \
        --global-target-https-proxy \
        --global
    
    gcloud compute forwarding-rules create https-fw-rule-2 \
        --load-balancing-scheme=INTERNAL_MANAGED \
        --network=lb-network \
        --subnet=subnet-asia \
        --subnet-region=asia-east1 \
        --address=RESERVED_IP_ADDRESS \
        --ports=443 \
        --target-https-proxy=https-proxy \
        --global-target-https-proxy \
        --global
    

HTTP-Anfrage an den Load-Balancer senden

Senden Sie eine Anfrage von einer internen Client-VM an die Weiterleitungsregel des Load Balancers.

IP-Adresse der Weiterleitungsregel des Load-Balancers abrufen

  1. Rufen Sie die IP-Adresse der Weiterleitungsregel des Load-Balancers (http-fw-rule-1) ab, die sich in der Region us-east1 befindet.

    gcloud compute forwarding-rules describe http-fw-rule-1 \
        --global
    
  2. Rufen Sie die IP-Adresse der Weiterleitungsregel des Load-Balancers (http-fw-rule-2) ab, die sich in der Region asia-east1 befindet.

    gcloud compute forwarding-rules describe http-fw-rule-2 \
        --global
    

Client-VM zum Testen der Konnektivität erstellen

  1. Erstellen Sie eine Client-VM in der Region us-east1.

    gcloud compute instances create client-a \
        --image-family=debian-12 \
        --image-project=debian-cloud \
        --network=lb-network \
        --subnet=subnet-us \
        --zone=us-east1-c \
        --tags=allow-ssh
    
  2. Stellen Sie eine SSH-Verbindung zur Client-VM her.

    gcloud compute ssh client-a --zone=us-east1-c
    
  3. In diesem Beispiel hat der regionenübergreifende interne Application Load Balancer virtuelle Frontend-IP-Adressen (VIPs) sowohl in der Region us-east1 als auch in der Region asia-east1 im VPC-Netzwerk. Stellen Sie mit curl eine HTTP-Anfrage an die VIP in einer der beiden Regionen.

    curl http://FORWARDING_RULE_IP_ADDRESS/love-to-fetch/two-dogs.jpg --output two-dogs.jpg
    
    curl http://FORWARDING_RULE_IP_ADDRESS/never-fetch/three-cats.jpg --output three-cats.jpg
    

Hochverfügbarkeit testen

  1. Löschen Sie die Weiterleitungsregel (http-fw-rule-1) in der Region us-east1, um einen regionalen Ausfall zu simulieren, und prüfen Sie, ob der Client in der Region us-east weiterhin auf Daten aus dem Backend-Bucket zugreifen kann.

    gcloud compute forwarding-rules delete http-fw-rule-1 \
        --global
    
  2. Stellen Sie mit curl eine HTTP-Anfrage an die VIP der Weiterleitungsregel in einer der beiden Regionen.

    curl http://FORWARDING_RULE_IP_ADDRESS/love-to-fetch/two-dogs.jpg --output two-dogs.jpg
    
    curl http://FORWARDING_RULE_IP_ADDRESS/never-fetch/three-cats.jpg --output three-cats.jpg
    

    Wenn Sie eine HTTP-Anfrage an die VIP in der Region us-east1 senden, erkennen die DNS-Routingrichtlinien, dass diese VIP nicht antwortet, und geben die nächste optimale VIP an den Client zurück (in diesem Beispiel asia-east1). So bleibt Ihre Anwendung auch bei regionalen Ausfällen verfügbar.

Nächste Schritte