Globalen externen Application Load Balancer mit freigegebener VPC einrichten

Dieses Dokument zeigt eine Beispielkonfiguration zum Einrichten eines globalen externen Application Load Balancers mit VM-Instanzgruppen-Backends in einer freigegebenen VPC-Umgebung.

Im Beispiel werden die Frontend- und Backend-Komponenten des Load Balancers in einem Dienstprojekt erstellt.

Wenn Sie kein freigegebenes VPC-Netzwerk verwenden möchten, lesen Sie die Informationen unter Globalen externen Application Load Balancer mit VM-Instanzgruppen-Back-Ends einrichten.

Hinweise

Erforderliche Berechtigungen

Das Einrichten eines Load-Balancers in einem freigegebenen VPC-Netzwerk erfordert eine Ersteinrichtung und -bereitstellung durch einen Administrator. Nach der Ersteinrichtung kann ein Dienstprojektinhaber einen der folgenden Schritte ausführen:

  • Stellen Sie alle Komponenten des Load-Balancers und seine Back-Ends in einem Dienstprojekt bereit.
  • Stellen Sie die Backend-Komponenten des Load-Balancers (Backend-Dienst und Backends) in Dienstprojekten bereit, auf die in einer URL-Zuordnung in einem anderen Dienst oder Hostprojekt verwiesen werden kann.

In diesem Abschnitt werden die Berechtigungen zusammengefasst, die zum Einrichten eines Load-Balancers in einem freigegebenen VPC-Netzwerk nach dieser Anleitung erforderlich sind.

Freigegebene VPC einrichten

Die folgenden Rollen sind für die folgenden Aufgaben erforderlich:

  1. Einmalige administrative Aufgaben wie das Einrichten der freigegebenen VPC und das Aktivieren eines Hostprojekts ausführen
  2. Führen Sie administrative Aufgaben aus, die jedes Mal wiederholt werden müssen, wenn Sie ein neues Dienstprojekt aufnehmen möchten. Dies umfasst das Anhängen des Dienstprojekts, das Bereitstellen und Konfigurieren von Netzwerkressourcen und das Gewähren des Zugriffs für den Dienstprojektadministrator.

Diese Aufgaben müssen im Hostprojekt der freigegebenen VPC ausgeführt werden. Wir empfehlen, dass der Administrator der freigegebenen VPC auch der Inhaber des Hostprojekts der freigegebenen VPC ist. Dadurch werden automatisch die Rollen Netzwerkadministrator und Sicherheitsadministrator zugewiesen.

Aufgabe Erforderliche Rolle
Richten Sie eine freigegebene VPC ein, aktivieren Sie das Hostprojekt und gewähren Sie Dienstprojektadministratoren Zugriff Shared VPC-Administrator
Erstellen Sie Subnetze im freigegebenen VPC-Hostprojekt und gewähren Sie Dienstprojektadministratoren Zugriff Netzwerkadministrator
Firewallregeln hinzufügen und löschen Sicherheitsadministrator

Nachdem die Subnetze bereitgestellt wurden, muss der Inhaber des Hostprojekts die Rolle des Netzwerknutzers im Hostprojekt allen Nutzern (in der Regel Dienstprojektadministratoren, -entwickler oder Dienstkonten) zuweisen, die Zugriff auf diese Ressourcen benötigen.

Aufgabe Erforderliche Rolle
VPC-Netzwerke und Subnetze verwenden, die zum Hostprojekt gehören Netzwerknutzer

Diese Rolle kann auf Projektebene oder für einzelne Subnetze gewährt werden. Wir empfehlen, die Rolle für einzelne Subnetze zu gewähren. Durch das Gewähren der Rolle für das Projekt wird Zugriff auf alle aktuellen und zukünftigen Subnetze im VPC-Netzwerk des Hostprojekts gewährt.

Load-Balancer und Back-Ends bereitstellen

Dienstprojektadministratoren benötigen die folgenden Rollen im Dienstprojekt, um Load-Balancing-Ressourcen und Back-Ends zu erstellen. Diese Berechtigungen werden dem Inhaber oder Bearbeiter des Dienstprojekts automatisch erteilt.

Im Dienstprojekt zugewiesene Rollen
Aufgabe Erforderliche Rolle
Load-Balancer-Komponenten erstellen Netzwerkadministrator
Instanzen erstellen Instanzadministrator
SSL-Zertifikate erstellen und ändern Sicherheitsadministrator

Vorbereitung

Führen Sie in diesem Abschnitt die folgenden Schritte aus:

  1. Netzwerk und Subnetze im Hostprojekt konfigurieren.
  2. 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.

Netzwerk und Subnetze im Hostprojekt konfigurieren

Sie benötigen ein freigegebenes VPC-Netzwerk mit einem Subnetz für die Back-Ends des Load-Balancers.

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

  • Netzwerk Das Netzwerk hat den Namen lb-network.

  • Subnetz für Back-Ends des Load-Balancers. Ein Subnetz mit dem Namen lb-backend-subnet in der Region us-west1 verwendet 10.1.2.0/24 für seinen primären IP-Bereich.

Subnetz für Back-Ends des Load-Balancers konfigurieren

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.

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

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 für Name lb-network ein.
  4. Im Bereich Subnetze:

    1. Legen Sie Modus für Subnetzerstellung auf Benutzerdefiniert fest.
    2. Geben Sie im Bereich Neues Subnetz folgende Informationen ein:

      • Name: lb-backend-subnet
      • Region: us-west1

      • IP-Adressbereich: 10.1.2.0/24

    3. Klicken Sie auf Fertig.

  5. Klicken Sie auf Erstellen.

gcloud

  1. Erstellen Sie mit dem Befehl gcloud compute networks create ein VPC-Netzwerk:

    gcloud compute networks create lb-network --subnet-mode=custom
    
  2. Erstellen Sie ein Subnetz im Netzwerk lb-network in der Region us-west1:

    gcloud compute networks subnets create lb-frontend-and-backend-subnet \
        --network=lb-network \
        --range=10.1.2.0/24 \
        --region=us-west1
    

Gewähren Sie Dienstprojektadministratoren Zugriff auf das Backend-Subnetz

Dienstprojektadministratoren benötigen Zugriff auf das Subnetz lb-backend-subnet, damit sie die Back-Ends des Load-Balancers bereitstellen können.

Ein Administrator der freigegebenen VPC muss Dienstprojektadministratoren Zugriff auf das Backend-Subnetz gewähren (oder auch Entwicklern, die Ressourcen und Backends bereitstellen, die das Subnetz verwenden). Eine Anleitung finden Sie unter Dienstprojektadministratoren für bestimmte Subnetze.

Firewallregeln im Hostprojekt konfigurieren

In diesem Beispiel werden die folgenden Firewallregeln verwendet:
  • fw-allow-health-check: Eine Regel für eingehenden Traffic, die für die Instanzen mit Load-Balancing gilt und TCP-Traffic von den Google Cloud-Systemen für Systemdiagnosen zulässt (in 130.211.0.0/22 und 35.191.0.0/16). In diesem Beispiel wird das Ziel-Tag load-balanced-backend verwendet, um die Instanzen zu identifizieren, auf die es angewendet werden soll.
Without this firewall rule, the default deny ingress rule blocks incoming traffic to the backend instances.

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

Console

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

    Zu den Firewall-Richtlinien

  2. Klicken Sie auf Firewallregel erstellen, um die Regel zu erstellen, die Google Cloud-Systemdiagnosen zulässt:
    • Name: fw-allow-health-check
    • Netzwerk: lb-network
    • Trafficrichtung: Eingehend
    • Aktion bei Übereinstimmung: Zulassen
    • Ziele: Angegebene Zieltags
    • Zieltags: load-balanced-backend
    • Quellfilter: IPv4-Bereiche.
    • IPv4-Quellbereiche: 130.211.0.0/22 und 35.191.0.0/16
    • Protokolle und Ports:
      • Wählen Sie Angegebene Protokolle und Ports aus.
      • Prüfen Sie TCP und geben Sie 80 als Portnummer ein.
      • Sie sollten diese Regeln nur auf Protokolle und Ports beschränken, die mit den von Ihren Systemdiagnosen verwendeten übereinstimmen. Wenn Sie tcp:80 für das Protokoll und den Port verwenden, kann Google Cloud mit HTTP auf Port 80 Ihre VMs kontaktieren. Es kann jedoch nicht HTTPS auf Port 443 verwenden, um den Kontakt herzustellen.

  3. Klicken Sie auf Erstellen.

gcloud

  1. Erstellen Sie die Firewallregel fw-allow-health-check, um Google Cloud-Systemdiagnosen zuzulassen. In diesem Beispiel wird der gesamte TCP-Traffic von Systemdiagnoseprüfern zugelassen. Sie können jedoch Ihren Anforderungen entsprechend eine kleinere Gruppe von Ports konfigurieren:

    gcloud compute firewall-rules create fw-allow-health-check \
       --network=lb-network \
       --action=allow \
       --direction=ingress \
       --source-ranges=130.211.0.0/22,35.191.0.0/16 \
       --target-tags=load-balanced-backend \
       --rules=tcp
    

Freigegebene VPC im Hostprojekt einrichten

Dieser Schritt umfasst das Aktivieren eines freigegebenen VPC-Hostprojekts, das Freigeben von Subnetzen des Hostprojekts und das Anhängen von Dienstprojekten an das Hostprojekt, damit die Dienstprojekte das freigegebene VPC-Netzwerk verwenden können. Informationen zum Einrichten einer freigegebenen VPC im Hostprojekt finden Sie auf den folgenden Seiten:

In den weiteren Anleitungen wird davon ausgegangen, dass Sie die freigegebene VPC bereits eingerichtet haben. Dazu müssen Sie IAM-Richtlinien für Ihre Organisation einrichten und die Host- und Dienstprojekte festlegen.

Fahren Sie erst fort, wenn Sie die freigegebene VPC eingerichtet und die Host- und Dienstprojekte aktiviert haben.

Load-Balancer in einem Dienstprojekt konfigurieren

Nachdem Sie das VPC-Netzwerk im Hostprojekt konfiguriert und die freigegebene VPC eingerichtet haben, können Sie sich auf das Dienstprojekt konzentrieren, in dem Sie alle Load-Balancing-Komponenten (Backend-Dienst, URL-Zuordnung, Ziel-Proxy und Weiterleitungsregel) und die Backends erstellen müssen.

In diesem Abschnitt wird davon ausgegangen, dass Sie die im vorherigen Abschnitt beschriebenen erforderlichen Schritte im Hostprojekt ausgeführt haben. In diesem Abschnitt werden die Frontend- und Backend-Komponenten des Load-Balancers zusammen mit den Backends in einem Dienstprojekt erstellt.

Die folgende Abbildung zeigt die Komponenten eines globalen externen Application Load Balancers in einem Dienstprojekt, das mit dem Hostprojekt in einem freigegebenen VPC-Netzwerk verknüpft ist.

Frontend- und Backend-Komponenten des Load-Balancers in einem Dienstprojekt
Abbildung 1. Load balancer's frontend and backend components in one service project

Diese Schritte sollten vom Dienstprojektadministrator ausgeführt werden (oder von einem innerhalb des Dienstprojekts tätigen Entwickler). Sie erfordern keine Einbeziehung des Hostprojektadministrators. Die Schritte in diesem Abschnitt ähneln den Standardschritten zum Einrichten eines globalen externen Application Load Balancers.

Im Beispiel auf dieser Seite wird explizit eine reservierte IP-Adresse für die Weiterleitungsregel des global externen Application Load Balancers festgelegt, statt die Zuweisung einer sitzungsspezifischen IP-Adresse zuzulassen. Als Best Practice empfehlen wir, IP-Adressen für Weiterleitungsregeln zu reservieren.

Backend einer verwalteten Instanzgruppe erstellen

Die Voraussetzung für das Erstellen einer verwalteten Instanzgruppe ist die Erstellung einer Instanzvorlage. Dies ist eine Ressource, mit der Sie VM-Instanzen erstellen können. Der Traffic von Clients wird auf VMs in einer Instanzgruppe verteilt. Die verwaltete Instanzgruppe umfasst VMs, auf denen die Backend-Server eines externen Application Load Balancer ausgeführt werden. In diesem Beispiel stellen die Back-Ends ihre eigenen Hostnamen bereit.

Console

Instanzvorlage erstellen

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

    Zu Instanzvorlagen

  2. Klicken Sie auf Instanzvorlage erstellen.

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

  4. Achten Sie im Abschnitt Bootlaufwerk darauf, dass das Bootlaufwerk auf ein Debian-Image wie Debian GNU/Linux 10 (Buster) festgelegt ist. Klicken Sie auf Ändern, um das Image bei Bedarf zu ändern.

  5. Maximieren Sie den Bereich Erweiterte Optionen.

  6. Maximieren Sie den Abschnitt Netzwerk und geben Sie im Feld Netzwerk-Tags den Wert load-balanced-backend ein.

  7. Wählen Sie unter Netzwerkschnittstellen die Option Für mich freigegebene Netzwerke (von Hostprojekt: HOST_PROJECT_ID) aus.

  8. Wählen Sie in der Liste Freigegebenes Subnetzwerk das Subnetz lb-backend-subnet aus dem Netzwerk lb-network aus.

  9. Maximieren Sie den Abschnitt Verwaltung und geben Sie im Feld Automatisierung das folgende Startskript an:

     #! /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
    
  10. Klicken Sie auf Erstellen.

Erstellen Sie eine verwaltete Instanzgruppe.

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

    Zu den Instanzgruppen

  2. Klicken Sie auf Instanzgruppe erstellen.

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

  4. Geben Sie als Namen der Instanzgruppe lb-backend ein.

  5. Wählen Sie in der Liste Instanzvorlage die Instanzvorlage backend-template aus, die Sie im vorherigen Schritt erstellt haben.

  6. Wählen Sie im Abschnitt Standort die Option Einzelne Zone aus und geben Sie die folgenden Werte ein:

    • Wählen Sie bei Region die Option us-west1 aus.

    • Wählen Sie bei Zone die Option us-west1-a aus.

  7. Geben Sie im Abschnitt Autoscaling die folgenden Werte ein:

    • Wählen Sie für den Autoscaling-Modus die Option Ein: der Gruppe Instanzen hinzufügen und aus ihr entfernen aus.

    • Wählen Sie für Mindestanzahl von Instanzen die Option 2 aus.

    • Wählen Sie unter Maximale Anzahl von Instanzen die Option 3 aus.

  8. Klicken Sie im Abschnitt Portzuordnung auf Port hinzufügen und geben Sie die folgenden Werte ein:

    • Geben Sie als Portname http ein.

    • Geben Sie für Portnummer 80 ein.

  9. Klicken Sie auf Erstellen.

gcloud

  1. Instanzvorlage erstellen:

    gcloud compute instance-templates create backend-template \
        --region=us-west1 \
        --network=projects/HOST_PROJECT_ID/global/networks/lb-network \
        --subnet=projects/HOST_PROJECT_ID/regions/us-west1/subnetworks/lb-backend-subnet \
        --tags=load-balanced-backend \
        --image-family=debian-10 \
        --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' \
        --project=SERVICE_PROJECT_ID
    
  2. Erstellen Sie eine verwaltete Instanzgruppe und wählen Sie die Instanzvorlage aus, die Sie im vorherigen Schritt erstellt haben:

    gcloud compute instance-groups managed create lb-backend \
        --zone=us-west1-a \
        --size=2 \
        --template=backend-template \
        --project=SERVICE_PROJECT_ID
    
  3. Benannten Port zur Instanzgruppe hinzufügen:

    gcloud compute instance-groups set-named-ports lb-backend \
        --named-ports=http:80 \
        --zone=us-west1-a \
        --project=SERVICE_PROJECT_ID
    

Systemdiagnose erstellen

Systemdiagnosen sind Tests, die die Verfügbarkeit von Back-Ends bestätigen. Erstellen Sie eine Systemdiagnose, die das HTTP-Protokoll und Prüfungen auf Port 80 verwendet. Später hängen Sie diese Systemdiagnose an den Backend-Dienst an, auf den der Load-Balancer verweist.

Console

  1. Rufen Sie in der Google Cloud Console die Compute Engine-Seite Systemdiagnosen auf:

    Zur Seite „Systemdiagnosen“

  2. Geben Sie als Namen der Systemdiagnose lb-health-check ein.

  3. Legen Sie das Protokoll HTTP fest.

  4. Klicken Sie auf Erstellen.

gcloud

Erstellen Sie eine HTTP-Systemdiagnose.

gcloud compute health-checks create http lb-health-check \
  --use-serving-port \
  --project=SERVICE_PROJECT_ID

IP-Adresse des Load-Balancers reservieren

Reservieren Sie eine globale statische externe IP-Adresse, die der Weiterleitungsregel des Load-Balancers zugewiesen werden kann.

Console

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

    "IP-Adressen" aufrufen

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

Erstellen Sie eine globale statische externe IP-Adresse.

gcloud compute addresses create lb-ipv4-1 \
  --ip-version=IPV4 \
  --network-tier=PREMIUM \
  --global
  --project=SERVICE_PROJECT_ID

SSL-Zertifikatsressource einrichten

Erstellen Sie für einen Load-Balancer, der HTTPS als Anfrage- und Antwortprotokoll verwendet, eine SSL-Zertifikatsressource, wie in den folgenden Ressourcen beschrieben:

Wir empfehlen die Verwendung eines von Google verwalteten Zertifikats.

In diesem Beispiel wird davon ausgegangen, dass Sie ein SSL-Zertifikat mit dem Namen lb-ssl-cert erstellt haben. Das SSL-Zertifikat ist mit dem Zielproxy verknüpft, den Sie in einem der folgenden Schritte erstellen.

Load-Balancer konfigurieren

In diesem Abschnitt erfahren Sie, wie Sie die folgenden Ressourcen für einen globalen externen Application Load Balancer erstellen:

  • Backend-Dienst mit einer verwalteten Instanzgruppe als Backend
  • URL-Zuordnung
  • SSL-Zertifikat (nur für HTTPS-Traffic erforderlich)
  • Zielproxy
  • Weiterleitungsregel

In diesem Beispiel können Sie HTTP oder HTTPS als Anfrage- und Antwortprotokoll zwischen dem Client und dem Load-Balancer verwenden. Für HTTPS benötigen Sie eine SSL-Zertifikatsressource, um den Proxy zu konfigurieren. Wir empfehlen die Verwendung eines von Google verwalteten Zertifikats.

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 Globaler externer Application Load Balancer aus und klicken Sie auf Weiter.
  7. Klicken Sie auf Konfigurieren.

Grundlegende Konfiguration

  1. Geben Sie l7-xlb-shared-vpc als Name des Load-Balancers ein.

Load-Balancer-Frontend konfigurieren

Bei HTTP-Traffic:

  1. Klicken Sie auf Frontend-Konfiguration.

  2. Geben Sie für das Frontend das Load-Balancers den Namen http-fw-rule ein.

  3. Wählen Sie für Protokoll die Option HTTP aus.

  4. Setzen Sie die IP-Version auf IPv4.

  5. Wählen Sie unter IP-Adresse die IP-Adresse lb-ipv4-1 aus, die Sie zuvor reserviert haben.

  6. Legen Sie den Port auf 80 fest, um HTTP-Traffic zuzulassen.

  7. Klicken Sie zum Abschließen der Frontend-Konfiguration auf Fertig.

  8. Überprüfen Sie, bevor Sie fortfahren, ob sich neben der Frontend-Konfiguration ein blaues Häkchen befindet.

Bei HTTPS-Traffic:

  1. Klicken Sie auf Frontend-Konfiguration.

  2. Geben Sie für das Frontend das Load-Balancers den Namen https-fw-rule ein.

  3. Wählen Sie für Protokoll die Option HTTPS aus.

  4. Setzen Sie die IP-Version auf IPv4.

  5. Wählen Sie unter IP-Adresse die IP-Adresse lb-ipv4-1 aus, die Sie zuvor reserviert haben.

  6. Legen Sie den Port auf 443 fest, um HTTP-Traffic zuzulassen.

  7. Wählen Sie in der Liste Zertifikat das von Ihnen erstellte SSL-Zertifikat aus.

  8. Klicken Sie zum Abschließen der Frontend-Konfiguration auf Fertig.

  9. Überprüfen Sie, bevor Sie fortfahren, ob sich neben der Frontend-Konfiguration ein blaues Häkchen befindet.

Back-End konfigurieren

  1. Klicken Sie auf Backend-Konfiguration.

  2. Klicken Sie im Menü Backend-Dienste und Backend-Buckets auf Backend-Dienst erstellen.

  3. Geben Sie als Name des Backend-Dienstes lb-backend-service ein.

  4. Wählen Sie für den Backend-Typ die Option Instanzgruppe aus.

  5. Legen Sie als Protokoll HTTP fest.

  6. Geben Sie im Feld Benannter Port http ein. Dies ist der Portname, den Sie beim Erstellen der verwalteten Instanzgruppe eingegeben haben.

  7. So fügen Sie Backends zum Backend-Dienst hinzu:

    1. Legen Sie im Bereich Back-Ends die Instanzgruppe auf lb-backend fest. Dies ist die verwaltete Instanzgruppe, die Sie in einem vorherigen Schritt erstellt haben.

    2. Geben Sie unter Portnummern 80 ein.

    3. Klicken Sie auf Fertig, um das Backend hinzuzufügen.

  8. Wählen Sie zum Hinzufügen einer Systemdiagnose in der Liste Systemdiagnose die zuvor erstellte Systemdiagnose lb-health-check aus.

  9. Klicken Sie auf Erstellen, um den Backend-Dienst zu erstellen.

  10. Überprüfen Sie, bevor Sie fortfahren, ob sich neben Backend-Konfiguration ein blaues Häkchen befindet.

Routingregeln konfigurieren

  • Klicken Sie auf Routingregeln. Achten Sie darauf, dass lb-backend-service der Standard-Backend-Dienst für alle nicht übereinstimmenden Hosts und alle nicht übereinstimmenden Pfade ist.

Weitere Informationen zur Trafficverwaltung finden Sie unter Trafficverwaltung einrichten.

Konfiguration prüfen und fertigstellen

  1. Klicken Sie auf Prüfen und abschließen.

  2. Prüfen Sie das Frontend und das Backend des Load-Balancers, um sicherzustellen, dass er wie gewünscht konfiguriert ist.

  3. Klicken Sie auf Erstellen und warten Sie, bis der Load-Balancer erstellt ist.

gcloud

  1. Erstellen Sie einen Backend-Dienst, um den Traffic auf Backends zu verteilen:

    gcloud compute backend-services create lb-backend-service \
        --load-balancing-scheme=EXTERNAL_MANAGED \
        --protocol=HTTP \
        --port-name=http \
        --health-checks=lb-health-check \
        --global \
        --project=SERVICE_PROJECT_ID
    
  2. Fügen Sie Ihre Instanzgruppe als Backend zum Backend-Dienst hinzu:

    gcloud compute backend-services add-backend lb-backend-service \
        --instance-group=lb-backend \
        --instance-group-zone=us-west1-a \
        --global \
        --project=SERVICE_PROJECT_ID
    
  3. Erstellen Sie eine URL-Zuordnung, um eingehende Anfragen an den Backend-Dienst weiterzuleiten:

    gcloud compute url-maps create lb-map \
        --default-service=lb-backend-service \
        --global \
        --project=SERVICE_PROJECT_ID
    
  4. Erstellen Sie einen Zielproxy.

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

    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. Daher laden Sie in diesem Schritt auch Ihr SSL-Zertifikat.

    gcloud compute target-https-proxies create https-proxy \
        --url-map=lb-map \
        --ssl-certificates=lb-ssl-cert
        --global \
        --project=SERVICE_PROJECT_ID
    
  5. Erstellen Sie eine Weiterleitungsregel.

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

    gcloud compute forwarding-rules create http-fw-rule \
        --load-balancing-scheme=EXTERNAL_MANAGED \
        --address=lb-ipv4-1 \
        --global \
        --target-http-proxy=http-proxy \
        --ports=80 \
        --project=SERVICE_PROJECT_ID
    

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

    gcloud compute forwarding-rules create https-fw-rule \
        --load-balancing-scheme=EXTERNAL_MANAGED \
        --address=lb-ipv4-1 \
        --global \
        --target-https-proxy=https-proxy \
        --ports=443 \
        --project=SERVICE_PROJECT_ID
    

Load-Balancer testen

Sobald der Load-Balancing-Dienst 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 den Load-Balancer, den Sie gerade erstellt haben.

  3. Notieren Sie die IP-Adresse des Load-Balancers. Diese IP-Adresse wird in den folgenden Schritten als LB_IP_ADDRESS bezeichnet.

  4. Prüfen Sie im Bereich Backend, ob die VMs fehlerfrei sind.

    Die Spalte Fehlerfrei sollte ausgefüllt sein. Sie gibt an, dass die VMs fehlerfrei sind. Zum Beispiel: Wenn zwei Instanzen erstellt wurden, sollten Sie die Meldung 2 of 2 mit einem grünen Häkchen daneben sehen. Wenn Sie etwas anderes sehen, versuchen Sie zuerst, die Seite neu zu laden. Es kann einige Minuten dauern, bis in der Google Cloud Console angezeigt wird, dass die VMs fehlerfrei sind. Wenn die Backends nach einigen Minuten nicht als fehlerfrei angezeigt werden, prüfen Sie die Firewallkonfiguration und das Netzwerk-Tag, die Ihren Backend-VMs zugewiesen sind.

  5. Sobald die Google Cloud Console anzeigt, dass die Backend-Instanzen in Ordnung sind, können Sie Ihren Load-Balancer testen. Verweisen Sie dazu in Ihrem Webbrowser auf https://LB_IP_ADDRESS (oder http://LB_IP_ADDRESS). Ersetzen Sie LB_IP_ADDRESS durch die IP-Adresse des Load-Balancers.

  6. Wenn Sie ein selbst signiertes Zertifikat genutzt haben, um HTTPS zu testen, zeigt Ihr Browser eine Warnung an. Sie müssen Ihren Browser ausdrücklich anweisen, ein selbst signiertes Zertifikat zu akzeptieren.

  7. Im Browser sollte eine Seite mit einem Inhalt dargestellt werden, der den Namen der Instanz, die die Seite bereitstellt, und deren Zone enthält (z. B. Page served from: lb-backend-example-xxxx). Wenn der Browser diese Seite nicht anzeigt, prüfen Sie die Konfigurationseinstellungen aus dieser Anleitung.

gcloud

Notieren Sie sich die reservierte IP-Adresse:

gcloud compute addresses describe IP_ADDRESS_NAME \
    --format="get(address)" \
    --global

Sie können Ihren Load-Balancer testen, indem Sie Ihren Webbrowser auf https://LB_IP_ADDRESS (oder http://LB_IP_ADDRESS) verweisen. Ersetzen Sie LB_IP_ADDRESS durch die IP-Adresse des Load-Balancers.

Wenn Sie ein selbst signiertes Zertifikat genutzt haben, um HTTPS zu testen, zeigt Ihr Browser eine Warnung an. Sie müssen Ihren Browser ausdrücklich anweisen, ein selbst signiertes Zertifikat zu akzeptieren.

Im Browser sollte eine Seite mit minimalen Informationen zur Backend-Instanz angezeigt werden. Wenn diese Seite im Browser nicht angezeigt wird, prüfen Sie die Konfigurationseinstellungen in dieser Anleitung.

Nächste Schritte