Über Back-Ends auf globale Google APIs zugreifen

Auf dieser Seite wird beschrieben, wie Sie mithilfe von Private Service Connect-Back-Ends, die auf regionenübergreifenden internen Application Load Balancern basieren, auf globale Google APIs zugreifen.

Mit dieser Konfiguration können Sie eine oder mehrere einzelne globale Google APIs anvisieren und gleichzeitig die Sichtbarkeit und Kontrolle anwenden, die Private Service Connect-Back-Ends bieten.

  • Sie können benutzerdefinierte Hostnamen für Ihre Virtual Private Cloud (VPC) und verbundene lokale Netzwerke konfigurieren, die den Traffic an die ausgewählten globalen Google APIs weiterleiten.
  • Sie können von jeder Region aus auf die Back-Ends zugreifen. Das Back-End kann den Traffic auf Private Service Connect-Netzwerk-Endpunktgruppen (NEGs) in beliebigen Regionen ausgleichen.
  • Sie können Traffic von VPC-Peering-Netzwerken an die Back-Ends senden.

Eine Liste der verfügbaren globalen Google APIs finden Sie unter Globale Google API-Ziele.

Vorbereitung

  • Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für Ihr Google Cloud-Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Konfigurieren eines Backends für den Zugriff auf globale Google APIs benötigen:

    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.

  • Aktivieren Sie die Compute Engine API in Ihrem Projekt.

  • Aktivieren Sie die Certificate Manager API in Ihrem Projekt.

  • Erstellen Sie einen privaten Schlüssel und ein signiertes Zertifikat von einer Zertifizierungsstelle. Folgen Sie der Anleitung unter Schritt 1: Privaten Schlüssel und Zertifikat erstellen. Der private Schlüssel und das Zertifikat sind erforderlich, um ein selbstverwaltetes SSL-Zertifikat mit dem Zertifikatmanager zu erstellen.

  • Erstellen Sie mit dem von Ihnen erstellten privaten Schlüssel und dem signierten Zertifikat eine Zertifikatsressource für einen regionsübergreifenden internen Application Load Balancer. Wenn Sie das Zertifikat hochladen, müssen Sie den Gültigkeitsbereich auf all-regions festlegen. Weitere Informationen finden Sie unter Selbstverwaltetes Zertifikat in den Zertifikatmanager hochladen. Die Zertifikatsressource ist erforderlich, um den Ziel-HTTPS-Proxy für den Load Balancer zu konfigurieren.

  • Erstellen Sie ein Nur-Proxy-Subnetz, falls Sie noch keines haben. Im VPC-Netzwerk und in der Region, in der Sie die Weiterleitungsregel für den regionenübergreifenden internen Application Load Balancer erstellen möchten, muss es ein einzelnes Nur-Proxy-Subnetz geben. Dieses Subnetz wird von allen internen Application Load Balancer innerhalb dieses Netzwerks und dieser Region verwendet.

Private Service Connect-NEG erstellen

Erstellen Sie für jede globale Google API, auf die Sie zugreifen möchten, eine Private Service Connect-NEG. Private Service Connect-NEGs sind regional, auch wenn sie für die Verbindung zu globalen Google APIs verwendet werden.

Eine Private Service Connect-NEG kann nach der Erstellung nicht mehr aktualisiert werden.

Console

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

    Netzwerk-Endpunktgruppe erstellen

  2. Geben Sie auf der Seite Netzwerk-Endpunktgruppe erstellen einen Namen für die Netzwerk-Endpunktgruppe ein.

  3. Wählen Sie für den Typ der Netzwerk-Endpunktgruppe die Option Private Service Connect NEG (regional) aus.

  4. Wählen Sie für Ziel die Option Globale Google APIs aus.

  5. Wählen Sie die Region für die Netzwerk-Endpunktgruppe aus.

  6. Wählen Sie den Zieldienst für die Netzwerk-Endpunktgruppe aus.

  7. Klicken Sie auf Erstellen.

gcloud

Führen Sie den Befehl network-endpoint-groups create aus.

gcloud compute network-endpoint-groups create NEG_NAME \
    --network-endpoint-type=private-service-connect \
    --psc-target-service=TARGET_SERVICE \
    --region=REGION

Ersetzen Sie dabei Folgendes:

  • NEG_NAME ist ein Name für die Netzwerk-Endpunktgruppe.

  • TARGET_SERVICE: das globale Google API-Ziel, mit dem Sie eine Verbindung herstellen möchten, z. B. pubsub.googleapis.com. Liste der unterstützten globalen Google API-Ziele

  • REGION ist die Region, in der die Netzwerk-Endpunktgruppe erstellt werden soll.

API

Stellen Sie eine POST-Anfrage an die Methode regionNetworkEndpointGroups.insert.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/networkEndpointGroups
{
  "name": "NEG_NAME",
  "networkEndpointType": "PRIVATE_SERVICE_CONNECT",
  "pscTargetService": "TARGET_SERVICE"
}

Ersetzen Sie dabei Folgendes:

  • PROJECT_ID: die Projekt-ID der Netzwerk-Endpunktgruppe.
  • REGION ist die Region, in der die Netzwerk-Endpunktgruppe erstellt werden soll.
  • NEG_NAME ist ein Name für die Netzwerk-Endpunktgruppe.
  • TARGET_SERVICE: das globale Google API-Ziel, mit dem Sie eine Verbindung herstellen möchten, z. B. pubsub.googleapis.com. Liste der unterstützten globalen Google API-Ziele

Load-Balancer konfigurieren

Wenn Sie auf globale Google APIs zugreifen möchten, konfigurieren Sie einen regionenübergreifenden internen Application Load Balancer.

Console

Konfiguration starten

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

    Load-Balancing aufrufen

  2. Klicken Sie auf Load-Balancer erstellen.
  3. Wählen Sie unter Typ des Load Balancers die Option Application Load Balancer (HTTP/HTTPS) aus und klicken Sie auf Weiter.
  4. Wählen Sie für Öffentlich oder intern die Option Intern aus und klicken Sie auf Weiter.
  5. Wählen Sie für Regionenübergreifende oder Einzelregions-Bereitstellung die Option Best für regionenübergreifende Arbeitslasten aus und klicken Sie auf Weiter.
  6. Klicken Sie auf Konfigurieren.

Grundlegende Konfiguration

  1. Geben Sie im Feld Name eine Bezeichnung für den Load-Balancer ein.
  2. Wählen Sie ein Netzwerk für den Load-Balancer aus.

    Das Netzwerk muss ein Nur-Proxy-Subnetz in der Region enthalten, in der Sie den Load Balancer erstellen.

Frontend-Konfiguration

  1. Klicken Sie auf Frontend-Konfiguration.
  2. Geben Sie einen Namen für die Weiterleitungsregel des Load Balancers ein.
  3. Wählen Sie im Feld Protokoll die Option HTTPS (einschließlich HTTP/2 und HTTP/3) aus.
  4. Wählen Sie eine Subnetzwerkregion für das Subnetzwerk des Load Balancers aus.
  5. Wählen Sie ein Subnetzwerk für den Load-Balancer aus.
  6. Klicken Sie auf IP-Adresse und führen Sie einen der folgenden Schritte aus:
    • Wenn Sie eine Sitzungsspezifische IP-Adresse automatisch zuweisen möchten, wählen Sie Sitzungsspezifisch (automatisch) aus.
    • Wenn Sie eine sitzungsspezifische IP-Adresse auswählen möchten, wählen Sie Sitzungsspezifisch (benutzerdefiniert) aus und geben Sie dann eine benutzerdefinierte sitzungsspezifische IP-Adresse aus dem IP-Adressbereich des Subnetzes des Load Balancers ein.
    • Wenn Sie eine statische interne IP-Adresse reservieren und verwenden möchten, klicken Sie auf IP-Adresse erstellen und führen Sie dann die folgenden Schritte aus:
      1. Geben Sie einen Namen für die IP-Adresse ein.
      2. Klicken Sie auf Statische IP-Adresse und führen Sie einen der folgenden Schritte aus:
        • Wenn Sie eine statische IP-Adresse automatisch zuweisen möchten, wählen Sie Automatisch zuweisen aus.
        • Wenn Sie eine bestimmte IP-Adresse konfigurieren möchten, wählen Sie Selbst auswählen aus und geben Sie dann eine benutzerdefinierte IP-Adresse aus dem IP-Adressbereich des Subnetzes des Load Balancers ein.
      3. Klicken Sie auf Reservieren.
  7. Achten Sie darauf, dass der Port auf 443 festgelegt ist, um HTTPS-Traffic zuzulassen.
  8. Klicken Sie auf die Liste Zertifikat und wählen Sie Ihr selbst verwaltetes Zertifikat aus.
  9. Klicken Sie auf Fertig.

Backend-Konfiguration

  1. Klicken Sie auf Backend-Konfiguration.
  2. Erstellen Sie für jede globale Google API, auf die Sie zugreifen möchten, einen globalen Backend-Dienst. So erstellen Sie einen globalen Backend-Dienst:

    1. Wählen Sie im Menü Backend-Dienst erstellen oder auswählen die Option Backend-Dienst erstellen aus.
    2. Geben Sie im Feld Name eine Bezeichnung für den Backend-Dienst ein.
    3. Setzen Sie den Backend-Typ auf Private Service Connect-Netzwerk-Endpunktgruppe.
    4. Legen Sie den Private Service Connect-Zieltyp auf Globale Google API fest.
    5. Wählen Sie HTTPS als Protokoll aus.
    6. Klicken Sie unter Backends auf das Menü Neues Backend und wählen Sie die Netzwerk-Endpunktgruppe von Private Service Connect aus.

      Wenn Sie eine neue Private Service Connect-Netzwerk-Endpunktgruppe erstellen müssen, klicken Sie auf PSC-NEG erstellen.

    7. Klicken Sie auf Fertig.

    8. Klicken Sie auf Erstellen.

  3. Achten Sie darauf, dass alle Backend-Dienste, die Sie hinzufügen möchten, im Menü Backend-Dienste erstellen oder auswählen ausgewählt sind. Klicken Sie dann auf OK.

Routingregeln

Die Gruppe von Regeln zum Weiterleiten eingehender HTTPS-Anfragen an bestimmte Backend-Dienste wird als URL-Zuordnung bezeichnet. Weitere Informationen zu URL-Zuordnungen finden Sie unter Übersicht über URL-Zuordnungen.

Wenn Sie nur einen Backend-Dienst für den Load Balancer konfigurieren, reicht die Standard-Routingregel aus und Sie können mit Überprüfen und abschließen fortfahren.

Wenn Sie mehrere Backend-Dienste konfigurieren, müssen Sie für jeden Backend-Dienst einen Pfad-Matcher erstellen. Jede Hostregel kann nur auf einen Pfad-Matcher verweisen, aber zwei oder mehr Hostregeln können auf denselben Pfad-Matcher verweisen.

  1. Wenn Sie mehr als einen Backend-Dienst haben, klicken Sie auf Routingregeln.
  2. Wählen Sie Einfache Host- und Pfadregel aus.
  3. For each backend, do the following:
    1. Klicken Sie auf Host- und Pfadregel hinzufügen.
    2. Geben Sie unter Host den Hostnamen ein, der zum Senden von Anfragen an diesen Dienst verwendet wird, z. B. pubsub.example.com.
    3. Geben Sie unter Pfade den Pfad ein, z. B. /*.
    4. Wählen Sie bei Backends den Backend-Dienst aus.

Prüfen und abschließen

  1. Klicken Sie auf Prüfen und abschließen, um die Konfiguration zu prüfen.
  2. Klicken Sie auf Erstellen.

gcloud

  1. Führen Sie für jede globale Google API, auf die Sie zugreifen möchten, die folgenden Schritte aus:

    1. Verwenden Sie den Befehl gcloud compute backend-services create, um einen globalen Backend-Dienst zu erstellen.

      gcloud compute backend-services create BACKEND_SERVICE_NAME \
          --load-balancing-scheme=INTERNAL_MANAGED \
          --protocol=HTTPS \
          --global
      

      Ersetzen Sie BACKEND_SERVICE_NAME durch den Namen des Backend-Dienstes.

    2. Verwenden Sie den Befehl gcloud compute backend-services add-backend, um dem entsprechenden Backend-Dienst eine NEG hinzuzufügen.

      gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \
          --network-endpoint-group=NEG_NAME \
          --network-endpoint-group-region=REGION \
          --global
      

      Ersetzen Sie dabei Folgendes:

      • NEG_NAME: der Name der Private Service Connect-NEG.
      • REGION: die Region des Private Service Connect-NEG.
  2. Verwenden Sie den Befehl gcloud compute url-maps create, um eine globale URL-Zuordnung für den Load Balancer zu erstellen.

    Eine URL-Zuordnung muss auf einen Standard-Backend-Dienst verweisen. Wenn Sie Ihren Load-Balancer mit einem Backend-Dienst konfigurieren, legen Sie diesen Backend-Dienst als Standard fest. Wenn Sie Ihren Load-Balancer für die Verwendung mehrerer Backend-Dienste konfigurieren, wählen Sie einen der Backend-Dienste als URL-Zuordnungsstandard aus.

    gcloud compute url-maps create URL_MAP_NAME \
        --default-service=DEFAULT_BACKEND_SERVICE_NAME
    

    Ersetzen Sie dabei Folgendes:

    • URL_MAP_NAME ist ein Name für die URL-Zuordnung.
    • DEFAULT_BACKEND_SERVICE_NAME ist der Name des Standard-Backend-Dienstes des Load-Balancers Die Standardeinstellung wird verwendet, wenn keine Hostregel mit dem angeforderten Hostnamen übereinstimmt.
  3. Optional: Wenn Sie Ihren Load Balancer für die Verwendung mehrerer Backend-Dienste konfigurieren, führen Sie diesen Schritt aus. Wenn Ihre URL-Zuordnung nur auf einen Backend-Dienst verweist, überspringen Sie diesen Schritt.

    Verwenden Sie den Befehl gcloud compute url-maps add-path-matcher, um der URL-Zuordnung zusätzliche Backend-Dienste hinzuzufügen.

    Fügen Sie für jeden Backend-Dienst einen Pfad-Matcher und eine oder mehrere Hostregeln hinzu. Sie müssen für jeden Backend-Dienst einen Pfad-Matcher erstellen. Jede Hostregel kann nur auf einen Pfad-Matcher verweisen, aber zwei oder mehr Hostregeln können auf denselben Pfad-Matcher verweisen.

    gcloud compute url-maps add-path-matcher URL_MAP_NAME \
        --path-matcher-name=PATH_MATCHER \
        --default-service=BACKEND_SERVICE_NAME \
        --new-hosts=HOSTNAMES
    

    Ersetzen Sie dabei Folgendes:

    • PATH_MATCHER ist ein Name für den Pfad-Matcher.
    • BACKEND_SERVICE_NAME ist der Name des Backend-Dienstes.
    • HOSTNAMES: Ein oder mehrere Hostnamen, an die Anfragen für den Backend-Dienst gesendet werden sollen, z. B. pubsub.example.com. Sie können mehrere Host-Namen in einer durch Kommas getrennten Liste angeben.
  4. Verwenden Sie den Befehl gcloud compute target-https-proxies create, um einen Ziel-HTTPS-Proxy zu erstellen.

    gcloud compute target-https-proxies create PROXY_NAME \
        --url-map=URL_MAP_NAME \
        --certificate-manager-certificates=CERTIFICATE_NAME
    

    Ersetzen Sie dabei Folgendes:

    • PROXY_NAME ist ein Name für den Ziel-HTTPS-Proxy.
    • URL_MAP_NAME ist der Name der URL-Zuordnung.
    • CERTIFICATE_NAME ist der Name der Zertifikatsressource.
  5. Verwenden Sie den Befehl gcloud compute forwarding-rules create, um eine globale Weiterleitungsregel für Ihren Load Balancer zu erstellen.

    gcloud compute forwarding-rules create RULE_NAME \
        --load-balancing-scheme=INTERNAL_MANAGED \
        --network=NETWORK \
        --address=IP_ADDRESS \
        --ports=443 \
        --target-https-proxy=PROXY_NAME \
        --subnet=SUBNET \
        --subnet-region=SUBNET_REGION \
        --global
    

    Ersetzen Sie dabei Folgendes:

    • RULE_NAME: der Name der Weiterleitungsregel.
    • NETWORK: das VPC-Netzwerk der Weiterleitungsregel. Dieses Netzwerk muss ein Nur-Proxy-Subnetz in der Region enthalten, in der Sie den Load Balancer erstellen.
    • IP_ADDRESS: Die interne IP-Adresse der Weiterleitungsregel, die sich innerhalb des IP-Adressbereichs des Subnetzes der Weiterleitungsregel befinden muss. Wenn Sie eine bestimmte sitzungsspezifische IP-Adresse verwenden möchten, geben Sie die IP-Adresse ein, z. B. 10.0.0.5. Wenn Sie eine statische interne IP-Adresse verwenden möchten, geben Sie den Namen der IP-Adresse ein. Wenn Google Cloud eine sitzungsspezifische IP-Adresse auswählen soll, lassen Sie dieses Flag aus.
    • SUBNET: das Subnetz der Weiterleitungsregel.
    • SUBNET_REGION: die Region des Subnetzes der Weiterleitungsregel.

API

  1. Führen Sie für jede globale Google API, auf die Sie zugreifen möchten, die folgenden Schritte aus:

    1. Senden Sie zum Erstellen eines globalen Backend-Dienstes eine POST-Anfrage an die Methode backendServices.insert.

      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices
      {
        "loadBalancingScheme": "INTERNAL_MANAGED",
        "name": "BACKEND_SERVICE_NAME",
        "protocol": "HTTPS"
      }
      

      Ersetzen Sie dabei Folgendes:

      • PROJECT_ID: Projekt-ID Ihres Projekts
      • BACKEND_SERVICE_NAME: Der Name des Backend-Dienstes.
    2. Wenn Sie dem entsprechenden Backend-Dienst eine NEG hinzufügen möchten, senden Sie eine PATCH-Anfrage an die Methode backendServices.patch.

      PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE_NAME
      {
        "backends": [
          {
            "group": "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/networkEndpointGroups/NEG_NAME"
          }
        ]
      }
      

      Ersetzen Sie dabei Folgendes:

      • REGION: Die Region der NEG.
      • NEG_NAME ist der Name der hinzuzufügenden Netzwerk-Endpunktgruppe.
  2. Wenn Sie eine globale URL-Zuordnung für den Load Balancer erstellen möchten, senden Sie eine POST-Anfrage an die urlMaps.insert-Methode.

    Eine URL-Zuordnung muss auf einen Standard-Backend-Dienst verweisen. Wenn Sie Ihren Load-Balancer mit einem Backend-Dienst konfigurieren, legen Sie diesen Backend-Dienst als Standard fest. Wenn Sie Ihren Load-Balancer für die Verwendung mehrerer Backend-Dienste konfigurieren, wählen Sie einen der Backend-Dienste als URL-Zuordnungsstandard aus.

     POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/urlMaps
     {
       "defaultService": "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/DEFAULT_BACKEND_SERVICE_NAME",
       "name": "URL_MAP_NAME"
     }
     

    Ersetzen Sie dabei Folgendes:

    • DEFAULT_BACKEND_SERVICE_NAME ist der Name des Load-Balancers. Die Standardeinstellung wird verwendet, wenn keine Hostregel mit dem angeforderten Hostnamen übereinstimmt.
    • URL_MAP_NAME ist ein Name für die URL-Zuordnung.
  3. Wenn Sie Ihren Load Balancer für die Verwendung mehrerer Backend-Dienste konfigurieren, führen Sie diesen Schritt aus. Wenn Ihre URL-Zuordnung nur auf einen Backend-Dienst verweist, überspringen Sie diesen Schritt.

    Wenn Sie der URL-Zuordnung zusätzliche Backend-Dienste hinzufügen möchten, senden Sie eine PATCH-Anfrage an die Methode urlMaps.patch.

    Fügen Sie für jeden Backend-Dienst einen Pfad-Matcher und eine oder mehrere Hostregeln hinzu. Sie müssen für jeden Backend-Dienst einen Pfad-Matcher erstellen. Jede Hostregel kann nur auf einen Pfad-Matcher verweisen, aber zwei oder mehr Hostregeln können auf denselben Pfad-Matcher verweisen.

    Sie können mehrere Pfad-Matcher und Hostregeln hinzufügen, indem Sie eine einzelne API-Anfrage senden.

     PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/urlMaps/URL_MAP_NAME
     {
       "pathMatchers": [
         {
           "name": "PATH_MATCHER_NAME_1",
           "defaultService": "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE_NAME_1"
         },
         {
           "name": "PATH_MATCHER_NAME_2",
           "defaultService": "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE_NAME_2"
         }
       ],
       "hostRules": [
         {
           "hosts": ["HOSTNAME_1"],
           "pathMatcher": "PATH_MATCHER_NAME_1"
         },
         {
           "hosts": ["HOSTNAME_2"],
           "pathMatcher": "PATH_MATCHER_NAME_2"
         }
       ]
     }
     

    Ersetzen Sie dabei Folgendes:

    • PATH_MATCHER_NAME_1: ein Name für den ersten Pfad-Matcher.
    • BACKEND_SERVICE_NAME_1: der Name des ersten Backend-Dienstes.
    • PATH_MATCHER_NAME_2: ein Name für den zweiten Pfad-Matcher.
    • BACKEND_SERVICE_NAME_2: der Name des zweiten Backend-Dienstes.
    • HOSTNAME_1: der Hostname, an den Anfragen für den ersten Dienst gesendet werden, z. B. pubsub.example.com.
    • HOSTNAME_2 ist der Hostname, an den Anfragen für den zweiten Dienst gesendet werden.
  4. Um einen Ziel-HTTPS-Proxy zu erstellen, senden Sie eine POST-Anfrage an die targetHttpsProxies.insert-Methode.

     POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/targetHttpsProxies
     {
       "name": "PROXY_NAME",
       "sslCertificates": [
         "https://certificatemanager.googleapis.com/v1/projects/PROJECT_ID/locations/global/certificates/CERTIFICATE_NAME"
       ],
       "urlMap": "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/urlMaps/URL_MAP_NAME"
     }
     

    Ersetzen Sie dabei Folgendes:

    • PROJECT_ID: die ID des Projekts.
    • PROXY_NAME ist ein Name für den Ziel-HTTPS-Proxy.
    • CERTIFICATE_NAME ist der Name der Zertifikatsressource.
    • URL_MAP_NAME ist der Name der URL-Zuordnung.
  5. Wenn Sie eine globale Weiterleitungsregel für Ihren Load Balancer erstellen möchten, senden Sie eine POST-Anfrage an die Methode globalForwardingRules.insert. Das Netzwerk der Weiterleitungsregel muss ein Nur-Proxy-Subnetz im Subnetz der Region der Weiterleitungsregel enthalten.

     POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/forwardingRules
     {
       "IPAddress": "IP_ADDRESS",
       "loadBalancingScheme": "INTERNAL_MANAGED",
       "name": "FORWARDING_RULE_NAME",
       "network": "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK_NAME",
       "portRange": "443",
       "subnetwork": "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/SUBNET_REGION/subnetworks/SUBNET_NAME",
       "target": "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/targetHttpsProxies/PROXY_NAME"
     }
     

    Ersetzen Sie dabei Folgendes:

    • IP_ADDRESS: Die interne IP-Adresse der Weiterleitungsregel, die sich innerhalb des IP-Adressbereichs des Subnetzes der Weiterleitungsregel befinden muss. Wenn Sie eine bestimmte sitzungsspezifische IP-Adresse verwenden möchten, geben Sie die IP-Adresse an, z. B. 10.0.0.5. Wenn Sie eine statische interne IP-Adresse verwenden möchten, geben Sie den Namen der IP-Adresse an. Wenn Google Cloud eine sitzungsspezifische IP-Adresse auswählen soll, lassen Sie dieses Feld leer.
    • FORWARDING_RULE_NAME: der Name der Weiterleitungsregel
    • NETWORK_NAME: der Name des VPC-Netzwerks der Weiterleitungsregel. Dieses Netzwerk muss ein Nur-Proxy-Subnetz in der Region enthalten, in der Sie den Load Balancer erstellen.
    • SUBNET_REGION ist die Region des Subnetzes der Weiterleitungsregel.
    • SUBNET_NAME: der Name des Subnetzes der Weiterleitungsregel.

Konfiguration prüfen

So testen Sie die Verbindung Ihres Backends zu globalen Google APIs:

  1. Falls nicht vorhanden, erstellen Sie eine VM-Instanz (virtuelle Maschine) im VPC-Netzwerk, in dem Sie das Backend konfiguriert haben.
  2. Achten Sie darauf, dass Sie keine Firewallregeln oder Firewallrichtlinien erstellt haben, die die implizierte IPv4-Regel zum Zulassen von ausgehendem Traffic überschreiben.
  3. Stellen Sie eine Verbindung zur VM her.
  4. Prüfen Sie mit curl auf der VM, ob Sie jede API abfragen können. Mit diesem Befehl wird der Header Host festgelegt und die DNS-Auflösung durch Angabe einer benutzerdefinierten IP-Adresse umgangen.

    Sie können die Zertifikatsprüfung mit dem Flag -k überspringen. Sie müssen die Validierung möglicherweise überspringen, wenn Sie ein selbst signiertes Zertifikat zur Konfiguration des HTTPS-Ziel-Proxys verwendet haben oder wenn die VM nicht über das Zertifikat der Zertifizierungsstelle verfügt, die Ihr Zertifikat signiert hat.

    curl -iv --resolve HOSTNAME:443:IP_ADDRESS \
       'https://HOSTNAME/RESOURCE_URI'
    

    Ersetzen Sie dabei Folgendes:

    • HOSTNAME: Der Hostname, den Sie in Ihrer URL-Zuordnung konfiguriert haben, z. B. pubsub.example.com.
    • IP_ADDRESS: Die IP-Adresse der Weiterleitungsregel des Load-Balancers
    • RESOURCE_URI ist der Rest des URI der Ressource, die Sie zur Prüfung verwenden möchten. Beispiel: Wenn der Load Balancer Anfragen an einen regionalen Pub/Sub-Endpunkt weiterleitet, können Sie $discovery/rest?version=v1 verwenden.

DNS-Einträge konfigurieren

Konfigurieren Sie DNS-Einträge für jeden Host, den Sie der URL-Zuordnung hinzugefügt haben, und verweisen Sie auf die IP-Adresse der Weiterleitungsregel. Wenn Sie DNS mit Cloud DNS verwalten, finden Sie weitere Informationen unter Einträge hinzufügen, ändern und löschen. Konfigurieren Sie andernfalls DNS-Einträge auf Ihrem DNS-Server.

Angenommen, Sie haben die folgenden Konfigurationen erstellt:

  • Einer Private Service Connect-NEG, die den Zieldienst pubsub.googleapis.com verwendet.

  • Einen regionenübergreifenden internen Application Load Balancer, der diese Private Service Connect-NEG als Backend verwendet.

  • Einer URL-Zuordnung, die eine Hostregel für pubsub.example.com definiert.

Damit diese Konfiguration ordnungsgemäß funktioniert, erstellen Sie einen DNS-Eintrag, der pubsub.example.com auf die IP-Adresse der Weiterleitungsregel verweist.

Bei dieser Konfiguration werden alle an pubsub.example.com gesendeten Anfragen an den Load Balancer gesendet, der die Anfrage an pubsub.googleapis.com weiterleitet.

Clients so konfigurieren, dass sie Anfragen an das Backend senden

Wenn Sie Anfragen über das Backend statt über die öffentlichen Dienstendpunkte senden möchten, müssen Sie Clients so konfigurieren, dass sie Anfragen an den Hostnamen senden, den Sie in der URL-Zuordnung des Load Balancers definiert haben, z. B. pubsub.example.com. Weitere Informationen zur Konfiguration der Verwendung für benutzerdefinierte Endpunkte finden Sie in der Dokumentation zu Ihrem Client oder Ihrer Clientbibliothek. Auf den folgenden Seiten finden Sie Konfigurationsschritte für einige gängige Clients:

  • Python: Sie können api_endpoint unter Clientoptionen konfigurieren.

  • Go: Sie können WithEndpoint unter Clientoptionen konfigurieren.

  • .NET: Sie können Endpoint in der Builder-Klasse des Clients konfigurieren.

  • gcloud: Sie können api_endpoint_overrides in der gcloud CLI konfigurieren.