Regionalen internen Application Load Balancer mit einem externen Backend einrichten

In dieser Anleitung erfahren Sie, wie Sie einen regionalen internen Application Load Balancer konfigurieren, der Anfragen an ein externes Backend weiterleiten. Ein externes Backend ist ein Endpunkt, der sich außerhalb von Google Cloud befindet.

Bevor Sie dieser Anleitung folgen, sollten Sie sich mit der Internet-NEG-Übersicht und den Einschränkungen vertraut machen.

Das folgende Architekturdiagramm zeigt ein regionales internes Application Load Balancer-Frontend mit einem externen Backend.

Regionaler interner Application Load Balancer mit externem Backend.
Abbildung 1. A regional internal Application Load Balancer with an external backend (click to enlarge).

Berechtigungen

Damit Sie diesem Leitfaden folgen können, müssen Sie eine Internet-NEG erstellen und einen Application Load Balancer in einem Projekt erstellen oder ändern. Sie sollten entweder Inhaber oder Bearbeiter (roles/owner oder roles/editor) des Projekts sein oder alle folgenden IAM-Rollen in Compute Engine haben:

Aufgabe Erforderliche Rolle
Load-Balancer-Komponenten erstellen und ändern Compute-Netzwerkadministrator
(roles/compute.networkAdmin)
NEGs erstellen und ändern Compute-Instanzadministrator
(roles/compute.instanceAdmin)

Externe Backend-Umgebung außerhalb von Google Cloud einrichten

In den folgenden Abschnitten erfahren Sie, wie Sie Ihre externe Backend-Umgebung einrichten.

Netzwerkendpunkte konfigurieren

Konfigurieren Sie einen Netzwerkendpunkt, um Ihr externes Backend für Google Cloud verfügbar zu machen. Achten Sie darauf, dass der Endpunkt – entweder eine Kombination aus IP:Port oder einem vollqualifizierten Domainnamen (FQDN) und Port – über das Internet erreichbar ist. Dieser Endpunkt wird später von der Internet-NEG referenziert.

Ausführliche Konfigurationsanforderungen für Internet-NEG-Endpunkte finden Sie in der Übersicht über Internet-NEGs.

Externem Backend Traffic von Google Cloud erlauben

Dieser Schritt kann ausgeführt werden, nachdem Sie das Nur-Proxy-Subnetz erstellt und das Cloud NAT-Gateway eingerichtet haben.

Damit Anfragen von Google Cloud Ihr externes Backend erreichen können, müssen Sie die folgenden Schritte ausführen:

  1. Konfigurieren Sie ein Cloud NAT-Gateway mit IP-Adressen, die für ausgehenden Traffic von Google Cloud verwendet werden. Das Gateway ordnet den Subnetzbereich, der nur für den Proxy verwendet wird, den externen IP-Adressen zu. Eine Anleitung finden Sie unter Cloud NAT-Gateway einrichten.
  2. Achten Sie darauf, dass Ihre externe Backend-Umgebung so konfiguriert ist, dass Traffic von Google Cloud das externe Backend erreichen kann. Wenn Sie beispielsweise vorab reservierte IP-Adressen für das NAT-Gateway verwendet haben, setzen Sie diese IP-Adressen in Ihrer externen Umgebung auf die Zulassungsliste. Sie müssen wahrscheinlich mit dem Netzwerk- oder Sicherheitsadministrator Ihrer externen Umgebung zusammenarbeiten, um diese Einrichtung vorzunehmen

Google Cloud-Umgebung einrichten

Sie benötigen ein VPC-Netzwerk mit zwei Subnetzen: eines für die Komponenten des Load Balancers und eines für das Nur-Proxy-Subnetz der Region. Anschließend erstellen Sie den Load Balancer mit einem Internet-NEG-Backend.

VPC-Netzwerk und Subnetz erstellen

Dieses Subnetz wird zum Erstellen der Komponenten des Load Balancers verwendet.

Cloud 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 einen Namen ein: LB_NETWORK.
  4. Im Bereich Subnetze:
    • Legen Sie Modus für Subnetzerstellung auf Benutzerdefiniert fest.
    • Geben Sie im Bereich Neues Subnetz folgende Informationen ein:
      • Name: LB_SUBNET_NAME
      • Region: REGION
      • IP-Adressbereich: LB_SUBNET_RANGE
    • Klicken Sie auf Fertig.
  5. Klicken Sie auf Erstellen.

gcloud

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

    gcloud compute networks create LB_NETWORK \
      --subnet-mode=custom
    
  2. Erstellen Sie ein Subnetz im Netzwerk LB_NETWORK.

    gcloud compute networks subnets create LB_SUBNET_NAME \
      --network=LB_NETWORK \
      --range=LB_SUBNET_RANGE \
      --region=REGION
    

Nur-Proxy-Subnetz konfigurieren

Dieses Nur-Proxy-Subnetz wird für alle regionalen Envoy-basierten Load-Balancer in der Region REGION verwendet.

Console

  1. Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf.
    Zur Seite „VPC-Netzwerke“
  2. Wählen Sie in der Liste ein Netzwerk aus.
  3. Klicken Sie auf Subnetz hinzufügen.
  4. Geben Sie einen Namen ein: PROXY_ONLY_SUBNET_NAME.
  5. Wählen Sie eine Region aus: REGION.
  6. Setzen Sie Zweck auf Regional verwalteter Proxy.
  7. Geben Sie einen IP-Adressbereich ein: PROXY_ONLY_SUBNET_RANGE
  8. Klicken Sie auf Hinzufügen.

gcloud

Erstellen Sie das Nur-Proxy-Subnetz mit dem Befehl gcloud compute networks subnets create.

gcloud compute networks subnets create PROXY_ONLY_SUBNET_NAME \
  --purpose=REGIONAL_MANAGED_PROXY \
  --role=ACTIVE \
  --region=REGION \
  --network=LB_NETWORK \
  --range=PROXY_ONLY_SUBNET_RANGE

Cloud NAT-Gateway einrichten

Bevor Sie das Cloud NAT-Gateway konfigurieren, sollten Sie die zugehörigen Einschränkungen und Überlegungen zu Preisen gelesen haben. Weitere Informationen finden Sie unter Regionale NEGs: Cloud NAT-Gateway verwenden.

In den folgenden Befehlen wird beschrieben, wie Sie ein Cloud NAT-Gateway einrichten. Das Cloud NAT-Gateway kann so konfiguriert werden, dass es entweder automatische oder externe NAT-IP-Adressen verwendet, bei denen die Zuweisung nach Bedarf erfolgt, oder dass ein manuell vorab reservierter Satz externer IP-Adressen verwendet wird. Das Gateway ordnet den Bereich des Nur-Proxy-Subnetzes den externen IP-Adressen zu.

Automatisch zugewiesene NAT-IP-Adressen einrichten

Wenn Sie ein Cloud NAT-Gateway mit automatischer NAT-IP-Adresszuweisung erstellen, können Sie die Netzwerkdienststufen (Premium- oder Standardstufe) angeben, von denen das Cloud NAT-Gateway weist die IP-Adressen zu.

Console

  1. Wechseln Sie in der Google Cloud Console zur Seite Cloud NAT.

    Zur Seite "Cloud NAT"

  2. Klicken Sie auf Erste Schritte oder NAT-Gateway erstellen.

  3. Geben Sie Name des Gateways ein.LB_NAT_CONFIG

  4. Wählen Sie für NAT-Typ die Option Öffentlich aus.

  5. Wählen Sie in der Liste Netzwerk die Option LB_NETWORK aus.

  6. Wählen Sie in der Liste Region REGION aus.

  7. Erstellen Sie einen Cloud Router in der Region.

  8. Wählen Sie für Quellendpunkttyp die Option Verwaltete Proxy-Load Balancer aus.

  9. Wählen Sie in der Liste Quelle die Option Benutzerdefiniert aus.

    • Wählen Sie für Subnetze die Option PROXY_ONLY_SUBNET_NAME aus.
  10. Wählen Sie in der Liste Cloud NAT-IP-Adressen die Option Automatisch (empfohlen) aus.

  11. Wählen Sie für Netzwerkdienststufe entweder Premium oder Standard aus.

  12. Klicken Sie auf Erstellen.

gcloud

Verwenden Sie dynamisch zugeordnete IP-Adressen, wenn Sie in Ihrer externen Backend-Umgebung keine bestimmten Google Cloud-IP-Adressen zulassen müssen, die Traffic an das externe Backend senden können.

  1. Erstellen Sie einen Cloud Router:

    gcloud beta compute routers create ROUTER_NAME \
      --network=LB_NETWORK \
      --region=REGION
  2. Richten Sie das Cloud NAT-Gateway ein.

    gcloud beta compute routers nats create LB_NAT_CONFIG \
      --router=ROUTER_NAME \
      --endpoint-types=ENDPOINT_TYPE_MANAGED_PROXY_LB \
      --nat-custom-subnet-ip-ranges=PROXY_ONLY_SUBNET_NAME \
      --auto-allocate-nat-external-ips \
      --region=REGION
    

Ersetzen Sie dabei Folgendes:

  • LB_NAT_CONFIG: Der Name Ihrer NAT-Konfiguration.

  • ROUTER_NAME: Der Name Ihres Cloud Routers.

  • REGION: Die Region der zu erstellenden NAT. Wenn Sie keine Region angeben, werden Sie möglicherweise aufgefordert, eine Region auszuwählen (nur im interaktiven Modus).

  • PROXY_ONLY_SUBNET_NAME: Der Name Ihres Nur-Proxy-Subnetzes.

Manuell zugewiesene IP-Adressen einrichten

Verwenden Sie manuell zugeordnete IP-Adressen nur, wenn Ihre externe Backend-Umgebung erfordert, dass Sie für bestimmte Google Cloud-IP-Adressen eine Zulassungsliste verwenden. Wenn die externe Backend-Umgebung keine Zulassungsliste erfordert, verwenden Sie stattdessen die dynamische Zuordnung, wie oben gezeigt.

Beim Erstellen eines Cloud NAT-Gateways können Sie NAT-IP-Adressen entweder von der Premium- oder der Standardstufe oder von beiden manuell zuweisen, wenn bestimmte Bedingungen erfüllt sind.

Console

  1. Wechseln Sie in der Google Cloud Console zur Seite Cloud NAT.

    Zur Seite "Cloud NAT"

  2. Klicken Sie auf Erste Schritte oder NAT-Gateway erstellen.

  3. Geben Sie Name des Gateways ein.LB_NAT_CONFIG

  4. Wählen Sie in der Liste Netzwerk die Option LB_NETWORK aus.

  5. Wählen Sie in der Liste Region REGION aus.

  6. Wählen Sie einen Cloud Router in der Region aus oder erstellen Sie einen.

  7. Wählen Sie für Quellendpunkttyp die Option Verwaltete Proxy-Load Balancer aus.

  8. Wählen Sie in der Liste Quelle die Option Benutzerdefiniert aus.

    • Wählen Sie unter Subnetze die Option PROXY_ONLY_SUBNET_NAME aus.
  9. Wählen Sie in der Liste Cloud NAT-IP-Adressen die Option Manuell aus.

  10. Wählen Sie für Netzwerkdienststufe entweder Premium oder Standard aus.

  11. Wählen Sie eine statische reservierte externe IP-Adresse aus, die für NAT verwendet werden soll, oder erstellen sie eine.

  12. Wenn Sie zusätzliche IP-Adressen angeben möchten, klicken Sie auf IP-Adresse hinzufügen und wählen Sie dann eine zusätzliche statische reservierte externe IP-Adresse aus, oder erstellen Sie eine.

  13. Klicken Sie auf Erstellen.

gcloud

  1. Erstellen Sie die IP-Adressen. Da das Gateway eine 1:1-NAT-Übersetzung durchführt, müssen Sie darauf achten, dass der Pool reservierter IP-Adressen groß genug ist, um den erwarteten Traffic zu bewältigen. Eine unzureichende Anzahl zugeordneter NAT-IP-Adressen kann zu Trafficverlusten führen.

    gcloud compute addresses create IP_ADDRESS_NAME_1 IP_ADDRESS_NAME_2 [IP_ADDRESS_NAME_3 ...] \
      --region=REGION
    
  2. Erstellen Sie einen Cloud Router:

    gcloud compute routers create ROUTER_NAME \
      --network=LB_NETWORK \
      --region=REGION
  3. Richten Sie das Cloud NAT-Gateway ein.

    gcloud beta compute routers nats create LB_NAT_CONFIG \
      --router=ROUTER_NAME \
      --endpoint-types=ENDPOINT_TYPE_MANAGED_PROXY_LB \
      --nat-custom-subnet-ip-ranges=PROXY_ONLY_SUBNET_NAME \
      --nat-external-ip-pool=IP_ADDRESS_NAME_1,IP_ADDRESS_NAME_2,[IP_ADDRESS_NAME_3 ...] \
      --region=REGION
    

    Ersetzen Sie dabei Folgendes:

  • LB_NAT_CONFIG: Der Name Ihrer NAT-Konfiguration.

  • ROUTER_NAME: Der Name Ihres Cloud Routers.

  • PROXY_ONLY_SUBNET_NAME: Der Name Ihres Nur-Proxy-Subnetzes.

  • REGION: Die Region der zu erstellenden NAT. Wenn Sie keine Region angeben, werden Sie möglicherweise aufgefordert, eine Region auszuwählen (nur im interaktiven Modus).

Weitere Informationen finden Sie unter Subnetzbereiche für NAT angeben in der Cloud NAT-Dokumentation.

Verwenden Sie eine Zulassungsliste für die NAT-IP-Adressbereiche in Ihrer externen Backend-Umgebung, damit Ihr externes Backend Traffic von Google Cloud empfangen kann.

IP-Adresse des Load-Balancers reservieren

Reservieren Sie eine interne IP-Adresse für den Load Balancer.

Console

Sie können eine eigenständige interne IP-Adresse über die Google Cloud Console reservieren.

  1. Rufen Sie die Seite VPC-Netzwerke auf.

    Zur Seite VPC-Netzwerke

  2. Klicken Sie auf das Netzwerk, das zum Konfigurieren der Hybridkonnektivität zwischen den Umgebungen verwendet wurde.
  3. Klicken Sie auf Statische interne IP-Adressen und dann auf Statische Adresse reservieren.
  4. Geben Sie einen Namen ein: LB_IP_ADDRESS.
  5. Wählen Sie LB_SUBNET_NAME als Subnetz aus.
  6. Wenn Sie angeben möchten, welche IP-Adresse reserviert werden soll, wählen Sie unter Statische IP-Adresse die Option Selbst auswählen aus und geben Sie dann eine benutzerdefinierte IP-Adresse ein. Andernfalls weist das System automatisch eine IP-Adresse im Subnetz zu.
  7. Wenn Sie diese IP-Adresse mit mehreren Weiterleitungsregeln verwenden möchten, wählen Sie unter Zweck die Option Freigegeben aus.
  8. Klicken Sie auf Reservieren, um den Vorgang abzuschließen.

gcloud

  1. Führen Sie in der gcloud CLI den Befehl compute addresses create aus:

    gcloud compute addresses create LB_IP_ADDRESS \
      --region=REGION \
      --subnet=LB_SUBNET_NAME
    
  2. Verwenden Sie den Befehl compute addresses describe, um die zugewiesene IP-Adresse aufzurufen:

    gcloud compute addresses describe LB_IP_ADDRESS \
      --region=REGION
    

Internet-NEG einrichten

Sie können eine Internet-NEG mit INTERNET_FQDN_PORT- oder INTERNET_IP_PORT-Endpunkten erstellen.

Console

NEG mit INTERNET_FQDN_PORT-Endpunkten erstellen

  1. Rufen Sie in der Google Cloud Console die Seite Netzwerk-Endpunktgruppe auf.

    Zu „Netzwerk-Endpunktgruppe“

  2. Klicken Sie auf Netzwerk-Endpunktgruppe erstellen.

  3. Geben Sie einen INTERNET_NEG_NAME für Ihre Internet-NEG an. Weitere Informationen finden Sie unter Namenskonvention für Ressourcen.

  4. Wählen Sie in der Liste Typ der Netzwerkendpunktgruppe die Option Netzwerkendpunktgruppe (Internet) aus und führen Sie dann die folgenden Schritte aus:

    • Wählen Sie in der Liste Umfang die Option Regional aus.
    • Ändern Sie optional in der Liste Region die REGION für diese NEG.
    • Wählen Sie in der Liste Netzwerk die Option LB_NETWORK aus.
    • Geben Sie in das Feld Standardport den Wert DEFAULT_PORT_NUMBER ein.
    • Wählen Sie in der Liste Endpunkte hinzufügen über die Option Voll qualifizierter Domainname und Port aus.
  5. Wählen Sie Erstellen aus.

Fügen Sie der NEG INTERNET_FQDN_PORTEndpunkte hinzu.

  1. Rufen Sie in der Google Cloud Console die Seite Netzwerk-Endpunktgruppe auf.

    Zu „Netzwerk-Endpunktgruppe“

  2. Klicken Sie auf INTERNET_NEG_NAME.
  3. Geben Sie den voll qualifizierten Domainnamen ein, z. B. myorg.example.com. FQDN-Objekte müssen in der Standard-FQDN-Syntax angegeben werden.

  4. Optional: Wählen Sie als Porttyp Benutzerdefiniert aus. Wenn der Porttyp Default ist, wird der Standardport der NEG verwendet.

  5. Geben Sie im Feld Portnummer den Wert PORT_NUMBER_1 ein.
  6. Wählen Sie Erstellen aus.

NEG mit INTERNET_IP_PORT-Endpunkten erstellen

  1. Rufen Sie in der Google Cloud Console die Seite Netzwerk-Endpunktgruppe auf.

    Zu „Netzwerk-Endpunktgruppe“

  2. Klicken Sie auf Netzwerk-Endpunktgruppe erstellen.

  3. Geben Sie einen Namen INTERNET_NEG_NAME für Ihre Internet-NEG an. Weitere Informationen finden Sie unter Namenskonvention für Ressourcen.

  4. Wählen Sie in der Liste Typ der Netzwerkendpunktgruppe die Option Netzwerkendpunktgruppe (Internet) aus und führen Sie dann die folgenden Schritte aus:

    • Wählen Sie in der Liste Umfang die Option Regional aus.
    • Ändern Sie optional in der Liste Region die REGION für diese NEG.
    • Wählen Sie in der Liste Netzwerk die Option LB_NETWORK aus.
    • Geben Sie in das Feld Standardport die Zahl DEFAULT_PORT_NUMBER ein.
    • Wählen Sie in der Liste Endpunkte hinzufügen über die Option IP und Port aus.
  5. Wählen Sie Erstellen aus.

Fügen Sie der NEG INTERNET_IP_PORTEndpunkte hinzu.

  1. Rufen Sie in der Google Cloud Console die Seite Netzwerk-Endpunktgruppe auf.

    Zu „Netzwerk-Endpunktgruppe“

  2. Klicken Sie auf INTERNET_NEG_NAME.
  3. Geben Sie im Feld IP-Adresse IP_ADDRESS_1 ein.
  4. Optional: Wählen Sie in der Liste Porttyp die Option Benutzerdefiniert aus. Wenn der Porttyp Default ist, wird der Standardport der NEG verwendet.

  5. Geben Sie im Feld Portnummer den Wert PORT_NUMBER_1 ein.
  6. Wählen Sie Erstellen aus.

gcloud

So erstellen Sie eine NEG mit INTERNET_FQDN_PORT-Endpunkten:

  1. Erstellen Sie die NEG-Ressource.

    gcloud beta compute network-endpoint-groups create INTERNET_NEG_NAME \
        --network-endpoint-type=INTERNET_FQDN_PORT \
        --default-port=DEFAULT_PORT_NUMBER \
        --network=LB_NETWORK \
        --region=REGION
    
  2. Fügen Sie der NEG Endpunkte hinzu. Wenn kein Port angegeben ist, wird der Standardport der NEG verwendet.

    gcloud beta compute network-endpoint-groups update INTERNET_NEG_NAME \
        --add-endpoint="fqdn=FULLY_QUALIFIED_DOMAIN_NAME_1,port=PORT_NUMBER_1" \
        [--add-endpoint="fqdn=FULLY_QUALIFIED_DOMAIN_NAME_2,port=PORT_NUMBER_2" \]
        --region=REGION
    

    Ersetzen Sie dabei Folgendes:

    • FULLY_QUALIFIED_DOMAIN_NAME: der voll qualifizierte Domainname für den Endpunkt
    • PORT_NUMBER: die Portnummer für den Endpunkt

    Sie können bis zu 256 Endpunkte pro NEG hinzufügen.

Wenn Ihre Domain über das Internet aufgelöst werden kann, ist keine weitere Konfiguration erforderlich, um DNS einzurichten. Wenn Sie jedoch private FQDNs verwenden, müssen Sie Cloud DNS konfigurieren, um die DNS-Auflösung zu ermöglichen. Der Name muss in Cloud DNS gehostet werden oder durch die DNS-Weiterleitung von Cloud DNS zu einem lokalen DNS aufgelöst werden können.

Erstellen Sie zuerst eine Cloud DNS-Zone, um die DNS-Einträge in Ihrem Projekt zu hosten. Fügen Sie dann die DNS-Einträge hinzu. In der Cloud DNS-Dokumentation finden Sie Informationen zu den einzelnen Konfigurationsschritten.

So erstellen Sie eine NEG mit INTERNET_IP_PORT-Endpunkten:

  1. Erstellen Sie die NEG-Ressource.

    gcloud beta compute network-endpoint-groups create INTERNET_NEG_NAME \
        --network-endpoint-type=INTERNET_IP_PORT \
        --default-port=DEFAULT_PORT_NUMBER \
        --network=LB_NETWORK \
        --region=REGION
    
  2. Fügen Sie der NEG Endpunkte hinzu. Wenn kein Port angegeben ist, wird der Standardport der NEG verwendet.

    gcloud beta compute network-endpoint-groups update INTERNET_NEG_NAME \
        --add-endpoint="ip=IP_ADDRESS_1,port=PORT_NUMBER_1" \
        [--add-endpoint="ip=IP_ADDRESS_2,port=PORT_NUMBER_2" \]
        --region=REGION
    

    Ersetzen Sie dabei Folgendes:

    • IP_ADDRESS: die IP-Adresse für den Endpunkt
    • PORT_NUMBER: die Portnummer für den Endpunkt

    Sie können diesen Schritt wiederholen, um bis zu 256 Endpunkte pro NEG hinzuzufügen.

Load-Balancer erstellen

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 Intern aus und klicken Sie auf Weiter.
  5. Wählen Sie für Regionenübergreifende oder Einzelregion-Bereitstellung die Option Am besten für regionale Arbeitslasten aus und klicken Sie auf Weiter.
  6. Klicken Sie auf Konfigurieren.

Grundlegende Konfiguration

  1. Geben Sie im Feld Name des Load Balancers einen Namen ein.
  2. Wählen Sie bei Region die Option REGION aus.
  3. Wählen Sie für Netzwerk die Option LB_NETWORK aus.

Nur-Proxy-Subnetz reservieren

So reservieren Sie ein Nur-Proxy-Subnetz:

  1. Klicken Sie auf Subnetz reservieren.
  2. Geben Sie für Name PROXY_ONLY_SUBNET_NAME ein.
  3. Geben Sie PROXY_ONLY_SUBNET_RANGE als IP-Adressbereich ein.
  4. Klicken Sie auf Hinzufügen.

Frontend-Konfiguration

  1. Klicken Sie auf Frontend-Konfiguration.
  2. Geben Sie einen Namen ein.
  3. Wählen Sie für Subnetzwerk die Option LB_SUBNET_NAME aus.
  4. Zum Erstellen eines HTTPS-Load-Balancers benötigen Sie ein SSL-Zertifikat. Wir empfehlen die Verwendung eines von Google verwalteten Zertifikats.

    Attribut Wert (Wert eingeben bzw. Option auswählen)
    Protokoll HTTPS
    IP-Version IPv4
    IP-Adresse Wählen Sie die zuvor reservierte IP-Adresse aus: LB_IP_ADDRESS.
    Port 443
    Zertifikat

    Wählen Sie ein vorhandenes Zertifikat aus oder erstellen Sie ein neues.

    Zum Erstellen eines HTTPS-Load-Balancers benötigen Sie eine SSL-Zertifikatsressource, die im HTTPS-Proxy verwendet wird.

    Wenn Sie diesen Prozess testen möchten, ohne eine SSL-Zertifikatsressource oder eine Domain einzurichten (für von Google verwaltete Zertifikate erforderlich), können Sie einen HTTP-Load-Balancer einrichten.

    Um einen HTTP-Load-Balancer zu erstellen, prüfen Sie, ob die folgenden Optionen mit diesen Werten konfiguriert sind:

    Attribut Wert (Wert eingeben bzw. Option auswählen)
    Protokoll HTTP
    IP-Version IPv4
    IP-Adresse Wählen Sie die zuvor reservierte IP-Adresse aus: LB_IP_ADDRESS.
    Port 80
  5. Klicken Sie auf Fertig.

Backend-Konfiguration

  1. Klicken Sie auf Backend-Konfiguration.
  2. Klicken Sie auf Backend-Dienste und Backend-Buckets.
  3. Klicken Sie auf Backend-Dienst erstellen.
  4. Geben Sie einen Namen ein.
  5. Wählen Sie als Backend-Typ die Option Internetnetzwerk-Endpunktgruppe aus.
  6. Wählen Sie unter Protokoll das Protokoll aus, das Sie vom Load-Balancer zur Internet-NEG verwenden möchten.
  7. Wählen Sie unter Back-Ends im Fenster Neues Backend die im vorherigen Schritt erstellte Regionale Internetnetzwerk-Endpunktgruppe aus.
  8. Klicken Sie auf Fertig.
  9. Systemdiagnose konfigurieren:
    1. Klicken Sie bei Systemdiagnose auf Systemdiagnose erstellen.
    2. Geben Sie HTTP_HEALTH_CHECK_NAME als Name für die Systemdiagnose an.
    3. Wählen Sie für Protokoll die Option HTTP aus.
    4. Legen Sie für Port den Wert 80 fest.
  10. Klicken Sie auf Erstellen.

Überprüfen und abschließen

  1. Klicken Sie auf Prüfen und abschließen.
  2. Wenn alles korrekt aussieht, klicken Sie auf Erstellen.

gcloud

  1. Optional: Erstellen Sie eine Systemdiagnose. Die Systemdiagnoseprüfungen für externe Back-Ends verwenden verteilte Envoy-Systemdiagnosen und werden später mit NAT übersetzt.
    gcloud compute health-checks create http HTTP_HEALTH_CHECK_NAME \
        --region=REGION \
        --use-serving-port
    
  2. Erstellen Sie einen Backend-Dienst.
    gcloud compute backend-services create BACKEND_SERVICE \
        --load-balancing-scheme=INTERNAL_MANAGED \
        --protocol=HTTP \
        --health-checks=HTTP_HEALTH_CHECK_NAME \
        --health-checks-region=REGION \
        --region=REGION
    
  3. Fügen Sie dem Backend-Dienst die Internet-NEG hinzu:
    gcloud compute backend-services add-backend BACKEND_SERVICE \
        --network-endpoint-group=INTERNET_NEG_NAME \
        --network-endpoint-group-region=REGION \
        --region=REGION
    
  4. Erstellen Sie eine URL-Zuordnung, um eingehende Anfragen an den Backend-Dienst weiterzuleiten:
    gcloud compute url-maps create URL_MAP_NAME \
        --default-service=BACKEND_SERVICE \
        --region=REGION
    
  5. Optional: Führen Sie diesen Schritt aus, wenn Sie HTTPS zwischen dem Client und dem Load Balancer verwenden. Dieser Schritt ist für HTTP-Load-Balancer nicht erforderlich.

    Sie können entweder Compute Engine- oder Zertifikatmanager-Zertifikate erstellen. Verwenden Sie eine der folgenden Methoden, um Zertifikate mit Zertifikatmanager zu erstellen:

    • Selbst verwaltete regionale Zertifikate Informationen zum Erstellen und Verwenden regionaler selbstverwalteter Zertifikate finden Sie unter Regionales selbstverwaltetes Zertifikat bereitstellen. Zertifikatszuordnungen werden nicht unterstützt.

    • Regionale von Google verwaltete Zertifikate Zertifikatszuordnungen werden nicht unterstützt.

      Die folgenden Arten von regionalen von Google verwalteten Zertifikaten werden von Certificate Manager unterstützt:

    • Nachdem Sie Zertifikate erstellt haben, hängen Sie diese direkt an den Zielproxy an.

      So erstellen Sie eine selbstverwaltete SSL-Zertifikatsressource von Compute Engine:
      gcloud compute ssl-certificates create SSL_CERTIFICATE_NAME \
          --certificate CRT_FILE_PATH \
          --private-key KEY_FILE_PATH
      
    • Erstellen Sie einen HTTP(S)-Zielproxy, um Anfragen an Ihre URL-Zuordnung weiterzuleiten.

      Erstellen Sie einen HTTP-Zielproxy für einen HTTP-Load-Balancer:

      gcloud compute target-http-proxies create TARGET_HTTP_PROXY_NAME \
          --url-map=URL_MAP_NAME \
          --region=REGION
      

      Erstellen Sie einen HTTPS-Zielproxy für einen HTTPS-Load-Balancer. Der Proxy ist der Teil des Load-Balancers, der das SSL-Zertifikat für den HTTPS-Load-Balancer besitzt. Daher laden Sie in diesem Schritt auch Ihr Zertifikat.

      gcloud compute target-https-proxies create TARGET_HTTPS_PROXY_NAME \
          --ssl-certificates=SSL_CERTIFICATE_NAME \
          --url-map=URL_MAP_NAME \
          --region=REGION
      
    • Erstellen Sie eine Weiterleitungsregel, um eingehende Anfragen an den Proxy weiterzuleiten.

      Für einen HTTP-Load-Balancer:

      gcloud compute forwarding-rules create HTTP_FORWARDING_RULE_NAME \
          --load-balancing-scheme=INTERNAL_MANAGED \
          --network-tier=PREMIUM \
          --network=LB_NETWORK \
          --subnet=LB_SUBNET_NAME \
          --address=LB_IP_ADDRESS \
          --target-http-proxy=TARGET_HTTP_PROXY_NAME \
          --target-http-proxy-region=REGION \
          --region=REGION \
          --ports=80
      

      Für einen HTTPS-Load-Balancer:

      gcloud compute forwarding-rules create HTTPS_FORWARDING_RULE_NAME \
          --load-balancing-scheme=INTERNAL_MANAGED \
          --network-tier=PREMIUM \
          --network=LB_NETWORK \
          --subnet=LB_SUBNET_NAME \
          --address=LB_IP_ADDRESS \
          --target-https-proxy=TARGET_HTTPS_PROXY_NAME \
          --target-http-proxy-region=REGION \
          --region=REGION \
          --ports=443
      

Domain mit dem Load-Balancer verbinden

Notieren Sie sich nach der Erstellung des Load-Balancers die IP-Adresse, die diesem zugewiesen ist, z. B. 30.90.80.100. Wenn Sie Ihre Domain auf den Load-Balancer verweisen möchten, erstellen Sie mit Ihrem Domain-Registrierungsdienst einen A-Eintrag. Wenn Sie Ihrem SSL-Zertifikat mehrere Domains hinzugefügt haben, müssen Sie für jede Domain einen A-Eintrag hinzufügen, der auf die IP-Adresse des Load-Balancers verweist. So erstellen Sie beispielsweise A-Einträge für www.example.com und example.com:

NAME                  TYPE     DATA
www                   A        30.90.80.100
@                     A        30.90.80.100

Wenn Sie Cloud DNS als DNS-Anbieter verwenden, finden Sie weitere Informationen unter Einträge hinzufügen, ändern und löschen.

Load-Balancer testen

Nachdem Sie den Load-Balancer konfiguriert haben, können Sie Traffic an die IP-Adresse des Load-Balancers senden.

Client-VM erstellen

In diesem Beispiel wird eine Client-VM (vm-client) in derselben Region wie der Load-Balancer erstellt. Der Client validiert die Konfiguration des Load-Balancers und demonstriert das erwartete Verhalten.

gcloud

Die Client-VM kann sich in einer beliebigen Zone in derselben REGION wie der Load-Balancer befinden. Außerdem kann sie jedes Subnetz im selben VPC-Netzwerk verwenden.

gcloud compute instances create vm-client \
    --image-family=debian-10 \
    --image-project=debian-cloud \
    --tags=allow-ssh \
    --network=LB_NETWORK \
    --subnet=LB_SUBNET_NAME \
    --zone=ZONE

Traffic an den Load-Balancer senden

Es kann einige Minuten dauern, bis die Load-Balancer-Konfiguration nach der ersten Bereitstellung übernommen wird.

  • Stellen Sie mit SSH eine Verbindung zur Client-Instanz her.

    gcloud compute ssh vm-client \
      --zone=ZONE
    
  • Prüfen Sie, ob der Load-Balancer wie erwartet eine Verbindung zu der Anwendung herstellt, die Sie auf dem externen Backend ausführen.

    Führen Sie für HTTP-Tests folgenden Befehl aus:

    curl IP_ADDRESS
    

    Führen Sie für HTTPS-Tests folgenden Befehl aus:

    curl -k -s 'https://TEST_DOMAIN_URL:443' --connect-to TEST_DOMAIN_URL:443:IP_ADDRESS:443
    

    Ersetzen Sie TEST_DOMAIN_URL durch die Domain, die mit Ihrer Anwendung verknüpft ist. Beispiel: test.example.com.

    Das Flag -k bewirkt, dass curl die Zertifikatsvalidierung überspringt.

Zusätzliche Konfiguration

In diesem Abschnitt wird die Konfiguration des Beispiels um alternative und zusätzliche Optionen erweitert. Alle Aufgaben sind optional. Sie können sie in beliebiger Reihenfolge ausführen.

Weitere Funktionen für Ihren regionalen internen Application Load Balancer, z. B. den globalen Zugriff, wenn sich Ihre Clients in einer anderen Region befinden, finden Sie unter Internen Application Load Balancer mit VM-Instanzgruppen-Back-Ends einrichten: Zusätzliche Konfiguration.

Einen benutzerdefinierten Header zur Authentifizierung von Anfragen verwenden

Zur Authentifizierung von Anfragen, die an Ihr externes Backend gesendet werden, können Sie einen benutzerdefinierten Header festlegen, der angibt, dass die Anfrage von einem Google Cloud-Load-Balancer stammt. Außerdem müssen Sie das externe Backend so konfigurieren, dass es diesen benutzerdefinierten Header bei Traffic erwartet, der von Google Cloud stammt.

Informationen zum Einrichten benutzerdefinierter Header finden Sie unter Erweiterte Trafficverwaltung einrichten.

Informationen zu anderen Authentifizierungsmethoden finden Sie unter Anfragen an das externe Backend authentifizieren.

HTTP-Keepalive-Zeitlimit des Clients aktualisieren

Der in den vorherigen Schritten erstellte Load Balancer wurde mit einem Standardwert für das Client-HTTP-Keepalive-Zeitlimit konfiguriert.

Folgen Sie der nachstehenden Anleitung, um das HTTP-Keepalive-Zeitlimit des Clients zu aktualisieren.

Console

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

    Load-Balancing aufrufen.

  2. Klicken Sie auf den Namen des Load-Balancers, den Sie ändern möchten.
  3. Klicken Sie auf Bearbeiten.
  4. Klicken Sie auf Frontend-Konfiguration.
  5. Maximieren Sie Erweiterte Funktionen. Geben Sie für HTTP-Keepalive-Zeitlimit ein Zeitlimit ein.
  6. Klicken Sie auf Aktualisieren.
  7. Klicken Sie zum Prüfen Ihrer Änderungen auf Prüfen und abschließen und dann auf Aktualisieren.

gcloud

Aktualisieren Sie bei einem HTTP-Load Balancer den Ziel-HTTP-Proxy mit dem Befehl gcloud compute target-http-proxies update.

      gcloud compute target-http-proxies update TARGET_HTTP_PROXY_NAME \
         --http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \
         --region=REGION
      

Aktualisieren Sie bei einem HTTPS-Load Balancer den Ziel-HTTPS-Proxy mit dem Befehl gcloud compute target-https-proxies update.

      gcloud compute target-https-proxies update TARGET_HTTP_PROXY_NAME \
         --http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \
         --region REGION
      

Ersetzen Sie Folgendes:

  • TARGET_HTTP_PROXY_NAME ist der Name des HTTP-Ziel-Proxys.
  • TARGET_HTTPS_PROXY_NAME ist der Name des HTTPS-Ziel-Proxys.
  • HTTP_KEEP_ALIVE_TIMEOUT_SEC ist das HTTP-Keepalive-Zeitlimit von 5 bis 600 Sekunden.

Nächste Schritte