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 Private Service Connect verwenden, um einen Dienst zu veröffentlichen. So veröffentlichen Sie einen Dienst:
Hosten Sie den Dienst auf einem unterstützten Load-Balancer mit einer unterstützten Konfiguration.
Erstellen Sie einen Dienstanhang, der auf die Weiterleitungsregel verweist, die dem Load-Balancer zugeordnet ist.
Private Service Connect bietet zwei Methoden zum Herstellen einer Verbindung zu veröffentlichten Diensten:
Diese Endpunkttypen erfordern etwas unterschiedliche Erstellerkonfigurationen. Weitere Informationen finden Sie unter Features und Kompatibilität.
Rollen
Die folgende IAM-Rolle bietet die Berechtigungen, die zum Ausführen der Aufgaben in dieser Anleitung erforderlich sind.
- Compute-Netzwerkadministrator
(
roles/compute.networkAdmin
)
Hinweis
Weitere Informationen, darunter DNS-Konfiguration und Einschränkungen, finden Sie unter Veröffentlichte Dienste.
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.
Entscheiden Sie, ob dieser Dienst Endpunkte, Back-Ends oder beides unterstützen soll. Weitere Informationen zu Endpunkten und Back-Ends finden Sie unter Private Service Connect-Typen.
Weitere Informationen zu den Anforderungen an die Dienstkonfiguration finden Sie unter Features und Kompatibilität.
Unterstützte Load-Balancer-Typen
Sie können den Dienst mit den folgenden Load-Balancern hosten:
Interner TCP/UDP-Load-Balancer in einem VPC-Netzwerk des Diensterstellers.
Interner HTTP(S)-Load-Balancer in einem VPC-Netzwerk des Diensterstellers.
Interne Protokollweiterleitung in einem Dienstersteller-VPC-Netzwerk.
Interner regionaler TCP-Proxy-Load-Balancer (Vorschau) in einem Dienstersteller-VPC-Netzwerk. Die Back-Ends können sich in Google Cloud, in anderen Clouds, in einer lokalen Umgebung oder in einer beliebigen Kombination dieser Standorte befinden.
Informationen zu unterstützten Konfigurationen für jeden Load-Balancer-Typ finden Sie unter Features und Kompatibilität.
Sie können auch einen Dienst veröffentlichen, der in einem internen TCP/UDP-Load-Balancer in Google Kubernetes Engine gehostet wird. Diese Konfiguration, einschließlich des Load-Balancers und der Konfiguration des Dienstanhangs, wird unter Internen TCP/UDP-Load-Balancer mit Private Service Connect erstellen in der GKE-Dokumentation beschrieben.
Subnetz für Private Service Connect erstellen
Erstellen Sie ein oder mehrere dedizierte Subnetze für die Verwendung von Private Service Connect. Wenn Sie die Google Cloud Console zum Veröffentlichen eines Dienstes verwenden, können Sie die Subnetze während dieses Verfahrens erstellen.
Weitere Informationen zum Hinzufügen weiterer IP-Adressen zu einem vorhandenen Dienst finden Sie unter Subnetze zu einem veröffentlichten Dienst hinzufügen oder daraus entfernen.
Sie können auch ein Private Service Connect-Subnetz in einem freigegebenen VPC-Hostprojekt erstellen.
Erstellen Sie das Subnetz in derselben Region wie den Load-Balancer des Dienstes.
Ein reguläres Subnetz kann nicht in ein Private Service Connect-Subnetz umgewandelt werden.
Console
Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf.
Klicken Sie auf den Namen eines VPC-Netzwerks, um die zugehörige Seite VPC-Netzwerkdetails aufzurufen.
Klicken Sie auf Subnetz hinzufügen. Führen Sie im angezeigten Bereich folgende Schritte aus:
- Geben Sie einen Namen an.
- Wählen Sie eine Region aus.
- Wählen Sie im Abschnitt Zweck die Option Private Service Connect aus.
- Geben Sie einen IP-Adressbereich ein. Beispiel:
10.10.10.0/24
. - 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
.
Firewallregeln konfigurieren
Konfigurieren Sie Firewallregeln, um Traffic zwischen den Endpunkten oder Back-Ends und dem Dienstanhang zuzulassen. Clientanfragen stammen aus verschiedenen Standorten, je nach Private Service Connect-Typ.
Private Service Connect-Typ | IP-Adressbereiche für Client-Traffic | Details |
---|---|---|
Endpunkt (basierend auf einer Weiterleitungsregel) | Die IP-Adressbereiche der Private Service Connect-Subnetze, die mit diesem Dienst verknüpft sind. | Wenn Sie das Standardnetzwerk verwenden, lässt die bereits ausgefüllte Regel default-allow-internal diesen Traffic zu, es sei denn, sie wird durch eine Regel mit höherer Priorität blockiert. |
Back-End (basierend auf einem globalen externen HTTP(S)-Load-Balancer) |
|
Globale externe HTTP(S)-Load-Balancer werden auf Google Front Ends (GFEs) implementiert, die diese IP-Adressbereiche verwenden. |
Wenn Ihre Firewall-Konfiguration keinen Traffic vom entsprechenden Endpunkttyp zulässt, konfigurieren Sie die Firewallregeln so, dass er zugelassen wird.
In dieser Beispielkonfiguration können Sie VPC-Firewallregeln erstellen, um Traffic von Client-IP-Adressbereichen zu den Back-End-VMs im Load-Balancer des Producer-Dienstes zuzulassen. Diese Konfiguration setzt voraus, dass die Back-End-VMs mit einem Netzwerk-Tag konfiguriert wurden.
Beispiel für eine Regel für eingehenden Traffic:
gcloud compute firewall-rules create NAME \ --network=NETWORK_NAME \ --direction=ingress \ --action=allow \ --target-tags=TAG \ --source-ranges=CLIENT_IP_RANGES_LIST \ --rules=RULES
Dabei gilt:
NETWORK_NAME
ist das Netzwerk mit dem Dienst und dem Private Service Connect-Subnetz.TAG
ist das Zieltag, das auf die Back-End-VMs im Load-Balancer des Producer-Dienstes angewendet wird.CLIENT_IP_RANGES_LIST
sind die IP-Adressbereiche, aus denen der Clienttraffic stammt. Weitere Informationen finden Sie in der vorherigen Tabelle.RULES_LIST
: eine durch Kommas getrennte Liste von Protokollen und Zielports, auf die die Regel angewendet wird. Beispiel:tcp,udp
Beispiel für eine Regel für ausgehenden Traffic:
gcloud compute firewall-rules create NAME \ --network=NETWORK_NAME \ --direction=egress \ --action=allow \ --target-tags=TAG \ --destination-ranges=CLIENT_IP_RANGES_LIST \ --rules=RULES
Dabei gilt:
NETWORK_NAME
ist das Netzwerk mit dem Dienst und dem Private Service Connect-Subnetz.TAG
ist das Zieltag, das auf die Back-End-VMs im Load-Balancer des Producer-Dienstes angewendet wird.CLIENT_IP_RANGES_LIST
sind die IP-Adressbereiche, aus denen der Clienttraffic stammt. Weitere Informationen finden Sie in der vorherigen Tabelle.RULES_LIST
: eine durch Kommas getrennte Liste von Protokollen und Zielports, auf die die Regel angewendet wird. Beispiel:tcp,udp
Weitere Informationen zum Konfigurieren von VPC-Firewallregeln finden Sie unter VPC-Firewallregeln. Wenn Sie hierarchische Firewallregeln konfigurieren möchten, um diesen Traffic zuzulassen, lesen Sie die Übersicht über hierarchische Firewallrichtlinien.
Dienst veröffentlichen
Zum Veröffentlichen eines Dienstes erstellen Sie einen Dienstanhang. Sie können den Dienst auf zwei Arten verfügbar machen:
- Sie können einen Dienst mit automatischer Projektgenehmigung veröffentlichen.
- Sie können einen Dienst mit expliziter Projektgenehmigung veröffentlichen.
Erstellen Sie den Dienstanhang in derselben Region wie den Load-Balancer des Dienstes.
Jeder Dienstanhang kann auf ein oder mehrere Private Service Connect-Subnetze verweisen. Ein Private Service Connect-Subnetz kann jedoch nicht in mehr als einem Dienstanhang verwendet werden.
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 lesen möchten, können Sie das PROXY-Protokoll für unterstützte Dienste aktivieren. Informationen zu unterstützten Diensten finden Sie unter Features und Kompatibilität. Weitere Informationen zum PROXY-Protokoll finden Sie unter Informationen zur Nutzerverbindung aufrufen.
Console
Rufen Sie in der Google Cloud Console die Seite Private Service Connect auf.
Klicken Sie auf den Tab Veröffentlichte Dienste.
Klicken Sie auf Dienst veröffentlichen.
Wählen Sie den Load-Balancer-Typ für den Dienst aus, den Sie veröffentlichen möchten:
- Interner TCP/UDP-Load-Balancer
- Interner TCP-Proxy-Load-Balancer
- Interner HTTP(S)-Load-Balancer
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.
Wenn Sie dazu aufgefordert werden, wählen Sie die Weiterleitungsregel des Dienstes aus, den Sie veröffentlichen möchten.
Geben Sie unter Dienstname einen Namen für den Dienstanhang ein.
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:
- Klicken Sie auf Neues Subnetz reservieren.
- Geben Sie einen Namen und optional eine Beschreibung für das Subnetz ein.
- Wählen Sie eine Region für das Subnetz aus.
- Geben Sie den IP-Bereich ein, der für das Subnetz verwendet werden soll, und klicken Sie auf Hinzufügen.
Wenn Sie Informationen zu Nutzerverbindungen aufrufen möchten, wählen Sie Proxyprotokoll verwenden aus.
Wenn Sie einen Domainnamen konfigurieren möchten, geben Sie einen Domainnamen mit einem nachgestellten Punkt ein.
Das empfohlene Format für den Domainnamen ist
REGION.p.DOMAIN.
.Sie müssen Inhaber des Domainnamens sein. Weitere Informationen finden Sie unter DNS-Konfiguration.
Wählen Sie Verbindungen für alle Projekte automatisch akzeptieren aus.
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 ] \ [ --domain-names=DOMAIN_NAME ]
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.DOMAIN_NAME
: ein DNS-Domainname für den Dienst, einschließlich eines abschließenden Punkts. Empfohlenes Format:REGION.p.DOMAIN.
Weitere Informationen finden Sie unter DNS-Konfiguration.
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", ], "domainNames": [ "DOMAIN_NAME", ], }
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
undPSC_SUBNET_2_URI
: die für diesen Dienstanhang zu verwendenden Subnetz-URIs. Sie können ein oder mehrere Subnetze anhand des URI angeben.DOMAIN_NAME
: ein DNS-Domainname für den Dienst, einschließlich eines abschließenden Punkts. Empfohlenes Format:REGION.p.DOMAIN.
Weitere Informationen finden Sie unter DNS-Konfiguration.
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.
Console
Rufen Sie in der Google Cloud Console die Seite Private Service Connect auf.
Klicken Sie auf den Tab Veröffentlichte Dienste.
Klicken Sie auf Dienst veröffentlichen.
Wählen Sie den Load-Balancer-Typ aus: Interner TCP/UDP-Load-Balancer oder Interner HTTP(S)-Load-Balancer.
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.
Wenn Sie dazu aufgefordert werden, wählen Sie die Weiterleitungsregel des Dienstes aus, den Sie veröffentlichen möchten.
Geben Sie unter Dienstname einen Namen für den Dienstanhang ein.
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:
- Klicken Sie auf Neues Subnetz reservieren.
- Geben Sie einen Namen und optional eine Beschreibung für das Subnetz ein.
- Wählen Sie eine Region für das Subnetz aus.
- Geben Sie den IP-Bereich ein, der für das Subnetz verwendet werden soll, und klicken Sie auf Hinzufügen.
Wenn Sie Informationen zu Nutzerverbindungen aufrufen möchten, klicken Sie das Kästchen Protokolle an.
Wenn Sie einen Domainnamen konfigurieren möchten, geben Sie einen Domainnamen mit einem nachgestellten Punkt ein.
Das empfohlene Format für den Domainnamen ist
REGION.p.DOMAIN.
.Sie müssen Inhaber des Domainnamens sein. Weitere Informationen finden Sie unter DNS-Konfiguration.
Wählen Sie Verbindungen für ausgewählte Projekte akzeptieren aus.
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 Private Service Connect-Endpunkte im Nutzer-VPC-Netzwerk, die eine Verbindung zum Dienstanhang im Ersteller-VPC-Netzwerk herstellen können.
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 ] \ [--domain-names=DOMAIN_NAME]
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
undACCEPTED_PROJECT_2
: die zu akzeptierenden Projekte.--consumer-accept-list
ist optional und kann ein oder mehrere Projekte enthalten.LIMIT_1
undLIMIT_2
: die Verbindungslimits für die Projekte. Das Verbindungslimit gibt die Anzahl der Nutzerendpunkte oder -Back-Ends an, die eine Verbindung zu diesem Dienst herstellen können. Für jedes akzeptierte Projekt muss ein Verbindungslimit konfiguriert sein.REJECTED_PROJECT_1
undREJECTED_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.DOMAIN_NAME
: ein DNS-Domainname für den Dienst, einschließlich eines abschließenden Punkts. Empfohlenes Format:REGION.p.DOMAIN.
Weitere Informationen finden Sie unter DNS-Konfiguration.
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", }, ], "domainNames": [ "DOMAIN_NAME", ], }
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
undPSC_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
undREJECTED_PROJECT_2
: die Projekte, die abgelehnt werden sollen.consumerRejectList
ist optional und kann ein oder mehrere Projekte enthalten.ACCEPTED_PROJECT_1
undACCEPTED_PROJECT_2
: die zu akzeptierenden Projekte.consumerAcceptList
ist optional und kann ein oder mehrere Projekte enthalten.LIMIT_1
undLIMIT_2
: die Verbindungslimits für die Projekte. Das Verbindungslimit gibt die Anzahl der Nutzerendpunkte oder -Back-Ends an, die eine Verbindung zu diesem Dienst herstellen können. Für jedes akzeptierte Projekt muss ein Verbindungslimit konfiguriert sein.DOMAIN_NAME
: ein DNS-Domainname für den Dienst, einschließlich eines abschließenden Punkts. Empfohlenes Format:REGION.p.DOMAIN.
Weitere Informationen finden Sie unter DNS-Konfiguration.
Informationen zur Nutzerverbindung ansehen
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 nicht von allen Diensten unterstützt. Weitere Informationen finden Sie unter Features und Kompatibilität.
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 für einen Dienstanhang aktivieren, gilt die Änderung nur für neue Verbindungen. Vorhandene Verbindungen enthalten nicht den PROXY-Protokoll-Header.
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.
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 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 Endpunkte (Weiterleitungsregeln) enthielt, 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. Weitere Informationen finden Sie unter Anfragen für den Zugriff auf einen veröffentlichten Dienst verwalten.
Sie können auch zwischen der automatischen und der expliziten Projektzulassung für einen veröffentlichten Dienst wechseln. Weitere Informationen finden Sie unter Verbindungseinstellung für einen veröffentlichten Dienst ändern.
Subnetze zu einem veröffentlichten Dienst hinzufügen oder daraus entfernen
Sie können Subnetze zu einem veröffentlichten Dienst hinzufügen oder daraus entfernen. Weitere Informationen finden Sie unter Subnetze zu einem veröffentlichten Dienst hinzufügen oder daraus entfernen.
Veröffentlichte Dienste auflisten
Sie können alle Dienste auflisten.
Console
Rufen Sie in der Google Cloud Console die Seite Private Service Connect auf.
Klicken Sie auf den Tab Veröffentlichte Dienste.
Die Anhänge für Private Service Connect-Dienste werden angezeigt.
gcloud
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-central1
oderus-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 für einen veröffentlichten Dienst ansehen
Sie können die Konfigurationsdetails eines veröffentlichten Dienstes aufrufen.
Sie können sich einige Konfigurationsdetails in der Google Cloud Console anzeigen lassen, z. B. den URI des Dienstanhangs, den Dienstnutzer mit Ihrem Dienst verbinden müssen. Verwenden Sie die Google Cloud CLI oder die API, um alle Details anzuzeigen, einschließlich der pscConnectionId
-Werte für die Nutzer des Dienstanhangs.
Console
Sie können Details zu einem veröffentlichten Dienst aufrufen. Das Feld Dienstanhang enthält den URI des Dienstanhangs.
Rufen Sie in der Google Cloud Console die Seite Private Service Connect auf.
Klicken Sie auf den Tab Veröffentlichte Dienste.
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. Wenn Sie einen veröffentlichten Dienst löschen, gilt Folgendes:
Traffic von Endpunkten (basierend auf Weiterleitungsregeln) wird nicht mehr an den Load-Balancer gesendet.
Traffic von Back-Ends (basierend auf globalen HTTP(S)-Load-Balancern) wird an den Load-Balancer gesendet, bis der Load-Balancer gelöscht wurde.
Console
Rufen Sie in der Google Cloud Console die Seite Private Service Connect auf.
Klicken Sie auf den Tab Veröffentlichte Dienste.
Klicken Sie auf den Dienst, den Sie löschen möchten.
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.
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 SieserviceAttachments.get
, um alle Felder abzurufen.
Fehlerbehebung
Fehler beim Aktualisieren eines Dienstanhangs
Wenn beim Aktualisieren eines Dienstanhangs die folgende Fehlermeldung angezeigt wird, enthält die Annahmeliste oder die Ablehnungsliste möglicherweise gelöschte Projekte: The
resource PROJECT was not found
.
Entfernen Sie die gelöschten Projekte aus der Konfiguration des Dienstanhangs, um das Problem zu beheben.
Verwenden Sie den Befehl
gcloud compute service-attachments describe
, um die Konfiguration des Dienstanhangs aufzurufen, den Sie ändern möchten.So geben Sie die Annahmeliste in einem Format aus, das Sie später zum Aktualisieren des Dienstanhangs verwenden können:
gcloud compute service-attachments describe ATTACHMENT_NAME \ --region=REGION --flatten="consumerAcceptLists[]" \ --format="csv[no-heading,separator='='](consumerAcceptLists.projectIdOrNum,consumerAcceptLists.connectionLimit)" \ | xargs | sed -e 's/ /,/g'
Die Ausgabe der Annahmeliste sieht in etwa so aus:
PROJECT_1=LIMIT_1,PROJECT_2=LIMIT_2,PROJECT_3=LIMIT_3
So geben Sie die Ablehnungsliste in einem Format aus, das Sie später zum Aktualisieren des Dienstanhangs verwenden können:
gcloud compute service-attachments describe ATTACHMENT_NAME \ --region=REGION \ --format="value[delimiter=','](consumerRejectLists[])"
Die Ausgabe der Ablehnungsliste sieht in etwa so aus:
PROJECT_1,PROJECT_2,PROJECT_3
Bearbeiten Sie die Befehlsausgabe, um alle gelöschten Projekte aus der Annahmeliste und aus der Ablehnungsliste zu entfernen.
Aktualisieren Sie den Dienstanhang, um die gelöschten Projekte zu entfernen.
So aktualisieren Sie die Annahmeliste:
gcloud compute service-attachments update ATTACHMENT_NAME \ --region=REGION \ --consumer-accept-list=UPDATED_ACCEPT_LIST
So aktualisieren Sie die Ablehnungsliste:
gcloud compute service-attachments update ATTACHMENT_NAME \ --region=REGION \ --consumer-reject-list=UPDATED_REJECT_LIST