Regionalen internen Application Load Balancer mit Cloud Storage-Buckets in einer freigegebene VPC-Umgebung einrichten

Dieses Dokument zeigt zwei Beispielkonfigurationen zum Einrichten einesregional internal Application Load Balancer in einer Umgebung mit freigegebene VPC mit Cloud Storage-Buckets:

  • Im ersten Beispiel werden alle Load-Balancer-Komponenten und Back-Ends im Dienstprojekt erstellt.
  • Im zweiten Beispiel werden die Frontend-Komponenten und die URL-Zuordnung des Load-Balancers in einem Dienstprojekt erstellt, während der Backend-Bucket und die Cloud Storage-Buckets des Load-Balancers in einem anderen Dienstprojekt erstellt werden.

Beide Beispiele erfordern dieselbe Erstkonfiguration, um erforderliche Rollen zu erteilen und eine freigegebene VPC einzurichten, bevor Sie Load-Balancer erstellen können.

Weitere Informationen zu anderen gültigen Architekturen für freigegebene VPC finden Sie unter Architekturen für freigegebene VPCs.

Wenn Sie kein freigegebene VPC-Netzwerk verwenden möchten, finden Sie weitere Informationen unter regional internal Application Load Balancer mit Cloud Storage-Buckets einrichten.

Hinweise

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

Google Cloud -Projekte erstellen

Erstellen Sie Google Cloud Projekte für ein Host- und zwei Dienstprojekte.

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Einrichten einer regional internal Application Load Balancer in einer Umgebung mit freigegebene VPC mit Cloud Storage-Buckets benötigen:

  • Richten Sie eine freigegebene VPC ein, aktivieren Sie das Hostprojekt und gewähren Sie Dienstprojektadministratoren Zugriff: Compute Shared VPC Admin (roles/compute.xpnAdmin) für das Hostprojekt
  • Firewallregeln hinzufügen und entfernen: Compute Security Admin (roles/compute.securityAdmin) im Hostprojekt
  • Zugriff auf einen Dienstprojektadministrator zur Verwendung des freigegebene VPC-Netzwerks: Compute Network User (roles/compute.networkUser) im Hostprojekt
  • Erstellen Sie die Load-Balancing-Ressourcen: Compute-Netzwerkadministrator (roles/compute.networkAdmin) im Dienstprojekt
  • Compute Engine-Instanzen erstellen: Compute-Instanzadministrator (roles/compute.instanceAdmin.v1) für das Dienstprojekt
  • Compute Engine-SSL-Zertifikate erstellen und ändern: Compute Security Admin (roles/compute.securityAdmin) im Dienstprojekt
  • SSL-Zertifikate für den Zertifikatmanager erstellen und ändern: Zertifikatmanager-Inhaber (roles/certificatemanager.owner) im Dienstprojekt
  • Aktivieren Sie, dass der Load-Balancer auf Backend-Buckets aus anderen Dienstprojekten verweisen kann: Nutzer von Compute-Load-Balancer-Diensten (roles/compute.loadBalancerServiceUser) im Dienstprojekt

Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.

Freigegebene VPC-Umgebung einrichten

Führen Sie die folgenden Schritte im Hostprojekt aus, um eine Umgebung mit freigegebene VPC einzurichten:

  1. VPC-Netzwerk im Hostprojekt konfigurieren.
  2. Nur-Proxy-Subnetz im Hostprojekt konfigurieren.
  3. Firewallregel im Hostprojekt konfigurieren
  4. Freigegebene VPC im Hostprojekt einrichten.

Die Schritte in diesem Abschnitt müssen nicht jedes Mal ausgeführt werden, wenn Sie einen neuen Load-Balancer erstellen möchten. Sie müssen jedoch sicherstellen, dass Sie Zugriff auf die hier beschriebenen Ressourcen haben, bevor Sie mit dem Erstellen des Load-Balancers fortfahren.

In diesem Beispiel werden das folgende VPC-Netzwerk, die folgende Region und das folgende Nur-Proxy-Subnetz verwendet:

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

  • Subnetz für den 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.

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

VPC für das Hostprojekt konfigurieren

Konfigurieren Sie eine VPC im benutzerdefinierten Modus für das Hostprojekt und erstellen Sie ein Subnetz in derselben Region, in der Sie die Weiterleitungsregel Ihrer Load Balancer konfigurieren müssen.

Dieser Schritt muss nicht jedes Mal ausgeführt werden, wenn Sie einen neuen Load-Balancer erstellen möchten. Sie müssen nur sicherstellen, dass das Dienstprojekt Zugriff auf ein Subnetz im freigegebenen VPC-Netzwerk hat (zusätzlich zum Nur-Proxy-Subnetz).

Console

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

    Zur Seite VPC-Netzwerke

  2. Klicken Sie auf VPC-Netzwerk erstellen.

  3. Geben Sie im Feld Name lb-network ein.

  4. Wählen Sie unter Modus für Subnetzerstellung die Option Benutzerdefiniert aus.

  5. Geben Sie im Bereich Neues Subnetz die folgenden Informationen an:

    1. Geben Sie im Feld Name subnet-us ein.
    2. Wählen Sie in der Liste Region us-east1 aus.
    3. Geben Sie im Feld IPv4-Bereich 10.1.2.0/24 ein.
    4. Klicken Sie auf Fertig.
  6. 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 \
        --project=HOST_PROJECT_ID
    

    Ersetzen Sie HOST_PROJECT_ID durch dieGoogle Cloud Projekt-ID, die dem Projekt zugewiesen ist, das in einer Umgebung mit freigegebene VPC als Hostprojekt aktiviert ist.

  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 \
        --project=HOST_PROJECT_ID
    

Nur-Proxy-Subnetz im Hostprojekt konfigurieren

Ein Nur-Proxy-Subnetz stellt eine Reihe von IP-Adressen bereit, die Google Cloud 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 ein Nur-Proxy-Subnetz in der Region us-east1.

Console

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

    Zur Seite VPC-Netzwerke

  2. Klicken Sie auf den Namen des VPC-Netzwerk, das Sie erstellt haben.

  3. Klicken Sie auf dem Tab Subnetze auf Subnetz hinzufügen und geben Sie die folgenden Informationen an:

    1. Geben Sie im Feld Name proxy-only-subnet-us ein.
    2. Wählen Sie in der Liste Region us-east1 aus.
    3. Wählen Sie als Zweck die Option Regional Managed Proxy aus.
    4. Geben Sie im Feld IPv4-Bereich den Wert 10.129.0.0/23 ein.
  4. Klicken Sie auf Hinzufügen.

gcloud

  • 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=REGIONAL_MANAGED_PROXY \
        --role=ACTIVE \
        --region=us-east1 \
        --network=lb-network \
        --range=10.129.0.0/23 \
        --project=HOST_PROJECT_ID
    

Firewallregel im Hostprojekt konfigurieren

In diesem Beispiel wird die Firewallregel für eingehenden Traffic fw-allow-ssh verwendet, die eingehende SSH-Verbindungen an TCP-Port 22 von jeder Adresse aus ermöglicht. Sie können einen restriktiveren Quell-IP-Bereich für diese Regel auswählen. Sie können beispielsweise nur die IP-Bereiche des Systems angeben, von dem aus Sie SSH-Sitzungen initiieren. In diesem Beispiel wird das Ziel-Tag allow-ssh verwendet, um die VMs zu identifizieren, auf welche die Firewallregel angewendet wird. Ohne diese Firewallregeln blockiert die Standardregel zum Ablehnen von eingehendem Traffic den eingehenden Traffic zu den Back-End-Instanzen.

Console

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

    Zu den Firewall-Richtlinien

  2. Klicken Sie auf Firewallregel erstellen, um die Regel zu erstellen, dieGoogle Cloud -Systemdiagnosen zulässt.

  3. Geben Sie die folgenden Informationen an:

    1. Geben Sie im Feld Name fw-allow-ssh ein.
    2. Wählen Sie in der Liste Netzwerk die Option lb-network aus.
    3. Wählen Sie für Traffic-Richtung die Option Eingehend aus.
    4. Wählen Sie für Aktion bei Übereinstimmung die Option Zulassen aus.
    5. Wählen Sie in der Liste Ziele die Option Angegebene Ziel-Tags aus.
    6. Geben Sie im Feld Zieltags allow-ssh ein.
    7. Wählen Sie in der Liste Quellfilter die Option IPv4-Bereiche aus.
    8. Geben Sie im Feld Quell-IPv4-Bereiche den Wert 0.0.0.0/0 ein.
    9. Wählen Sie für Protokolle und Ports die Option Angegebene Protokolle und Ports aus.
    10. Klicken Sie das Kästchen TCP an und geben Sie 22 als Portnummer ein.
  4. Klicken Sie auf Erstellen.

gcloud

  • 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,Google 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 \
        --project=HOST_PROJECT_ID
    

Freigegebene VPC im Hostprojekt einrichten

Aktivieren Sie ein freigegebenes VPC-Hostprojekt und hängen Sie Dienstprojekte an das Hostprojekt an, damit die Dienstprojekte das freigegebene VPC-Netzwerk verwenden können. Informationen zum Einrichten einer freigegebene VPC im Hostprojekt finden Sie auf den folgenden Seiten:

  1. Hostprojekt aktivieren.
  2. Dienstprojekt anhängen

Nachdem Sie die vorherigen Schritte ausgeführt haben, können Sie eine der folgenden Konfigurationen ausführen:

Load-Balancer im Dienstprojekt konfigurieren

In diesem Beispiel wird ein regional internal Application Load Balancer erstellt, bei dem alle Load-Balancing-Komponenten (Weiterleitungsregel, Zielproxy, URL-Zuordnung und Backend-Bucket) und Cloud Storage-Buckets im Dienstprojekt erstellt werden.

Die Netzwerkressourcen von regional internal Application Load Balancer, z. B. das Nur-Proxy-Subnetz, werden im Hostprojekt erstellt.

Abbildung 1: Regionaler externer HTTP-Load-Balancer in einer Umgebung mit freigegebene VPC mit Cloud Storage-Buckets
Abbildung 1: Regionaler interner Application Load Balancer in einer freigegebene VPC-Umgebung mit Cloud Storage-Buckets

In diesem Abschnitt erfahren Sie, wie Sie den Load-Balancer und die Back-Ends einrichten.

In den Beispielen auf dieser Seite wird explizit eine reservierte IP-Adresse für die Weiterleitungsregel von regional internal Application Load Balancerfestgelegt, statt die Zuweisung einer sitzungsspezifischen IP-Adresse zuzulassen. Als Best Practice empfehlen wir, IP-Adressen für Weiterleitungsregeln zu reservieren.

Cloud Storage-Buckets konfigurieren

So konfigurieren Sie die Cloud Storage-Buckets:

  1. Erstellen Sie die Cloud Storage-Buckets.
  2. Kopieren Sie Inhalte in die Buckets.
  3. Machen Sie die Buckets öffentlich lesbar.

Cloud Storage-Buckets erstellen

In diesem Beispiel erstellen Sie zwei Cloud Storage-Buckets in der Region us-east1.

Console

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

    Buckets aufrufen

  2. Klicken Sie auf Erstellen.

  3. Geben Sie im Bereich Einstieg 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-Buckets zurückzukehren. Folgen Sie der Anleitung oben, um einen zweiten Bucket in der Region us-east1 zu erstellen.

gcloud

  • Erstellen Sie die Buckets 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 \
       --project=SERVICE_PROJECT_ID
    
    gcloud storage buckets create gs://BUCKET2_NAME \
        --default-storage-class=standard \
        --location=us-east1 \
        --uniform-bucket-level-access \
        --project=SERVICE_PROJECT_ID
    

    Ersetzen Sie Folgendes:

    • BUCKET1_NAME: der Name Ihres ersten Cloud Storage-Bucket
    • BUCKET2_NAME: der Name Ihres zweiten Cloud Storage-Bucket
    • SERVICE_PROJECT_ID: die Google Cloud Projekt-ID, die dem Dienstprojekt zugewiesen ist

Inhalte in Cloud Storage-Buckets kopieren

Kopieren Sie eine Grafikdatei aus einem öffentlichen Cloud Storage-Bucket in Ihre eigenen Cloud Storage-Buckets, um diese zu füllen.

gcloud storage cp gs://gcp-external-http-lb-with-bucket/three-cats.jpg gs://BUCKET1_NAME/love-to-purr/
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 Prinzipal allUsers die Rolle „Storage Object Viewer“ (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 Google Cloud Console unter „Cloud Storage“ zur Seite Buckets.

    Buckets aufrufen

  2. Setzen Sie in der Liste der Buckets ein Häkchen neben jedem Bucket, den Sie veröffentlichen möchten.

  3. Klicken Sie auf die Schaltfläche Berechtigungen. Das Dialogfeld Berechtigungen wird angezeigt.

  4. Klicken Sie im Dialogfeld Berechtigungen auf die Schaltfläche Hauptkonto hinzufügen. Das Dialogfeld Zugriff gewähren 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

Statische interne IP-Adresse reservieren

Reservieren Sie eine statische interne IP-Adresse für die Weiterleitungsregel des Load-Balancers. Weitere Informationen finden Sie unter Statische interne IP-Adresse reservieren.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Statische interne IP-Adresse reservieren auf.

    Zur Seite „Interne statische IP-Adresse reservieren“

  2. Geben Sie im Feld Name einen Namen für die neue Adresse ein.

  3. Wählen Sie in der Liste IP-Version die Option IPv4 aus.

  4. Wählen Sie in der Liste Netzwerk die Option lb-network aus.

  5. Wählen Sie in der Liste Subnetzwerk die Option subnet-us aus.

  6. Wählen Sie für Region die Option us-east1 aus.

  7. Wählen Sie in der Liste Statische IP-Adresse die Option Automatisch zuweisen aus. Nachdem Sie den Load-Balancer erstellt haben, wird diese IP-Adresse an die Weiterleitungsregel des Load-Balancers angehängt.

  8. Klicken Sie auf Reservieren, um die IP-Adresse zu reservieren.

gcloud

  1. Zum Reservieren einer statischen internen IP-Adresse mit gcloud compute verwenden Sie den Befehl compute addresses create.

     gcloud compute addresses create ADDRESS_NAME  \
         --region=REGION \
         --subnet=subnet-us \
         --project=SERVICE_PROJECT_ID
    

    Ersetzen Sie Folgendes:

    • ADDRESS_NAME: der Name, den Sie für diese IP-Adresse vergeben möchten.
    • REGION ist die Region, in der Sie diese Adresse reservieren möchten. Diese Region sollte mit der Region des Load Balancers übereinstimmen. Beispiel: us-east1.
    • SERVICE_PROJECT_ID: die Google CloudProjekt-ID, die dem Dienstprojekt zugewiesen ist.
  2. Verwenden Sie den Befehl compute addresses describe, um das Ergebnis anzeigen zu lassen:

     gcloud compute addresses describe ADDRESS_NAME
    

    Kopieren Sie die zurückgegebene IP-Adresse, um sie in den folgenden Abschnitten als RESERVED_IP_ADDRESS zu verwenden.

SSL-Zertifikatsressource einrichten

Für einen regional internal Application Load Balancer , der HTTPS als Anfrage- und Antwortprotokoll verwendet, können Sie eine SSL-Zertifikatsressource entweder mit einem Compute Engine-SSL-Zertifikat oder mit einem Certificate Manager-Zertifikat erstellen.

Erstellen Sie für dieses Beispiel eine SSL-Zertifikatsressource mit dem Zertifikatmanager, 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, um den Betriebsaufwand zu reduzieren, z. B. Sicherheitsrisiken, die mit der manuellen Zertifikatsverwaltung verbunden sind.

Load Balancer mit Back-End-Buckets konfigurieren

In diesem Abschnitt erfahren Sie, wie Sie die folgenden Ressourcen für einenregional internal Application Load Balancererstellen:

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 beta compute backend-buckets create zwei Back-End-Buckets in der Region us-east1. Die Back-End-Buckets haben das Load-Balancing-Schema INTERNAL_MANAGED.

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

      gcloud beta compute url-maps create URL_MAP_NAME \
          --default-backend-bucket=backend-bucket-cats \
          --region=us-east1 \
          --project=SERVICE_PROJECT_ID
    

    Ersetzen Sie URL_MAP_NAME durch den Namen der URL-Zuordnung.

  3. Konfigurieren Sie die Host- und Pfadregeln der URL-Zuordnung mit dem Befehl gcloud beta 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 beta compute url-maps add-path-matcher URL_MAP_NAME \
          --path-matcher-name=path-matcher-pets \
          --new-hosts=* \
          --backend-bucket-path-rules="/love-to-fetch/*=backend-bucket-dogs" \
          --default-backend-bucket=backend-bucket-cats \
          --region=us-east1 \
          --project=SERVICE_PROJECT_ID
    
  4. Erstellen Sie einen Zielproxy mit dem Befehl gcloud compute target-http-proxies create.

    HTTP

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

      gcloud compute target-http-proxies create TARGET_HTTP_PROXY_NAME \
          --url-map=URL_MAP_NAME \
          --region=us-east1 \
          --project=SERVICE_PROJECT_ID
    

    Ersetzen Sie TARGET_HTTP_PROXY_NAME durch den Namen des HTTP-Ziel-Proxys.

    HTTPS

    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 das HTTPS-Load-Balancing besitzt. Nachdem Sie das Zertifikat erstellt haben, können Sie es an den HTTPS-Zielproxy anhängen.

    Führen Sie den folgenden Befehl aus, um ein Certificate Manager-Zertifikat anzuhängen:

      gcloud compute target-https-proxies create TARGET_HTTPS_PROXY_NAME \
          --url-map=URL_MAP_NAME \
          --certificate-manager-certificates=CERTIFICATE_NAME \
          --region=us-east1 \
          --project=SERVICE_PROJECT_ID
    

    Ersetzen Sie Folgendes:

  5. Erstellen Sie mit dem Befehl gcloud compute forwarding-rules create eine Weiterleitungsregel mit einer IP-Adresse in der Region us-east1.

    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.

    HTTP

    Erstellen Sie für HTTP-Traffic eine regionale Weiterleitungsregel, um eingehende Anfragen an den HTTP-Zielproxy weiterzuleiten:

      gcloud compute forwarding-rules create FORWARDING_RULE_NAME \
          --load-balancing-scheme=INTERNAL_MANAGED \
          --network=projects/HOST_PROJECT_ID/global/networks/lb-network \
          --subnet=subnet-us \
          --subnet-region=us-east1 \
          --address=RESERVED_IP_ADDRESS
          --ports=80 \
          --region=us-east1 \
          --target-http-proxy=TARGET_HTTP_PROXY_NAME \
          --target-http-proxy-region=us-east1 \
          --project=SERVICE_PROJECT_ID
    

    Ersetzen Sie Folgendes:

    HTTPS

    Erstellen Sie für HTTPS-Traffic eine regionale Weiterleitungsregel, um eingehende Anfragen an den HTTPS-Zielproxy weiterzuleiten:

      gcloud compute forwarding-rules create FORWARDING_RULE_NAME \
          --load-balancing-scheme=INTERNAL_MANAGED \
          --network=projects/HOST_PROJECT_ID/global/networks/lb-network \
          --subnet=subnet-us \
          --subnet-region=us-east1 \
          --address=RESERVED_IP_ADDRESS \
          --ports=443 \
          --region=us-east1 \
          --target-https-proxy=TARGET_HTTPS_PROXY_NAME \
          --target-https-proxy-region=us-east1 \
          --project=SERVICE_PROJECT_ID
    

    Ersetzen Sie Folgendes:

HTTP-Anfrage an den Load Balancer senden

Nachdem der Load-Balancing-Dienst ausgeführt wird, senden Sie eine Anfrage von einer internen Client-VM an die Weiterleitungsregel des Load-Balancers.

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

     gcloud compute forwarding-rules describe FORWARDING_RULE_NAME \
         --region=us-east1 \
         --project=SERVICE_PROJECT_ID
    

    Kopieren Sie die zurückgegebene IP-Adresse, um sie als FORWARDING_RULE_IP_ADDRESS zu verwenden.

  2. 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
    
  3. Stellen Sie eine SSH-Verbindung zur Client-VM her.

    gcloud compute ssh client-a --zone=us-east1-c
    
  4. In diesem Beispiel hat der regional internal Application Load Balancer eine virtuelle Frontend-IP-Adresse (VIP) in der Region us-east1 im VPC-Netzwerk. Stellen Sie mit curl eine HTTP-Anfrage an die VIP in dieser Region.

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

    Ersetzen Sie FORWARDING_RULE_IP_ADDRESS durch die IP-Adresse, die Sie im ersten Schritt kopiert haben.

Load-Balancer mit einer projektübergreifenden Konfiguration konfigurieren

Das vorherige Beispiel auf dieser Seite zeigt, wie Sie die Bereitstellung einer freigegebenen VPC einrichten, bei der alle Load-Balancer-Komponenten und ihre Back-Ends im Dienstprojekt erstellt werden.

Mit regionalen internen Application Load Balancern können Sie auch Bereitstellungen freigegebene VPC-Netzwerke konfigurieren, bei denen eine URL-Zuordnung in einem Host- oder Dienstprojekt auf Backend-Buckets in mehreren Dienstprojekten in Umgebungen mit freigegebene VPC verweisen kann.

Sie können die Schritte in diesem Abschnitt als Referenz verwenden, um alle hier aufgeführten unterstützten Kombinationen zu konfigurieren:

  • Weiterleitungsregel, Ziel-Proxy und URL-Zuordnung im Hostprojekt und die Backend-Buckets in einem Dienstprojekt
  • Weiterleitungsregel, Ziel-Proxy und URL-Zuordnung in einem Dienstprojekt und die Backend-Buckets in einem anderen Dienstprojekt

In diesem Abschnitt wird die letztere Konfiguration als Beispiel beschrieben.

Einrichtung: Übersicht

In diesem Beispiel wird ein Load-Balancer mit seinem Frontend und Backend in zwei verschiedenen Dienstprojekten konfiguriert.

Wenn Sie es noch nicht getan haben, müssen Sie alle erforderlichen Schritte ausführen, um die freigegebene VPC einzurichten und das Netzwerk sowie die Subnetze und Firewallregeln zu konfigurieren, die für dieses Beispiel erforderlich sind. Eine Anleitung finden Sie auf dieser Seite in den folgenden Abschnitten:

Abbildung 2. Load-Balancer-Frontend und -Backend in verschiedenen Dienstprojekten
Abbildung 2. Load balancer frontend and backend in different service projects

Cloud Storage-Buckets und Backend-Buckets in Dienstprojekt B konfigurieren

Alle Schritte in diesem Abschnitt müssen in Dienstprojekt B ausgeführt werden.

So erstellen Sie einen Backend-Bucket:

  1. Erstellen Sie die Cloud Storage-Buckets.
  2. Kopieren Sie Inhalte in den Bucket.
  3. Machen Sie die Buckets öffentlich lesbar.
  4. Erstellen Sie ein Backend-Bucket und verweisen Sie darauf.

Cloud Storage-Buckets erstellen

In diesem Beispiel erstellen Sie den Cloud Storage-Bucket in der Region us-east1.

Console

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

    Buckets aufrufen

  2. Klicken Sie auf Erstellen.

  3. Geben Sie im Bereich Einstieg 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-Buckets zurückzukehren. Folgen Sie der Anleitung oben, um einen zweiten Bucket in der Region us-east1 zu erstellen.

gcloud

Erstellen Sie die Buckets 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 \
     --project=SERVICE_PROJECT_B_ID
  gcloud storage buckets create gs://BUCKET2_NAME \
      --default-storage-class=standard \
      --location=us-east1 \
      --uniform-bucket-level-access \
      --project=SERVICE_PROJECT_B_ID

Ersetzen Sie Folgendes:

  • BUCKET1_NAME: der Name Ihres ersten Cloud Storage-Bucket
  • BUCKET2_NAME: der Name Ihres zweiten Cloud Storage-Bucket
  • SERVICE_PROJECT_B_ID: Die Google Cloud Projekt-ID, die dem Dienstprojekt B zugewiesen ist.

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.

gcloud storage cp gs://gcp-external-http-lb-with-bucket/three-cats.jpg gs://BUCKET1_NAME/love-to-purr/
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 Prinzipal allUsers die Rolle „Storage Object Viewer“ (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 Google Cloud Console unter „Cloud Storage“ zur Seite Buckets.

    Buckets aufrufen

  2. Setzen Sie in der Liste der Buckets ein Häkchen neben jedem Bucket, den Sie veröffentlichen möchten.

  3. Klicken Sie auf die Schaltfläche Berechtigungen. Das Dialogfeld Berechtigungen wird angezeigt.

  4. Klicken Sie im Dialogfeld Berechtigungen auf die Schaltfläche Hauptkonto hinzufügen. Das Dialogfeld Zugriff gewähren 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

Load Balancer mit Back-End-Buckets konfigurieren

So erstellen Sie die Backend-Buckets:

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

      gcloud beta compute backend-buckets create backend-bucket-cats \
          --gcs-bucket-name=BUCKET1_NAME \
          --load-balancing-scheme=INTERNAL_MANAGED \
          --region=us-east1 \
          --project=SERVICE_PROJECT_B_ID
    
      gcloud beta compute backend-buckets create backend-bucket-dogs \
          --gcs-bucket-name=BUCKET2_NAME \
          --load-balancing-scheme=INTERNAL_MANAGED \
          --region=us-east1
          --project=SERVICE_PROJECT_B_ID
    

Load-Balancer-Frontend-Komponenten in Dienstprojekt A konfigurieren

Alle Schritte in diesem Abschnitt müssen im Dienstprojekt A ausgeführt werden.

Erstellen Sie im Dienstprojekt A die folgenden Frontend-Load-Balancing-Komponenten:

  1. Richten Sie eine SSL-Zertifikatsressource ein, die an den Zielproxy angehängt ist. Weitere Informationen finden Sie in diesem Dokument unter SSL-Zertifikatsressource einrichten.
  2. Erstellen und reservieren Sie eine statische interne IP-Adresse für die Weiterleitungsregel des Load-Balancers. Weitere Informationen finden Sie in diesem Dokument unter Statische interne IP-Adresse reservieren .
  3. Erstellen Sie eine URL-Zuordnung, um eingehende Anfragen mit dem Befehl gcloud beta compute url-maps create an den Backend-Bucket in Dienstprojekt B weiterzuleiten.

      gcloud beta compute url-maps create URL_MAP_NAME \
          --default-backend-bucket=backend-bucket-cats \
          --region=us-east1 \
          --project=SERVICE_PROJECT_A_ID
    

    Ersetzen Sie Folgendes:

    • URL_MAP_NAME: der Name des URL-Mappings
    • SERVICE_PROJECT_A_ID: die Google CloudProjekt-ID, die dem Dienstprojekt A zugewiesen ist
  4. Konfigurieren Sie die Host- und Pfadregeln der URL-Zuordnung mit dem Befehl gcloud beta 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 beta compute url-maps add-path-matcher URL_MAP_NAME \
          --path-matcher-name=path-matcher-pets \
          --new-hosts=* \
          --backend-bucket-path-rules="/love-to-fetch/*=projects/SERVICE_PROJECT_B_ID/regional/backendBuckets/backend-bucket-dogs" \
          --default-backend-bucket=projects/SERVICE_PROJECT_B_ID/regional/backendBuckets/backend-bucket-cats \
          --region=us-east1
          --project=SERVICE_PROJECT_A_ID
    
  5. Erstellen Sie einen Zielproxy mit dem Befehl gcloud compute target-http-proxies create.

    HTTP

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

      gcloud compute target-http-proxies create TARGET_HTTP_PROXY_NAME \
          --url-map=URL_MAP_NAME \
          --region=us-east1 \
          --project=SERVICE_PROJECT_A_ID
    

    Ersetzen Sie TARGET_HTTP_PROXY_NAME durch den Namen des HTTP-Ziel-Proxys.

    HTTPS

    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 das HTTPS-Load-Balancing besitzt. Nachdem Sie das Zertifikat erstellt haben, können Sie es an den HTTPS-Zielproxy anhängen.

    Führen Sie den folgenden Befehl aus, um ein Certificate Manager-Zertifikat anzuhängen:

      gcloud compute target-https-proxies create TARGET_HTTPS_PROXY_NAME \
          --url-map=lb-map \
          --certificate-manager-certificates=CERTIFICATE_NAME \
          --region=us-east1 \
          --project=SERVICE_PROJECT_A_ID
    

    Ersetzen Sie Folgendes:

  6. Erstellen Sie mit dem Befehl gcloud compute forwarding-rules create eine Weiterleitungsregel mit einer IP-Adresse in der Region us-east1.

    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.

    HTTP

    Erstellen Sie für HTTP-Traffic eine regionale Weiterleitungsregel, um eingehende Anfragen an den HTTP-Zielproxy weiterzuleiten:

      gcloud compute forwarding-rules create FORWARDING_RULE_NAME \
          --load-balancing-scheme=INTERNAL_MANAGED \
          --network=projects/HOST_PROJECT_ID/global/networks/lb-network \
          --subnet=subnet-us \
          --address=RESERVED_IP_ADDRESS
          --ports=80 \
          --region=us-east1 \
          --target-http-proxy=TARGET_HTTP_PROXY_NAME \
          --target-http-proxy-region=us-east1 \
          --project=SERVICE_PROJECT_A_ID
    

    Ersetzen Sie Folgendes:

    • FORWARDING_RULE_NAME: der Name der Weiterleitungsregel
    • RESERVED_IP_ADDRESS ist die reservierte IP-Adresse.

    HTTPS

    Erstellen Sie für HTTPS-Traffic eine regionale Weiterleitungsregel, um eingehende Anfragen an den HTTPS-Zielproxy weiterzuleiten:

      gcloud compute forwarding-rules create FORWARDING_RULE_NAME \
          --load-balancing-scheme=INTERNAL_MANAGED \
          --network=projects/HOST_PROJECT_ID/global/networks/lb-network \
          --subnet=subnet-us \
          --address=RESERVED_IP_ADDRESS \
          --ports=443 \
          --region=us-east1 \
          --target-https-proxy=TARGET_HTTPS_PROXY_NAME \
          --target-https-proxy-region=us-east1 \
          --project=SERVICE_PROJECT_A_ID
    

    Ersetzen Sie Folgendes:

    • FORWARDING_RULE_NAME: der Name der Weiterleitungsregel
    • RESERVED_IP_ADDRESS ist die reservierte IP-Adresse.

Dem Administrator für Compute-Load-Balancer die Berechtigung erteilen, den Backend-Bucket zu verwenden

Wenn Load-Balancer auf Backend-Buckets in anderen Dienstprojekten verweisen sollen, muss der Load-Balancer-Administrator die Berechtigung compute.backendBuckets.use haben. Um diese Berechtigung zu erteilen, können Sie die vordefinierte IAM-Rolle „Nutzer von Compute-Load-Balancer-Diensten“ (roles/compute.loadBalancerServiceUser) verwenden. Diese Rolle muss vom Dienstprojektadministrator gewährt werden und kann auf Dienstprojektebene oder auf Ebene einzelner Backend-Buckets zugewiesen werden.

In diesem Beispiel muss ein Dienstprojektadministrator aus dem Dienstprojekt B genau einen der folgenden Befehle ausführen, um einem Load-Balancer-Administrator aus Dienstprojekt A die Berechtigung compute.backendBuckets.use zu erteilen. Dies kann entweder auf Projektebene (für alle Backend-Buckets im Projekt) oder pro Backend-Bucket erfolgen.

Console

Berechtigungen auf Projektebene

Gehen Sie folgendermaßen vor, um allen Backend-Buckets in Ihrem Projekt Berechtigungen zu erteilen.

Sie benötigen die Berechtigungen compute.regionBackendBuckets.setIamPolicy und resourcemanager.projects.setIamPolicy, um diesen Schritt auszuführen.

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

    IAM aufrufen

  2. Wählen Sie Ihr Projekt aus.

  3. Klicken Sie auf Zugriff gewähren.

  4. Geben Sie im Feld Neue Hauptkonten die E-Mail-Adresse oder eine andere Kennung des Hauptkontos ein.

  5. Klicken Sie im Bereich Rollen zuweisen auf Rollen hinzufügen.

  6. Geben Sie im Dialogfeld Rollen auswählen im Feld Nach Rollen suchen Compute Load Balancer Services User ein.

  7. Klicken Sie das Kästchen Nutzer von Compute-Load-Balancer-Diensten an.

  8. Klicken Sie auf Übernehmen.

  9. Optional: Fügen Sie der Rolle eine Bedingung hinzu.

  10. Klicken Sie auf Speichern.

Berechtigungen auf Ressourcenebene für einzelne Backend-Buckets

Gehen Sie folgendermaßen vor, um einzelnen Backend-Buckets in Ihrem Projekt Berechtigungen zu erteilen.

Sie benötigen die Berechtigung compute.regionBackendBuckets.setIamPolicy, um diesen Schritt auszuführen.

  1. Rufen Sie in der Google Cloud Console die Seite Back-Ends auf.

    Zu Back-Ends

  2. Wählen Sie in der Liste der Back-Ends den Back-End-Bucket aus, für den Sie Zugriff gewähren möchten, und klicken Sie auf Berechtigungen.

  3. Klicken Sie auf Hauptkonto hinzufügen.

  4. Geben Sie im Feld Neue Hauptkonten die E-Mail-Adresse oder eine andere Kennung des Hauptkontos ein.

  5. Wählen Sie in der Liste Rolle auswählen die Option Nutzer von Compute-Load-Balancer-Diensten aus.

  6. Klicken Sie auf Speichern.

gcloud

Berechtigungen auf Projektebene

Gehen Sie folgendermaßen vor, um allen Backend-Buckets in Ihrem Projekt Berechtigungen zu erteilen.

Sie benötigen die Berechtigungen compute.regionBackendBuckets.setIamPolicy und resourcemanager.projects.setIamPolicy, um diesen Schritt auszuführen.

  gcloud projects add-iam-policy-binding SERVICE_PROJECT_B_ID \
      --member="user:LOAD_BALANCER_ADMIN" \
      --role="roles/compute.loadBalancerServiceUser"

Ersetzen Sie Folgendes:

  • SERVICE_PROJECT_B_ID: die Google CloudProjekt-ID, die dem Dienstprojekt B zugewiesen ist
  • LOAD_BALANCER_ADMIN: das Mitglied, für das die Bindung eingefügt werden soll

Berechtigungen auf Ressourcenebene für einzelne Backend-Buckets

Auf Backend-Bucket-Ebene können Dienstprojektadministratoren einen der folgenden Befehle verwenden, um die Rolle „Nutzer von Compute-Load-Balancer-Diensten“ (roles/compute.loadBalancerServiceUser) zuzuweisen:

Verwenden Sie den Befehl gcloud projects add-iam-policy-binding, um die Rolle „Nutzer von Compute-Load-Balancer-Diensten“ zuzuweisen.

Sie benötigen die Berechtigung compute.regionBackendBuckets.setIamPolicy, um diesen Schritt auszuführen.

  gcloud projects add-iam-policy-binding SERVICE_PROJECT_B_ID \
      --member="user:LOAD_BALANCER_ADMIN" \
      --role="roles/compute.loadBalancerServiceUser" \
      --condition='expression=resource.name=="projects/SERVICE_PROJECT_B_ID/regions/REGION/backendBuckets/BACKEND_BUCKET_NAME",title=Shared VPC condition'
Ersetzen Sie Folgendes:
  • SERVICE_PROJECT_B_ID: die Google Cloud-Projekt-ID, die dem Dienstprojekt B zugewiesen ist
  • LOAD_BALANCER_ADMIN: das Mitglied, für das die Bindung eingefügt werden soll
  • REGION: die Google Cloud Region, in der sich der Backend-Bucket befindet
  • BACKEND_BUCKET_NAME: der Name des Backend-Buckets
Alternativ können Sie die Rolle „Nutzer von Compute-Load-Balancer-Diensten“ mit dem gcloud compute backend-buckets add-iam-policy-binding-Befehl zuweisen.
  gcloud compute backend-buckets add-iam-policy-binding BACKEND_BUCKET_NAME \
      --member="user:LOAD_BALANCER_ADMIN" \
      --role="roles/compute.loadBalancerServiceUser" \
      --project=SERVICE_PROJECT_B_ID \
      --region=REGION

HTTP-Anfrage an den Load Balancer senden

Nachdem der Load-Balancing-Dienst ausgeführt wird, senden Sie eine Anfrage von einer internen Client-VM an die Weiterleitungsregel des Load-Balancers.

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

     gcloud compute forwarding-rules describe FORWARDING_RULE_NAME \
         --region=us-east1 \
         --project=SERVICE_PROJECT_A_ID
    

    Kopieren Sie die zurückgegebene IP-Adresse, um sie als FORWARDING_RULE_IP_ADDRESS zu verwenden.

  2. 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
    
  3. Stellen Sie eine SSH-Verbindung zur Client-VM her.

    gcloud compute ssh client-a --zone=us-east1-c
    
  4. In diesem Beispiel hat der regional internal Application Load Balancer einen Frontend-VIP in der Regionus-east1im VPC-Netzwerk. Stellen Sie mit curl eine HTTP-Anfrage an die VIP in dieser Region.

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

    Ersetzen Sie FORWARDING_RULE_IP_ADDRESS durch die IP-Adresse, die Sie im ersten Schritt kopiert haben.

Nächste Schritte