Auf dieser Seite wird beschrieben, wie Sie den Zugriff auf ein privates Netzwerk einrichten und den Traffic innerhalb eines Google Cloud -Netzwerks weiterleiten.
Um den Zugriff auf ein privates Netzwerk einzurichten, müssen Sie drei Projekte konfigurieren:
- Ein Projekt mit einer Virtual Private Cloud (VPC) und einer virtuellen Maschineninstanz (VM), die das Ziel ist.
- Ein Projekt, das als Service Directory-Dienstprojekt dient.
- Ein Projekt für ein Google Cloud Produkt mit der Konfiguration, die den Zugriff auf ein privates Netzwerk auslöst. Ein Beispiel für ein Google Cloud Produkt, mit dem Endpunkte über den Zugriff auf ein privates Netzwerk aufgerufen werden können, ist Dialogflow CX.
Die Artefakte der Projekte können sich im selben Projekt oder in verschiedenen Projekten befinden.
Hinweis
Führen Sie vor der Konfiguration des Zugriffs auf ein privates Netzwerk die folgenden Schritte aus:
Klicken Sie in der Google Cloud Console auf der Seite APIs und Dienste für jedes Projekt auf APIs und Dienste aktivieren, um die gewünschten APIs zu aktivieren, einschließlich der Service Directory API.
Wenn Sie Ihr VPC-Netzwerk mit lokalen Hosts verknüpfen möchten, erstellen Sie einen Cloud VPN-Tunnel oder eine Cloud Interconnect-Verbindung.
Das Google Cloud -Projekt muss sich sowohl im VPC Service Controls-Perimeter des Netzwerkprojekts als auch im Service Directory-Projekt für
servicedirectory.googleapis.com
befinden.
Projekt für das VPC-Netzwerk konfigurieren
So konfigurieren Sie das Projekt für das VPC-Netzwerk:
Erstellen Sie ein VPC-Netzwerk. Wenn Sie ein vorhandenes VPC-Netzwerk verwenden möchten, achten Sie darauf, dass es Subnetze im automatischen oder benutzerdefinierten Modus unterstützt. Legacy-Netzwerke werden nicht unterstützt.
Wenn das Ziel Ihres VPC-Netzwerks eine Compute Engine-VM oder ein internes Load Balancer-Back-End ist, konfigurieren Sie eine VPC-Netzwerk-Firewallregel. Erstellen Sie Firewallregeln, um TCP-Zugriff von
35.199.192.0/19
auf den Port zuzulassen, an dem Ihr Ziel anhört. Die Ports443
und80
sind typisch, aber Sie können jeden Port verwenden. Standardmäßig blockieren VPC-Netzwerk-Firewallregeln eingehende Verbindungen zu Compute Engine-VMs.Weitere Informationen zu
35.199.192.0/19
finden Sie unter Pfade für Cloud DNS und das Dienstverzeichnis.Weisen Sie dem Dienstmitarbeiter des Google Cloud Produkts, das den Endpunkt aufruft, die IAM-Rolle (Identity and Access Management) „Private Service Connect Authorized Service“ (
roles/servicedirectory.pscAuthorizedService
) zu.Weitere Informationen zu Rollen und Berechtigungen finden Sie unter Berechtigungen und Rollen für das Unternehmensverzeichnis.
Service Directory-Projekt konfigurieren
So konfigurieren Sie das Service Directory-Projekt:
Erstellen Sie im VPC-Netzwerk eine VM oder einen internen Load Balancer.
Weisen Sie dem Dienst-Agent desGoogle Cloud Produkts, das den Endpunkt aufruft, die IAM-Rolle „Service Directory Viewer“ (
roles/servicedirectory.viewer
) zu.Erstellen Sie einen Service Directory-Namespace und -Dienst. Erstellen Sie dann einen Endpunkt für diesen Dienst. Folgen Sie dazu der Anleitung im nächsten Abschnitt.
Endpunkt mit Zugriff auf privates Netzwerk erstellen
So erstellen Sie einen Endpunkt mit konfiguriertem Zugriff auf ein privates Netzwerk:
Console
- Rufen Sie in der Google Cloud Console die Seite Namespaces des Dienstverzeichnisses auf. Service Directory-Namespaces aufrufen
- Klicken Sie auf einen Namespace.
- Klicken Sie auf einen Dienst.
- Klicken Sie auf Endpunkt hinzufügen.
- Geben Sie unter Endpunktname einen Namen für den Endpunkt ein.
- Geben Sie unter IP-Adresse eine IPv4-Adresse ein, z. B.
192.0.2.0
. - Geben Sie unter Port eine Portnummer ein, z. B.
443
oder80
. - Wenn Sie den Zugriff auf das private Netzwerk aktivieren möchten, wählen Sie unter Verknüpftes VPC-Netzwerk die gewünschte Option aus:
- Wenn Sie aus einer Liste verfügbarer Netzwerke auswählen möchten, klicken Sie auf Aus Liste auswählen und wählen Sie das Netzwerk aus.
- Wenn Sie ein Projekt und ein Netzwerk angeben möchten, klicken Sie auf Mit Projekt- und Netzwerknamen angeben und geben Sie dann die Projektnummer und den Netzwerknamen ein.
- Klicken Sie auf Erstellen.
gcloud
Verwenden Sie den Befehl gcloud service-directory endpoints create
mit der Projekt-ID und dem angegebenen Netzwerkpfad.
gcloud service-directory endpoints create ENDPOINT_NAME \ --project=PROJECT_ID \ --location=REGION \ --namespace=NAMESPACE_NAME \ --service=SERVICE_ID \ --address=IP_ADDRESS \ --port=PORT_NUMBER \ --network=NETWORK_PATH
Ersetzen Sie Folgendes:
ENDPOINT_NAME
: ein Name für den Endpunkt, den Sie in Ihrem Dienst erstellen, z. B.my-endpoint
PROJECT_ID
: die ID des Projekts.REGION
: die Google Cloud Region, die den Namespace enthältNAMESPACE_NAME
: der Name, den Sie dem Namespace gegeben haben, z. B.my-namespace
SERVICE_ID
: die ID des DienstesIP_ADDRESS
: die IP-Adresse des Endpunkts, z. B.192.0.2.0
PORT_NUMBER
: die Ports, auf denen die Endpunkte ausgeführt werden, in der Regel443
oder80
NETWORK_PATH
: die URL des Netzwerks, z. B.projects/PROJECT_NUMBER/locations/global/networks/NETWORK_NAME
Google Cloud Produktprojekt konfigurieren
So konfigurieren Sie das Google Cloud -Produktprojekt:
Konfigurieren Sie Ihr Google Cloud -Produkt so, dass der von Ihnen erstellte Service Directory-Dienst aufgerufen wird. Die erforderlichen Schritte hängen vom jeweiligenGoogle Cloud Produkt ab.
Anwendungsfälle
Dieser Abschnitt enthält Beispielanwendungsfälle für die Konfiguration des Zugriffs auf private Netzwerke.
HTTP-Endpunkt aufrufen, wenn sich ein VPC-Netzwerk, eine VM und das Service Directory im selben Projekt befinden
In diesem Anwendungsfall richten Sie Dialogflow CX ein, ein Google Cloud Produkt für die Verarbeitung natürlicher Sprache, um einen HTTP-Endpunkt auf Ihrer VM aufzurufen. Achten Sie beim Aufrufen des Endpunkts darauf, dass der Traffic nicht über das öffentliche Internet übertragen wird.
In diesem Anwendungsfall erstellen Sie die folgenden Artefakte im selben Projekt:
- VPC-Netzwerk
- Eine VM
- Einen Service Directory-Dienst
- Dialogflow CX
Abbildung 1 zeigt, wie Sie für eine Google-Dienstkonfiguration eines Projekts den ausgehenden Traffic zu einer VM zulassen. Die VM befindet sich in einem VPC-Netzwerk des Projekts.
Netzwerk und Zielnetzwerk einrichten
- Erstellen Sie ein Projekt, z. B.
myproject
. Erstellen Sie ein VPC-Netzwerk, z. B.
vpc-1
.Wählen Sie beim Erstellen des VPC-Netzwerks unter Modus für Subnetzerstellung die Option Automatisch aus.
Erstellen Sie eine Firewallregel, z. B.
firewall-1
.Geben Sie beim Erstellen der Firewallregel die folgenden Werte ein oder wählen Sie sie aus:
- Wählen Sie für Netzwerk die Option
vpc-1
aus. - Geben Sie unter Quell-IPv4-Bereiche
35.199.192.0/19
ein. - Wählen Sie unter Protokolle und Ports die Option TCP aus und geben Sie
443
oder80
ein.
- Wählen Sie für Netzwerk die Option
Erstellen Sie in der Region
us-central1
eine VM, z. B.vm-1
.Geben Sie beim Erstellen der VM die folgenden Werte ein oder wählen Sie sie aus:
- Wählen Sie unter Netzwerk > Netzwerkschnittstellen die Option
vpc-1
aus. - Wählen Sie für Firewall die Option HTTP-Traffic zulassen aus.
Wenn Sie HTTPS verwenden möchten, wählen Sie HTTPS-Traffic zulassen aus. Achten Sie außerdem darauf, ein TLS-Zertifikat (Transport Layer Security) für die Public-Key-Infrastruktur (PKI) zu installieren.
- Wählen Sie unter Netzwerk > Netzwerkschnittstellen die Option
Erstellen Sie in der Region
us-central1
einen Namespace, z. B.namespace-1
.Registrieren Sie im Namespace einen Service Directory-Dienst, z. B.
sd-1
.Erstellen Sie einen Endpunkt in
sd-1
. Verwenden Sie als Endpunktadresse die interne IP-Adresse vonvm-1
auf Port443
. Weitere Informationen finden Sie unter Endpunkt mit Zugriff auf privates Netzwerk erstellen.Weisen Sie dem Dienstmitarbeiter desGoogle Cloud -Produkts, das den Endpunkt aufruft, die folgenden IAM-Rollen zu:
- Rolle „Service Directory-Betrachter“ (
roles/servicedirectory.viewer
) - Rolle „Autorisierter Private Service Connect-Dienst“ (
roles/servicedirectory.pscAuthorizedService
)
- Rolle „Service Directory-Betrachter“ (
Optional: Wenn Sie weitere VMs hinzufügen möchten, können Sie eine weitere VM wie
vm-2
einrichten und ihren Endpunkt wieendpoint-2
hinzufügen.
Google Cloud Produkt einrichten
- Konfigurieren Sie eine Google Cloud -Produktkonfiguration, z. B. „Cloud Scheduler, rufe mich jede Minute an“.
- Richten Sie eine HTTP-Anfrage ein.
- Geben Sie an, dass Anfragen über ein privates Netzwerk erfolgen sollen, z. B. über
sd-1
. - Optional: Konfiguration der Einstellungen für den Zertifizierungsstellendienst
Das Google Cloud -Produkt kann jetzt die HTTP-Anfrage mithilfe von sd-1
aufrufen.
HTTP-Endpunkt aufrufen, wenn sich ein freigegebenes VPC-Netzwerk, eine VM und das Dienstverzeichnis in verschiedenen Projekten befinden
In diesem Anwendungsfall richten Sie Dialogflow CX ein, einen Google Cloud Dienst für die Verarbeitung natürlicher Sprache, um einen HTTP-Endpunkt auf Ihrer VM aufzurufen. Achten Sie beim Aufrufen des Endpunkts darauf, dass der Traffic nicht über das öffentliche Internet übertragen wird.
In diesem Anwendungsfall erstellen Sie die folgenden Artefakte in verschiedenen Projekten:
- Ein freigegebenes VPC-Netzwerk
- Eine VM
- Einen Service Directory-Dienst
- Dialogflow CX
Beachten Sie vor dem Erstellen der Projekte Folgendes:
- Achten Sie darauf, dass bei der API-Aufrufung der VPC Service Controls-Perimeter eingehalten wird.
- Achten Sie darauf, dass die Konfiguration des Google Cloud Dienstprojekts einen ausgehenden Traffic zu einer VM im VPC-Netzwerkprojekt zulässt.
- Das Produzentenprojekt ist möglicherweise nicht mit dem Google Cloud Dienstprojekt identisch.
- Achten Sie darauf, dass die VPC Service Controls-Perimeter beider Projekte verwendet werden.
- Das Service Directory-Projekt und das Netzwerkprojekt müssen nicht miteinander verbunden sein, sie müssen aber zu denselben VPC Service Controls gehören.
- Im Netzwerk und im Dienst sind die Firewall und IAM standardmäßig deaktiviert.
Abbildung 2 zeigt, wie Sie Traffic mithilfe des privaten Netzwerkzugriffs senden, wenn VPC Service Controls-Perimeter erzwungen werden.
Netzwerkprojekt konfigurieren
- Erstellen Sie ein Projekt, z. B.
my-vpc-project
. Erstellen Sie ein VPC-Netzwerk, z. B.
vpc-1
.Wählen Sie beim Erstellen des VPC-Netzwerks für Modus für Subnetzerstellung die Option Automatisch aus.
Erstellen Sie eine Firewallregel, z. B.
firewall-1
.Geben Sie beim Erstellen der Regel die folgenden Werte ein oder wählen Sie sie aus:
- Wählen Sie für Netzwerk die Option
vpc-1
aus. - Geben Sie unter Quell-IPv4-Bereiche
35.199.192.0/19
ein. - Wählen Sie unter Protokolle und Ports die Option TCP aus und geben Sie
443
oder80
ein.
- Wählen Sie für Netzwerk die Option
Erstellen Sie in der Region
us-central1
eine VM, z. B.vm-1
.Geben Sie beim Erstellen der VM die folgenden Werte ein oder wählen Sie sie aus:
- Wählen Sie unter Netzwerk > Netzwerkschnittstellen die Option
vpc-1
aus. - Wählen Sie für Firewall die Option HTTP-Traffic zulassen aus.
Wenn Sie HTTPS verwenden möchten, wählen Sie HTTPS-Traffic zulassen aus. Achten Sie außerdem darauf, ein TLS-Zertifikat (Transport Layer Security) für die Public-Key-Infrastruktur (PKI) zu installieren.
- Wählen Sie unter Netzwerk > Netzwerkschnittstellen die Option
Wenn Sie VPC Service Controls verwenden, ermöglicht der VPC Service Controls-Perimeter die Verbindung des Dienstverzeichnisses sowohl mit dem Google Cloud Dienstprojekt als auch mit dem Dienstverzeichnisprojekt.
Service Directory-Projekt konfigurieren
Erstellen Sie ein Projekt, z. B.
my-sd-project
.Sie benötigen eine zusätzliche IAM-Berechtigung, da das VPC-Netzwerkprojekt und das Service Directory-Projekt unterschiedliche Projekte sind.
Weisen Sie im Netzwerkprojekt dem IAM-Hauptkonten, das den Service Directory-Endpunkt erstellt, die Rolle „Service Directory Network Attacher“ (
roles/servicedirectory.networkAttacher
) zu.Erstellen Sie einen Service Directory-Endpunkt, der auf die VM im VPC-Netzwerk verweist:
- Erstellen Sie in der Region
us-central1
einen Namespace, z. B.namespace-1
. - Registrieren Sie im Namespace einen Service Directory-Dienst, z. B.
sd-1
. - Erstellen Sie einen Endpunkt in
sd-1
. Verwenden Sie als Endpunktadresse die interne IP-Adresse vonvm-1
auf Port443
. Weitere Informationen finden Sie unter Endpunkt mit Zugriff auf privates Netzwerk erstellen.
- Erstellen Sie in der Region
Weisen Sie dem Dienstmitarbeiter desGoogle Cloud -Produkts, das den Endpunkt aufruft, die folgenden IAM-Rollen zu:
- Rolle „Service Directory-Betrachter“ (
roles/servicedirectory.viewer
) im Service Directory-Projekt - Rolle „Autorisierter Private Service Connect-Dienst“ (
roles/servicedirectory.pscAuthorizedService
) im Netzwerkprojekt
- Rolle „Service Directory-Betrachter“ (
Wenn Sie VPC Service Controls verwenden, ermöglicht der VPC Service Controls-Perimeter die Verbindung des Dienstverzeichnisses sowohl mit dem Google Cloud Dienstprojekt als auch mit dem Dienstverzeichnisprojekt.
Google Cloud -Dienstprojekt konfigurieren
- Aktivieren Sie die API für den von Ihnen verwendeten Google Cloud Dienst.
- Verwenden Sie den Service Directory-Dienst aus dem Service Directory-Projekt, um den Google Cloud Dienst
PUSH
zu konfigurieren.
Wenn Sie VPC Service Controls verwenden, ermöglicht der VPC Service Controls-Perimeter eine Verbindung des Dienstverzeichnisses sowohl zum Netzwerkprojekt als auch zum Dienstverzeichnisprojekt.
Privaten Netzwerkzugriff von Service Directory mit Dialogflow verwenden
Eine Anleitung dazu, wie Sie den privaten Netzwerkzugriff von Service Directory mit Dialogflow verwenden, finden Sie unter Service Directory für den privaten Netzwerkzugriff verwenden.
Nächste Schritte
- Eine Übersicht über Service Directory finden Sie in der Service Directory-Übersicht.
- Weitere Informationen zu Private Service Connect finden Sie unter Private Service Connect.
- Informationen zu Lösungen für häufige Probleme, die bei der Verwendung des Diensteverzeichnisses auftreten können, finden Sie unter Fehlerbehebung.