Verwaltete Dienste mit Private Service Connect veröffentlichen

Als Dienstersteller können Sie Private Service Connect verwenden, um Dienste mithilfe interner IP-Adressen in Ihrem VPC-Netzwerk zu veröffentlichen. Ihre veröffentlichten Dienste sind für Dienstnutzer über interne IP-Adressen in ihren VPC-Netzwerken zugänglich.

In dieser Anleitung wird beschrieben, wie Sie mit Private Service Connect einen Dienst veröffentlichen, der auf einem internen TCP/UDP-Load-Balancer oder einem internen HTTP(S)-Load-Balancer gehostet wird.

Informationen zum Veröffentlichen eines Dienstes, der in einem internen TCP/UDP-Load-Balancer in Google Kubernetes Engine gehostet wird, finden Sie in der GKE-Dokumentation unter Internen TCP/UDP-Load-Balancer mit Private Service Connect erstellen.

So veröffentlichen Sie einen Dienst:

  • Hosten Sie den Dienst mit einem internen TCP/UDP-Load-Balancer oder einem internen HTTP(S)-Load-Balancer im VPC-Netzwerk des Diensterstellers.

  • Erstellen Sie einen Dienstanhang in derselben Region wie der Load-Balancer.

    Wenn Sie eine freigegebene VPC verwenden, können Sie das Private Service Connect-Subnetz im Hostprojekt und den Dienstanhang in einem Dienstprojekt erstellen.

Zum Herstellen einer Verbindung zu einem veröffentlichten Dienst konfiguriert ein Dienstnutzer einen Private Service Connect-Endpunkt für den Zugriff auf den Dienst in derselben Region.

Rollen

Die folgende IAM-Rolle bietet die Berechtigungen, die zum Ausführen der Aufgaben in dieser Anleitung erforderlich sind.

Hinweis

  • Damit ein Dienst mit Private Service Connect veröffentlicht werden kann, muss er auf Back-Ends eines der folgenden Load-Balancer gehostet werden:

  • Entscheiden Sie, wie Dienstnutzer Anfragen an den veröffentlichten Dienst senden möchten. Wir empfehlen die Verwendung von Domainnamen in diesem Format: REGION.p.DOMAIN. Beispiel: Wenn Ihre öffentliche Domain example.com ist und der veröffentlichte Dienst in us-west1 liegt, empfehlen wir, dass Dienstnutzer Anfragen an den Dienst mit Hostnamen in der us-west1.p.example.com-Domain senden können.

    • Der Load-Balancer, der den Dienst bereitstellt, muss in der Lage sein, Anfragen an diese Domainnamen zu akzeptieren. Wenn Sie einen internen HTTP(S)-Load-Balancer verwenden, müssen Sie möglicherweise die Konfiguration des Load-Balancers aktualisieren, um die Domainnamen widerzuspiegeln, die Dienstnutzer verwenden sollen. Aktualisieren Sie beispielsweise Zertifikate oder URL-Zuordnungen.
  • Entscheiden Sie, ob der Dienst von allen Projekten aus zugänglich sein soll oder ob Sie steuern möchten, welche Projekte auf Ihren Dienst zugreifen können.

Beschränkungen

  • Auf jeden Load-Balancer kann nur von einem einzelnen Dienstanhang verwiesen werden. Es ist nicht möglich, mehrere Dienstanhänge zu konfigurieren, die denselben Load-Balancer verwenden.

  • Nicht alle Features des internen TCP/UDP-Load-Balancers werden unterstützt. Wenn Ihr Load-Balancer eines dieser Features verwendet, können Sie es nicht verwenden, um einen Dienst über Private Service Connect zu veröffentlichen.

    Außerdem kann ein Dienstanhang keine Weiterleitungsregel für die interne Protokollweiterleitung referenzieren.

  • Das PROXY-Protokoll wird nicht für Dienste unterstützt, die einen internen HTTP(S)-Load-Balancer verwenden.

  • Für Subnetze, die Sie für Private Service Connect erstellen, gelten die folgenden Einschränkungen:

    • Sie können dasselbe Subnetz nicht in mehreren Konfigurationen für Dienstanhänge verwenden.

    • Sie können Ressourcen keine IP-Adressen aus Private Service Connect-Subnetzen zuweisen.

  • Unter Bekannte Probleme finden Sie Informationen zu Problemen und Problemumgehungen.

Subnetz für Private Service Connect erstellen

Sie müssen ein oder mehrere dedizierte Subnetze für die Verwendung mit Private Service Connect erstellen. Wenn Sie die Google Cloud Console zum Veröffentlichen eines Dienstes verwenden, können Sie die Subnetze während dieses Verfahrens erstellen.

Informationen zu Private Service Connect-Subnetzen finden Sie unter Private Service Connect-Subnetze.

Console

  1. Rufen Sie die Seite "VPC-Netzwerke" auf.
    Zur Seite "VPC-Netzwerke"
  2. Klicken Sie auf den Namen eines VPC-Netzwerks, um die zugehörige Seite VPC-Netzwerkdetails aufzurufen.
  3. Klicken Sie auf Subnetz hinzufügen. Führen Sie im angezeigten Bereich folgende Schritte aus:
    1. Geben Sie einen Namen an.
    2. Wählen Sie eine Region aus.
    3. Wählen Sie im Abschnitt Zweck die Option Private Service Connect aus.
    4. Geben Sie einen IP-Adressbereich ein. Beispiel: 10.10.10.0/24.
    5. Klicken Sie auf Add.

gcloud

gcloud compute networks subnets create SUBNET_NAME \
    --network=NETWORK_NAME --region=REGION \
    --range=SUBNET_RANGE --purpose=PRIVATE_SERVICE_CONNECT

Dabei gilt:

  • SUBNET_NAME: der Name, der dem Subnetz zugewiesen werden soll.

  • NETWORK_NAME: der Name der VPC für das neue Subnetz.

  • REGION: die Region für das neue Subnetz. Dies muss dieselbe Region sein wie der Dienst, den Sie veröffentlichen.

  • SUBNET_RANGE: der IP-Adressbereich, der für das Subnetz verwendet werden soll. Beispiel: 10.10.10.0/24.

API

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks

{
  "ipCidrRange": "SUBNET_RANGE",
  "name": "SUBNET_NAME",
  "network": "projects/PROJECT_ID/global/networks/NETWORK_NAME",
  "purpose": "PRIVATE_SERVICE_CONNECT",
}

Dabei gilt:

  • PROJECT_ID: das Projekt für das Subnetz.

  • SUBNET_NAME: der Name, der dem Subnetz zugewiesen werden soll.

  • NETWORK_NAME: der Name des VPC-Netzwerks für das neue Subnetz.

  • REGION: die Region für das neue Subnetz. Dies muss dieselbe Region sein wie der Dienst, den Sie veröffentlichen.

  • SUBNET_RANGE: der IP-Adressbereich, der für das Subnetz verwendet werden soll. Beispiel: 10.10.10.0/24.

Dienst mit automatischer Projektgenehmigung veröffentlichen

Folgen Sie dieser Anleitung, um einen Dienst zu veröffentlichen und allen Nutzern automatisch die Verbindung zu diesem Dienst zu ermöglichen. Wenn Sie Nutzerverbindungen explizit genehmigen möchten, finden Sie weitere Informationen unter Dienst mit expliziter Projektgenehmigung veröffentlichen.

Wenn Sie einen Dienst veröffentlichen, erstellen Sie einen Dienstanhang. Dienstnutzer verwenden die Details des Dienstanhangs, um eine Verbindung zu Ihrem Dienst herzustellen.

Wenn Sie die Informationen zur Nutzerverbindung aufrufen möchten, können Sie das PROXY-Protokoll aktivieren. Das PROXY-Protokoll wird nur für Dienste unterstützt, die einen internen TCP/UDP-Load-Balancer verwenden. Es wird nicht für Dienste unterstützt, die einen internen HTTP(S)-Load-Balancer verwenden. Weitere Informationen zum PROXY-Protokoll finden Sie unter Informationen zur Nutzerverbindung aufrufen.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Private Service Connect auf.

    Zu Private Service Connect

  2. Klicken Sie auf den Tab Veröffentlichte Dienste.

  3. Klicken Sie auf Dienst veröffentlichen.

  4. Wählen Sie den Load-Balancer-Typ aus: Interner TCP/UDP-Load-Balancer oder Interner HTTP(S)-Load-Balancer.

  5. Wählen Sie den internen Load-Balancer aus, der den Dienst hostet, den Sie veröffentlichen möchten.

    Die Felder für Netzwerk und Region werden mit den Details für den ausgewählten internen Load-Balancer ausgefüllt.

  6. Wenn Sie dazu aufgefordert werden, wählen Sie die Weiterleitungsregel des Dienstes aus, den Sie veröffentlichen möchten.

  7. Geben Sie unter Dienstname einen Namen für den Dienstanhang ein.

  8. Wählen Sie ein oder mehrere Subnetze für den Dienst aus. Wenn Sie ein neues Subnetz hinzufügen möchten, können Sie eines erstellen:

    1. Klicken Sie auf Neues Subnetz reservieren.
    2. Geben Sie einen Namen und optional eine Beschreibung für das Subnetz ein.
    3. Wählen Sie eine Region für das Subnetz aus.
    4. Geben Sie den IP-Bereich ein, der für das Subnetz verwendet werden soll, und klicken Sie auf Hinzufügen.
  9. Wenn Sie Informationen zu Nutzerverbindungen aufrufen möchten, wählen Sie Proxyprotokoll verwenden aus.

  10. Wählen Sie Verbindungen für alle Projekte automatisch akzeptieren aus.

  11. Klicken Sie auf Dienst hinzufügen.

gcloud

gcloud compute service-attachments create ATTACHMENT_NAME \
    --region=REGION \
    --producer-forwarding-rule=RULE_NAME  \
    --connection-preference=ACCEPT_AUTOMATIC \
    --nat-subnets=PSC_SUBNET_LIST \
    [ --enable-proxy-protocol ]

Dabei gilt:

  • ATTACHMENT_NAME: der Name, der dem Dienstanhang zugewiesen werden soll.

  • REGION: die Region für den neuen Dienstanhang. Dies muss dieselbe Region sein wie der Dienst, den Sie veröffentlichen.

  • RULE_NAME: der Name der Weiterleitungsregel, die dem zu veröffentlichenden Dienst zugeordnet ist.

  • PSC_SUBNET_LIST: eine durch Kommas getrennte Liste mit einem oder mehreren Subnetzen, die mit diesem Dienstanhang verwendet werden sollen.

API

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments
{
  "name": "ATTACHMENT_NAME",
  "connectionPreference": "ACCEPT_AUTOMATIC",
  "targetService": "RULE_URI",
  "enableProxyProtocol": false,
  "natSubnets": [
    "PSC_SUBNET_1_URI",
    "PSC_SUBNET_2_URI",
  ],
}

Dabei gilt:

  • PROJECT_ID: das Projekt für den Dienstanhang.

  • ATTACHMENT_NAME: der Name, der dem Dienstanhang zugewiesen werden soll.

  • REGION: die Region für den neuen Dienstanhang. Dies muss dieselbe Region sein wie der Dienst, den Sie veröffentlichen.

  • RULE_URI: der Name der Weiterleitungsregel, die dem zu veröffentlichenden Dienst zugeordnet ist.

  • PSC_SUBNET_1_URI und PSC_SUBNET_2_URI: die für diesen Dienstanhang zu verwendenden Subnetz-URIs. Sie können ein oder mehrere Subnetze anhand des URI angeben.

Dienst mit expliziter Projektgenehmigung veröffentlichen

Folgen Sie dieser Anleitung, um einen Dienst zu veröffentlichen, sodass Sie Nutzer, die eine Verbindung zu diesem Dienst herstellen möchten, explizit genehmigen müssen. Wenn Sie Nutzerverbindungen automatisch genehmigen möchten, finden Sie weitere Informationen unter Dienst mit automatischer Projektgenehmigung veröffentlichen.

Wenn Sie einen Dienst veröffentlichen, erstellen Sie einen Dienstanhang. Dienstnutzer verwenden die Details des Dienstanhangs, um eine Verbindung zu Ihrem Dienst herzustellen.

Wenn Sie ein Projekt sowohl in die Zulassungsliste als auch auf die Ablehnungsliste setzen, werden Verbindungsanfragen von diesem Projekt abgelehnt.

Wenn Sie die Informationen zur Nutzerverbindung aufrufen möchten, können Sie das PROXY-Protokoll aktivieren. Das PROXY-Protokoll wird nur für Dienste unterstützt, die einen internen TCP/UDP-Load-Balancer verwenden. Es wird nicht für Dienste unterstützt, die einen internen HTTP(S)-Load-Balancer verwenden. Weitere Informationen zum PROXY-Protokoll finden Sie unter Informationen zur Nutzerverbindung aufrufen.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Private Service Connect auf.

    Zu Private Service Connect

  2. Klicken Sie auf den Tab Veröffentlichte Dienste.

  3. Klicken Sie auf Dienst veröffentlichen.

  4. Wählen Sie den Load-Balancer-Typ aus: Interner TCP/UDP-Load-Balancer oder Interner HTTP(S)-Load-Balancer.

  5. Wählen Sie den internen Load-Balancer aus, der den Dienst hostet, den Sie veröffentlichen möchten.

    Die Felder für Netzwerk und Region werden mit den Details für den ausgewählten internen Load-Balancer ausgefüllt.

  6. Wenn Sie dazu aufgefordert werden, wählen Sie die Weiterleitungsregel des Dienstes aus, den Sie veröffentlichen möchten.

  7. Geben Sie unter Dienstname einen Namen für den Dienstanhang ein.

  8. Wählen Sie ein oder mehrere Subnetze für den Dienst aus.

    Wenn Sie ein neues Subnetz hinzufügen möchten, können Sie eines erstellen:

    1. Klicken Sie auf Neues Subnetz reservieren.
    2. Geben Sie einen Namen und optional eine Beschreibung für das Subnetz ein.
    3. Wählen Sie eine Region für das Subnetz aus.
    4. Geben Sie den IP-Bereich ein, der für das Subnetz verwendet werden soll, und klicken Sie auf Hinzufügen.
  9. Wenn Sie Informationen zu Nutzerverbindungen aufrufen möchten, klicken Sie das Kästchen Protokolle an.

  10. Wählen Sie Verbindungen für ausgewählte Projekte akzeptieren aus.

  11. Klicken Sie auf Angenommenes Projekt hinzufügen und geben Sie die Details der Projekte ein, die Sie mit diesem Dienst verbinden möchten:

    • Projektname: der Name des Projekts, von dem Verbindungen zugelassen werden.
    • Verbindungslimit: die Anzahl der Verbindungen, die von diesem Projekt zugelassen werden sollen.
  12. Klicken Sie auf Dienst hinzufügen.

gcloud

gcloud compute service-attachments create ATTACHMENT_NAME \
    --region=REGION \
    --producer-forwarding-rule=RULE_NAME  \
    --connection-preference=ACCEPT_MANUAL \
    --consumer-accept-list=ACCEPTED_PROJECT_1=LIMIT_1,ACCEPTED_PROJECT_2=LIMIT_2 \
    --consumer-reject-list=REJECTED_PROJECT_1,REJECTED_PROJECT_2 \
    --nat-subnets=PSC_SUBNET_LIST \
    [ --enable-proxy-protocol ]

Dabei gilt:

  • ATTACHMENT_NAME: der Name, der dem Dienstanhang zugewiesen werden soll.

  • REGION: die Region für den neuen Dienstanhang. Dies muss dieselbe Region sein wie der Dienst, den Sie veröffentlichen.

  • RULE_NAME: der Name der Weiterleitungsregel, die dem zu veröffentlichenden Dienst zugeordnet ist.

  • ACCEPTED_PROJECT_1 und ACCEPTED_PROJECT_2: die zu akzeptierenden Projekte. --consumer-accept-list ist optional und kann ein oder mehrere Projekte enthalten.

  • LIMIT_1 und LIMIT_2: die Verbindungslimits für die Projekte. Das Verbindungslimit gibt die Anzahl der Private Service Connect-Endpunkte an, die eine Verbindung zu diesem Dienst herstellen können. Für jedes akzeptierte Projekt muss ein Verbindungslimit konfiguriert sein.

  • REJECTED_PROJECT_1 und REJECTED_PROJECT_2: die Projekte, die abgelehnt werden sollen. --consumer-reject-list ist optional und kann ein oder mehrere Projekte enthalten.

  • PSC_SUBNET_LIST: eine durch Kommas getrennte Liste mit einem oder mehreren Subnetzen, die mit diesem Dienstanhang verwendet werden sollen.

API

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments
{
  "name": "ATTACHMENT_NAME",
  "region": "REGION",
  "connectionPreference": "ACCEPT_MANUAL",
  "targetService": "RULE_URI",
  "enableProxyProtocol": false,
  "natSubnets": [
    "PSC_SUBNET_1_URI",
    "PSC_SUBNET_2_URI",
  ],
  "consumerRejectList": [
    "REJECTED_PROJECT_1",
    "REJECTED_PROJECT_2",
  ],
  "consumerAcceptList": [
    "consumerProjectLimit": {
      "projectId": "ACCEPTED_PROJECT_1",
      "connectionsLimit": "LIMIT_2",
    },
    "consumerProjectLimit": {
      "projectId": "ACCEPTED_PROJECT_2",
      "connectionsLimit": "LIMIT_2",
    },
  ],
}

Dabei gilt:

  • PROJECT_ID: das Projekt für den Dienstanhang.

  • REGION: die Region für den Dienstanhang.

  • ATTACHMENT_NAME: der Name, der dem Dienstanhang zugewiesen werden soll.

  • RULE_URI: der URI der Weiterleitungsregel, die dem Dienst zugeordnet ist, den Sie veröffentlichen.

  • PSC_SUBNET_1_URI und PSC_SUBNET_2_URI: die für diesen Dienstanhang zu verwendenden Subnetz-URIs. Sie können ein oder mehrere Subnetze anhand des URI angeben.

  • REJECTED_PROJECT_1 und REJECTED_PROJECT_2: die Projekte, die abgelehnt werden sollen. consumerRejectList ist optional und kann ein oder mehrere Projekte enthalten.

  • ACCEPTED_PROJECT_1 und ACCEPTED_PROJECT_2: die zu akzeptierenden Projekte. consumerAcceptList ist optional und kann ein oder mehrere Projekte enthalten.

  • LIMIT_1 und LIMIT_2: die Verbindungslimits für die Projekte. Das Verbindungslimit gibt die Anzahl der Private Service Connect-Endpunkte an, die eine Verbindung zu diesem Dienst herstellen können. Für jedes akzeptierte Projekt muss ein Verbindungslimit konfiguriert sein.

Informationen zur Nutzerverbindung aufrufen

Standardmäßig übersetzt Private Service Connect die Quell-IP-Adresse des Nutzers in eine Adresse in einem der Private Service Connect-Subnetze im VPC-Netzwerk des Diensterstellers. Wenn Sie stattdessen die ursprüngliche Quell-IP-Adresse des Nutzers sehen möchten, können Sie das PROXY-Protokoll aktivieren.

Das PROXY-Protokoll wird nur für Dienste unterstützt, die einen internen TCP/UDP-Load-Balancer verwenden. Es wird nicht für Dienste unterstützt, die einen internen HTTP(S)-Load-Balancer verwenden.

Wenn das PROXY-Protokoll aktiviert ist, können Sie die Quell-IP-Adresse und die PSC-Verbindungs-ID (pscConnectionId)des Nutzers aus dem PROXY-Protokoll-Header abrufen.

Wenn Sie das PROXY-Protokoll aktivieren, finden Sie in der Dokumentation zur Back-End-Webserver-Software Informationen zum Parsen und Verarbeiten eingehender PROXY-Protokoll-Header in der TCP-Nutzlast der Clientverbindung. Wenn das PROXY-Protokoll auf dem Dienstanhang aktiviert ist, der Back-End-Webserver aber nicht für die Verarbeitung von PROXY-Protokoll-Headern konfiguriert ist, können Webanfragen fehlerhaft sein. Wenn die Anfragen fehlerhaft sind, kann der Server die Anfrage nicht interpretieren.

Private Service Connect unterstützt das PROXY-Protokoll nur für TCP-Dienste. Obwohl UDP-Dienste nicht unterstützt werden, können Sie das PROXY-Protokoll für UDP-Dienste aktivieren.

pscConnectionId wird im PROXY-Protokoll-Header im TLV-Format Type-Length-Value codiert.

Feld Feldlänge Feldwert
Typ 1 Byte 0xE0 (PP2_TYPE_GCP)
Zeitfenster 2 Byte 0x8 (8 Byte)
Wert 8 Byte Die 8-Byte-pscConnectionId in Netzwerkreihenfolge

Sie können die 8-Byte-pscConnectionId in der Nutzer-Weiterleitungsregel oder im Anhang für den Dienstanbieter einsehen.

Die pscConnectionId ist global für alle aktiven Verbindungen zu einem bestimmten Zeitpunkt eindeutig. Im Laufe der Zeit kann jedoch eine pscConnectionId in folgenden Szenarien wiederverwendet werden:

  • Wenn Sie in einem bestimmten VPC-Netzwerk einen Private Service Connect-Endpunkt (Weiterleitungsregel) löschen und einen neuen Endpunkt mit derselben IP-Adresse erstellen, wird möglicherweise dieselbe pscConnectionId verwendet.

  • Wenn Sie ein VPC-Netzwerk löschen, das private Service Connect-Endpunkte (Weiterleitungsregeln) enthalten hat, kann nach einer siebentägigen Wartezeit die pscConnectionId für diese Endpunkte für einen anderen Endpunkt in einem anderen Netzwerk verwendet werden.

Sie können pscConnectionId für das Debugging und zum Verfolgen der Quelle der Pakete verwenden.

Außerdem ist eine 16-Byte-PSC-Anhangs-ID vom Dienstanhang des Erstellers verfügbar. Die PSC-Anhangs-ID ist eine global eindeutige ID, mit der ein Private Service Connect-Dienstanhang identifiziert wird. Sie können die PSC-Anhangs-ID für Sichtbarkeit und Debugging verwenden. Die PSC-Anhangs-ID ist nicht im PROXY-Protokoll-Header enthalten.

Anfragen für den Zugriff auf einen veröffentlichten Dienst verwalten

Wenn Sie einen Dienst mit expliziter Projektgenehmigung veröffentlicht haben, können Sie Verbindungsanfragen von Nutzerprojekten annehmen oder ablehnen.

Wenn Sie ein Projekt sowohl in die Zulassungsliste als auch auf die Ablehnungsliste setzen, werden Verbindungsanfragen von diesem Projekt abgelehnt.

Nachdem eine Nutzer-Endpunktverbindung für einen Dienst akzeptiert wurde, kann der Endpunkt eine Verbindung zum Dienst herstellen, bis der Dienstanhang gelöscht wird. Dies gilt unabhängig davon, ob das Projekt explizit akzeptiert wurde oder weil der Nutzerendpunkt eine Verbindung hergestellt hat, als die Verbindungseinstellung so eingestellt war, dass sie Verbindungen automatisch akzeptiert.

  • Wenn Sie ein Projekt aus der Zulassungsliste entfernen, können alle zuvor akzeptierten Nutzerendpunkte in diesem Projekt eine Verbindung zum Dienst herstellen. Verbindungen von neuen Nutzerendpunkten in diesem Projekt müssen akzeptiert werden, bevor der Endpunkt eine Verbindung herstellen kann.

  • Wenn Sie der Ablehnungsliste ein Projekt hinzufügen, können alle zuvor akzeptierten Nutzerendpunkte in diesem Projekt eine Verbindung zum Dienst herstellen. Verbindungen von neuen Nutzerendpunkten in diesem Projekt werden abgelehnt und können keine Verbindung zum Dienst herstellen.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Private Service Connect auf.

    Zu Private Service Connect

  2. Klicken Sie auf den Tab Veröffentlichte Dienste.

  3. Klicken Sie auf den Dienst, den Sie verwalten möchten.

  4. Im Abschnitt Verbundene Projekte werden die Projekte aufgelistet, die versucht haben, eine Verbindung zu diesem Dienst herzustellen. Klicken Sie auf das Kästchen neben einem oder mehreren Projekten und dann auf Annehmen oder Ablehnen.

gcloud

  1. Beschreiben Sie den Dienstanhang, den Sie ändern möchten.

    gcloud compute service-attachments describe \
        ATTACHMENT_NAME --region=REGION
    

    Die Ausgabe sieht etwa so aus wie im folgenden Beispiel. Wenn ausstehende Nutzerverbindungen vorhanden sind, werden diese mit dem Status PENDING aufgeführt.

    In dieser Beispielausgabe befindet sich das Projekt CONSUMER_PROJECT_1 in der Liste der Annahmen, sodass ENDPOINT_1 akzeptiert wird und eine Verbindung zum Dienst herstellen kann. Das Projekt CONSUMER_PROJECT_2 ist nicht in der Liste der Annahmen enthalten, sodass ENDPOINT_2 aussteht. Nachdem CONSUMER_PROJECT_2 der Akzeptanzliste hinzugefügt wurde, ändert sich der Status von ENDPOINT_2 in ACCEPTED und der Endpunkt kann eine Verbindung zum Dienst herstellen.

    connectedEndpoints:
    - endpoint: https://www.googleapis.com/compute/v1/projects/CONSUMER_PROJECT_1/regions/REGION_1/forwardingRules/ENDPOINT_1
      pscConnectionId: 'ENDPOINT_1_ID'
      status: ACCEPTED
    - endpoint: https://www.googleapis.com/compute/v1/projects/CONSUMER_PROJECT_2/regions/REGION_2/forwardingRules/ENDPOINT_2
      pscConnectionId: 'ENDPOINT_2_ID'
      status: PENDING
    connectionPreference: ACCEPT_MANUAL
    consumerAcceptLists:
    - connectionLimit: LIMIT_1
      projectIdOrNum: CONSUMER_PROJECT_1
    creationTimestamp: 'TIMESTAMP'
    description: 'DESCRIPTION'
    enableProxyProtocol: false
    fingerprint: FINGERPRINT
    id: 'ID'
    kind: compute#serviceAttachment
    name: NAME
    natSubnets:
    - https://www.googleapis.com/compute/v1/projects/PRODUCER_PROJECT/regions/REGION/subnetworks/PSC_SUBNET
    pscServiceAttachmentId:
      high: 'PSC_ATTACH_ID_HIGH'
      low: 'PSC_ATTACH_ID_LOW'
    region: https://www.googleapis.com/compute/v1/projects/PRODUCER_PROJECT/regions/REGION
    selfLink: https://www.googleapis.com/compute/v1/projects/projects/PRODUCER_PROJECT/regions/REGION/serviceAttachments/ATTACHMENT_NAME
    targetService: https://www.googleapis.com/compute/v1/projects/PRODUCER_PROJECT/regions/REGION/forwardingRules/PRODUCER_FWD_RULE
    
  2. Nehmen Sie Nutzerprojekte an oder lehnen Sie sie ab.

    Sie können --consumer-accept-list oder --consumer-reject-list oder beides angeben. Sie können mehrere Werte in --consumer-accept-list und --consumer-reject-list angeben.

    gcloud compute service-attachments update ATTACHMENT_NAME \
        --region=REGION \
        --consumer-accept-list=ACCEPTED_PROJECT_1=LIMIT_1,ACCEPTED_PROJECT_2=LIMIT_2 \
        --consumer-reject-list=REJECTED_PROJECT_1,REJECTED_PROJECT_2
    

    Dabei gilt:

    • ATTACHMENT_NAME: der Name, der dem Dienstanhang zugewiesen werden soll.

    • REGION: die Region, in der sich der Dienstanhang befindet.

    • ACCEPTED_PROJECT_1 und ACCEPTED_PROJECT_2: die zu akzeptierenden Projekte. consumerAcceptList ist optional und kann ein oder mehrere Projekte enthalten.

    • LIMIT_1 und LIMIT_2: die Verbindungslimits für die Projekte. Das Verbindungslimit gibt die Anzahl der Private Service Connect-Endpunkte an, die eine Verbindung zu diesem Dienst herstellen können. Für jedes akzeptierte Projekt muss ein Verbindungslimit konfiguriert sein.

    • REJECTED_PROJECT_1 und REJECTED_PROJECT_2: die Projekte, die abgelehnt werden sollen. --consumer-reject-list ist optional und kann ein oder mehrere Projekte enthalten.

API

  1. Beschreiben Sie den Dienstanhang, den Sie ändern möchten.

    Wenn ausstehende Nutzerverbindungen vorhanden sind, werden diese mit dem Status PENDING aufgeführt.

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME
    
  2. Nehmen Sie die Nutzerprojekte an oder lehnen Sie sie ab.

    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME
    
    {
      ...
      "consumerAcceptLists": [
        {
          "projectIdOrNum": "ACCEPTED_PROJECT_1"
          "connectionLimit": "LIMIT_1",
        },
        {
          "projectIdOrNum": "ACCEPTED_PROJECT_2"
          "connectionLimit": "LIMIT_2",
        }
      ],
      "consumerRejectLists": [
        "REJECTED_PROJECT_1",
        "REJECTED_PROJECT_2",
      ],
      ...
    }
    

    Dabei gilt:

    • PROJECT_ID: das Projekt für den Dienstanhang.

    • REGION: die Region für den Dienstanhang.

    • ATTACHMENT_NAME: der Name, der dem Dienstanhang zugewiesen werden soll.

    • REJECTED_PROJECT_1 und REJECTED_PROJECT_2: die Projekte, die abgelehnt werden sollen. consumerRejectList ist optional und kann ein oder mehrere Projekte enthalten.

    • ACCEPTED_PROJECT_1 und ACCEPTED_PROJECT_2: die zu akzeptierenden Projekte. consumerAcceptList ist optional und kann ein oder mehrere Projekte enthalten.

    • LIMIT_1 und LIMIT_2: die Verbindungslimits für die Projekte. Das Verbindungslimit gibt die Anzahl der Private Service Connect-Endpunkte an, die eine Verbindung zu diesem Dienst herstellen können. Für jedes akzeptierte Projekt muss ein Verbindungslimit konfiguriert sein.

Verbindungseinstellung für einen veröffentlichten Dienst ändern

Sie können zwischen der automatischen und der expliziten Projektzulassung für einen veröffentlichten Dienst wechseln.

Eine Änderung von der automatischen Zulassung zur expliziten Zulassung wirkt sich nicht auf Nutzerendpunkte aus, die vor dieser Änderung mit dem Dienst verbunden wurden. Vorhandene Nutzerendpunkte können bis zum Löschen des Dienstanhangs eine Verbindung zum veröffentlichten Dienst herstellen. Neue Nutzerendpunkte müssen akzeptiert werden, bevor sie eine Verbindung zum Dienst herstellen können. Weitere Informationen finden Sie unter Anfragen für den Zugriff auf einen veröffentlichten Dienst verwalten.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Private Service Connect auf.

    Zu Private Service Connect

  2. Klicken Sie auf den Tab Veröffentlichte Dienste.

  3. Klicken Sie auf den Dienst, den Sie aktualisieren möchten, und dann auf Bearbeiten.

  4. Wählen Sie die gewünschte Verbindungseinstellung aus:

    • Verbindungen für ausgewählte Projekte akzeptieren
    • Verbindungen für alle Projekte automatisch akzeptieren
  5. Wenn Sie zu Verbindungen für ausgewählte Projekte akzeptieren wechseln, können Sie Details zu den Projekten, die Sie zulassen möchten, angeben oder später hinzufügen.

    1. Klicken Sie auf Akzeptiertes Projekt hinzufügen.
    2. Geben Sie das Projekt und das Verbindungslimit ein.
  6. Klicken Sie auf Speichern.

gcloud

  • Ändern Sie die Verbindungseinstellung für den Dienstanhang von ACCEPT_AUTOMATIC in ACCEPT_MANUAL.

    Mit --consumer-accept-list und --consumer-reject-list steuern Sie, welche Projekte sich mit Ihrem Dienst verbinden können. Sie können die Listen zum Zulassen und Ablehnen beim Ändern der Verbindungseinstellung konfigurieren oder die Listen später aktualisieren.

    gcloud compute service-attachments update ATTACHMENT_NAME \
        --region=REGION \
        --connection-preference=ACCEPT_MANUAL \
        [ --consumer-accept-list=ACCEPTED_PROJECT_1=LIMIT_1,ACCEPTED_PROJECT_2=LIMIT_2] \
        [ --consumer-reject-list=REJECTED_PROJECT_1,REJECTED_PROJECT_2 ]
    
    • ATTACHMENT_NAME: der Name des Dienstanhangs.

    • REGION: die Region, in der sich der Dienstanhang befindet.

    • ACCEPTED_PROJECT_1 und ACCEPTED_PROJECT_2: die zu akzeptierenden Projekte. --consumer-accept-list ist optional und kann ein oder mehrere Projekte enthalten.

    • LIMIT_1 und LIMIT_2: die Verbindungslimits für die Projekte. Das Verbindungslimit gibt die Anzahl der Private Service Connect-Endpunkte an, die eine Verbindung zu diesem Dienst herstellen können. Für jedes akzeptierte Projekt muss ein Verbindungslimit konfiguriert sein.

    • REJECTED_PROJECT_1 und REJECTED_PROJECT_2: die Projekte, die abgelehnt werden sollen. --consumer-reject-list ist optional und kann ein oder mehrere Projekte enthalten.

  • Ändern Sie die Verbindungseinstellung für den Dienstanhang von ACCEPT_MANUAL in ACCEPT_AUTOMATIC.

    Wenn Sie Werte in der Zulassungs- oder Ablehnungsliste haben, legen Sie diese als leer fest, wenn Sie die Verbindungseinstellung ändern ("").

    gcloud compute service-attachments update ATTACHMENT_NAME \
        --region=REGION \
        --connection-preference=ACCEPT_AUTOMATIC \
         --consumer-accept-list="" \
         --consumer-reject-list=""
    
    • ATTACHMENT_NAME: der Name des Dienstanhangs.

    • REGION: die Region, in der sich der Dienstanhang befindet.

API

  • Ändern Sie die Verbindungseinstellung für den Dienstanhang von ACCEPT_AUTOMATIC in ACCEPT_MANUAL.
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME

{
  ...
  "connectionPreference": "ACCEPT_MANUAL",
  "consumerAcceptLists": [
    {
      "projectIdOrNum": "ACCEPTED_PROJECT_1"
      "connectionLimit": "LIMIT_1",
    },
    {
      "projectIdOrNum": "ACCEPTED_PROJECT_2"
      "connectionLimit": "LIMIT_2",
    }
  ],
  "consumerRejectLists": [
    "REJECTED_PROJECT_1",
    "REJECTED_PROJECT_2",
  ],
  ...
}

Dabei gilt:

  • PROJECT_ID: das Projekt für den Dienstanhang.

  • REGION: die Region für den Dienstanhang.

  • ATTACHMENT_NAME: der Name, der dem Dienstanhang zugewiesen werden soll.

  • REJECTED_PROJECT_1 und REJECTED_PROJECT_2: die Projekte, die abgelehnt werden sollen. consumerRejectList ist optional und kann ein oder mehrere Projekte enthalten.

  • ACCEPTED_PROJECT_1 und ACCEPTED_PROJECT_2: die zu akzeptierenden Projekte. consumerAcceptList ist optional und kann ein oder mehrere Projekte enthalten.

  • LIMIT_1 und LIMIT_2: die Verbindungslimits für die Projekte. Das Verbindungslimit gibt die Anzahl der Private Service Connect-Endpunkte an, die eine Verbindung zu diesem Dienst herstellen können. Für jedes akzeptierte Projekt muss ein Verbindungslimit konfiguriert sein.

  • Ändern Sie die Verbindungseinstellung für den Dienstanhang von ACCEPT_MANUAL in ACCEPT_AUTOMATIC.

    Wenn die Felder consumerAcceptLists oder consumerRejectLists Projekte enthalten, legen Sie diese als leer fest, wenn Sie die Verbindungseinstellung in ACCEPT_AUTOMATIC ändern.

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME

{
  ...
  "connectionPreference": "ACCEPT_AUTOMATIC",
  "consumerAcceptLists": [ ],
  "consumerRejectLists": [ ],
  ...
}

Dabei gilt:

  • PROJECT_ID: das Projekt für den Dienstanhang.

  • REGION: die Region für den Dienstanhang.

  • ATTACHMENT_NAME: der Name des Dienstanhangs.

Die mit einem Dienst verknüpften Subnetze ändern

Sie können ändern, welche Private Service Connect-Subnetze mit einem veröffentlichten Dienst verwendet werden.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Private Service Connect auf.

    Zu Private Service Connect

  2. Klicken Sie auf den Tab Veröffentlichte Dienste.

  3. Klicken Sie auf den Dienst, den Sie aktualisieren möchten, und dann auf Bearbeiten.

  4. Ändern Sie die für diesen Dienst verwendeten Subnetze.

    Wenn Sie ein neues Subnetz hinzufügen möchten, können Sie eines erstellen:

    1. Klicken Sie auf Neues Subnetz reservieren.
    2. Geben Sie einen Namen und optional eine Beschreibung für das Subnetz ein.
    3. Wählen Sie eine Region für das Subnetz aus.
    4. Geben Sie den IP-Bereich ein, der für das Subnetz verwendet werden soll, und klicken Sie auf Hinzufügen.
  5. Klicken Sie auf Speichern.

gcloud

Aktualisieren Sie die für diesen Dienstanhang verwendeten Private Service Connect-Subnetze. Informationen zum Erstellen eines neuen Subnetzes finden Sie unter Private Service Connect-Subnetz erstellen.

gcloud compute service-attachments update ATTACHMENT_NAME \
    --region=REGION \
    --nat-subnets=PSC_SUBNET_LIST

Dabei gilt:

  • ATTACHMENT_NAME: der Name des Dienstanhangs.

  • REGION: die Region, in der sich der Dienstanhang befindet.

  • PSC_SUBNET_LIST: eine durch Kommas getrennte Liste mit einem oder mehreren Subnetzen, die mit diesem Dienstanhang verwendet werden sollen.

API

Aktualisieren Sie die für diesen Dienstanhang verwendeten Private Service Connect-Subnetze. Informationen zum Erstellen eines neuen Subnetzes finden Sie unter Private Service Connect-Subnetz erstellen.

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME

{
  ...
  "natSubnets": [
    "PSC_SUBNET1_URI",
    "PSC_SUBNET2_URI",
  ],
  ...
}

Dabei gilt:

  • PROJECT_ID: das Projekt für den Dienstanhang.

  • REGION: die Region für den Dienstanhang.

  • ATTACHMENT_NAME: der Name, der dem Dienstanhang zugewiesen werden soll.

  • PSC_SUBNET1_URI und PSC_SUBNET2_URI: URI der Subnetze, die Sie mit diesem Dienstanhang verwenden möchten. Sie können eine oder mehrere Subnetze angeben.

Veröffentlichte Dienste auflisten

Sie können alle Dienste auflisten.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Private Service Connect auf.

    Zu Private Service Connect

  2. Klicken Sie auf den Tab Veröffentlichte Dienste.

    Die Anhänge für Private Service Connect-Dienste werden angezeigt.

gcloud

  1. Listen Sie Dienstanhänge auf.

    gcloud compute service-attachments list [--regions=REGION_LIST]
    

    Dabei gilt:

    • REGION_LIST: eine durch Kommas getrennte Liste mit einer oder mehreren Regionen, für die Sie Dienstanhänge aufrufen möchten. Beispiel: us-central1oder us-west1,us-central1.

API

Sie können alle Dienstanhänge in einer bestimmten Region oder in allen Regionen anzeigen.

  • So rufen Sie alle Dienstanhänge in einer Region auf:

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments
    
  • Alle Dienstanhänge in allen Regionen anzeigen:

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/serviceAttachments
    

    Dabei gilt:

    • PROJECT_ID: das Projekt für den Dienstanhang.

    • REGION: die Region für den Dienstanhang.

    • ATTACHMENT_NAME: der Name des Dienstanhangs.

Details zu einem veröffentlichten Dienst ansehen

Sie können die Konfigurationsdetails eines veröffentlichten Dienstes aufrufen. Sie können einige Konfigurationsdetails in der Cloud Console anzeigen, z. B. den Dienstanhang-URI, den die Dienstnutzer mit Ihrem Dienst verbinden müssen. Wenn Sie alle Details ansehen möchten, einschließlich der pscConnectionId-Werte für die Nutzer des Dienstanhangs, verwenden Sie das gcloud-Befehlszeilentool oder die API.

Console

Sie können Details zu einem veröffentlichten Dienst aufrufen. Das Feld Dienstanhang enthält den URI des Dienstanhangs.

  1. Rufen Sie in der Google Cloud Console die Seite Private Service Connect auf.

    Zu Private Service Connect

  2. Klicken Sie auf den Tab Veröffentlichte Dienste.

  3. Klicken Sie auf den Dienst, den Sie aufrufen möchten.

gcloud

Sie können Details zu einem veröffentlichten Dienst aufrufen. Das Feld selfLink enthält den URI des Dienstanhangs.

gcloud compute service-attachments describe \
    ATTACHMENT_NAME --region=REGION

API

Sie können Details zu einem veröffentlichten Dienst aufrufen. Das Feld selfLink enthält den URI des Dienstanhangs.

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME

Dabei gilt:

  • PROJECT_ID: das Projekt für den Dienstanhang.

  • REGION: die Region für den Dienstanhang.

  • ATTACHMENT_NAME: der Name des Dienstanhangs.

Veröffentlichten Dienst löschen

Sie können einen veröffentlichten Dienst löschen, auch wenn Nutzerverbindungen mit dem Dienstanhang bestehen. Wenn Sie den veröffentlichten Dienst löschen, wird nur der Dienstanhang entfernt. Der zugehörige Load-Balancer wird nicht gelöscht, aber Nutzertraffic wird nicht mehr an den Load-Balancer gesendet.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Private Service Connect auf.

    Zu Private Service Connect

  2. Klicken Sie auf den Tab Veröffentlichte Dienste.

  3. Klicken Sie auf den Dienst, den Sie löschen möchten.

  4. Klicken Sie auf Löschen.

gcloud

gcloud compute service-attachments delete \
    ATTACHMENT_NAME --region=REGION

API

DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME

Dabei gilt:

  • PROJECT_ID: das Projekt für den Dienstanhang.

  • REGION: die Region für den Dienstanhang.

  • ATTACHMENT_NAME: der Name des Dienstanhangs.

Logging

Sie können VPC-Flusslogs in den Subnetzen aktivieren, die die Back-End-VMs enthalten. Die Logs zeigen den Datenfluss zwischen den Back-End-VMs und den IP-Adressen im Subnetz „Private Service Connect”.

Bekannte Probleme

  • Wenn Sie einen Dienstanhang mit der PATCH API aktualisieren, müssen Sie alle Felder für den Dienstanhang im Anfragetext angeben, nicht nur die Felder, die Sie aktualisieren. Verwenden Sie serviceAttachments.get, um alle Felder abzurufen.