In dieser Anleitung wird erklärt, wie Sie als Dienstnutzer auf Ihren veröffentlichten Dienst zugreifen können, indem Sie einen Private Service Connect Endpunkt erstellen. Wenn Sie Anfragen an den Endpunkt senden, leitet Private Service Connect diese Anfragen an den veröffentlichten Dienst weiter.
Diese Anleitung richtet sich an Cloud-Architekten, Netzwerkarchitekten, Netzwerkadministratoren und IT-Administratoren.
Ziele
- Netzwerk für die Ressourcen des Dienstnutzers konfigurieren
- Endpunkt erstellen
- Zugriff auf den Endpunkt testen
Kosten
In diesem Dokument verwenden Sie die folgenden kostenpflichtigen Komponenten von Google Cloud:
Mit dem Preisrechner können Sie eine Kostenschätzung für Ihre voraussichtliche Nutzung vornehmen.
Verwenden Sie den Preisrechner.
Nach Abschluss der in diesem Dokument beschriebenen Aufgaben können Sie weitere Kosten vermeiden, indem Sie die erstellten Ressourcen löschen. Weitere Informationen finden Sie unter Bereinigen.
Hinweis
- Führen Sie die beiden vorherigen Anleitungen in dieser Reihe aus:
- Load-Balanced-Dienst erstellen.
- Dienst von anderen VPC-Netzwerken aus zugänglich machen. Für diese Anleitung benötigen Sie die Dienstanhang-ID.
- Erstellen oder wählen Sie ein Projekt aus, das für die Ressourcen des Dienstnutzers verwendet werden soll.
Dieses Projekt wird als
CONSUMER_PROJECTbezeichnet. -
Rufen Sie in der Google Cloud Console die Seite für die Projektauswahl auf.
-
Wählen Sie ein Google Cloud Projekt aus oder erstellen Sie eines.
Erforderliche Rollen zum Auswählen oder Erstellen eines Projekts
- Projekt auswählen: Für die Auswahl eines Projekts ist keine bestimmte IAM-Rolle erforderlich. Sie können ein beliebiges Projekt auswählen, für das Ihnen eine Rolle zugewiesen wurde.
-
Projekt erstellen: Zum Erstellen eines Projekts benötigen Sie die Rolle „Projektersteller“
(
roles/resourcemanager.projectCreator), die dieresourcemanager.projects.createBerechtigung enthält. Rollen zuweisen.
Aktivieren Sie die Compute Engine API.
Erforderliche Rollen zum Aktivieren von APIs
Zum Aktivieren von APIs benötigen Sie die IAM-Rolle „Service Usage-Administrator“ (
roles/serviceusage.serviceUsageAdmin), die die Berechtigungserviceusage.services.enableenthält. Rollen zuweisen.-
Achten Sie darauf, dass Sie die folgenden Rollen für das Projekt haben: „Compute Engine > Compute-Netzwerkadministrator“ und „Compute Engine > Compute-Instanzadministrator“
Rollen prüfen
-
Rufen Sie in der Google Cloud Console die Seite IAM auf.
IAM aufrufen - Wählen Sie das Projekt aus.
-
Suchen Sie in der Spalte Hauptkonto alle Zeilen, in denen Sie oder eine Gruppe, zu der Sie gehören, angegeben sind. Informationen zu den Gruppen, zu denen Sie gehören, erhalten Sie von Ihrem Administrator.
- Prüfen Sie in allen Zeilen, in denen Sie angegeben sind oder die Sie enthalten, in der Spalte Rolle , ob die Liste der Rollen die erforderlichen Rollen enthält.
Rollen zuweisen
-
Rufen Sie in der Google Cloud Console die Seite IAM auf.
IAM aufrufen - Wählen Sie das Projekt aus.
- Klicken Sie auf „“ Zugriffsrechte erteilen.
-
Geben Sie im Feld Neue Hauptkonten Ihre Nutzer-ID ein. Das ist in der Regel die E‑Mail-Adresse eines Google-Kontos.
- Klicken Sie auf Rolle auswählen und suchen Sie nach der Rolle.
- Klicken Sie auf Add another role, wenn Sie weitere Rollen zuweisen möchten.
- Klicken Sie auf Speichern.
-
Netzwerk konfigurieren
In den folgenden Abschnitten wird erläutert, wie Sie ein Netzwerk und ein Subnetz zum Hosten des Endpunkts erstellen und wie Sie eine Firewallregel erstellen, um SSH-Zugriff auf die Client-VM zu ermöglichen, die zum Testen des Endpunkts verwendet wird.
Netzwerk und Subnetz erstellen
Gehen Sie so vor, um das Netzwerk und das Subnetz des Dienstnutzers zu erstellen:
Console
Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf.
Klicken Sie auf VPC-Netzwerk erstellen.
Geben Sie für Name
consumer-networkein.Wählen Sie unter Modus für Subnetzerstellung die Option Benutzerdefiniert aus.
Geben Sie im Bereich Neues Subnetz folgende Informationen ein.
- Geben Sie für Name
consumer-subnetein. - Wählen Sie unter Region dieselbe Region wie für den erstellten veröffentlichten Dienst aus, den Sie erstellt haben.
- Wählen Sie für IP-Stack-Typ die Option IPv4 (Single-Stack) aus.
- Geben Sie unter IPv4-Bereich
192.168.10.0/24ein. - Klicken Sie auf Fertig.
- Geben Sie für Name
Klicken Sie auf Erstellen.
gcloud
Erstellen Sie ein VPC-Netzwerk im benutzerdefinierten Modus:
gcloud compute networks create consumer-network --subnet-mode=custom
Erstellen Sie im Netzwerk
consumer-networkein Subnetz.gcloud compute networks subnets create consumer-subnet \ --network=consumer-network \ --range=192.168.10.0/24 \ --region=REGIONErsetzen Sie
REGIONdurch dieselbe Region wie für den erstellten veröffentlichten Dienst.
Firewallregeln konfigurieren
Erstellen Sie eine Firewallregel mit dem Namen fw-allow-ssh, damit SSH-Traffic von
0.0.0.0/0 VMs mit dem Netzwerk-Tag allow-ssh erreichen kann.
Console
Rufen Sie in der Google Cloud Console die Seite Firewallrichtlinien auf.
Klicken Sie auf Firewallregel erstellen und verwenden Sie die folgenden Einstellungen, um eingehende SSH-Verbindungen zuzulassen:
- Geben Sie für Name
fw-allow-sshein. - Wählen Sie für Netzwerk die Option
consumer-networkaus. - Geben Sie als Priorität
1000ein. - Wählen Sie für Traffic-Richtung die Option Eingehend aus.
- Wählen Sie für Aktion bei Übereinstimmung die Option Zulassen aus.
- Wählen Sie unter Ziele die Option Angegebene Ziel-Tags aus.
- Geben Sie für Ziel-Tags
allow-sshein. - Wählen Sie unter Quellfilter die Option IPv4-Bereiche aus.
- Geben Sie unter Quell-IPv4-Bereiche
0.0.0.0/0ein. - Wählen Sie für Protokolle und Ports die Option Angegebene Protokolle und Ports aus,
aktivieren Sie das Kästchen TCP. Geben Sie für Ports
22ein.
- Geben Sie für Name
Klicken Sie auf Erstellen.
gcloud
Erstellen Sie die Firewallregel
fw-allow-ssh, die SSH-Verbindungen zu VMs mit dem Netzwerk-Tagallow-sshzulässt.gcloud compute firewall-rules create fw-allow-ssh \ --network=consumer-network \ --action=allow \ --direction=ingress \ --source-ranges=0.0.0.0/0 \ --target-tags=allow-ssh \ --rules=tcp:22
Endpunkt erstellen
Erstellen Sie einen Endpunkt, der auf den erstellten veröffentlichten Dienst verweist.
Console
Rufen Sie in der Google Cloud Console die Seite Private Service Connect auf.
Klicken Sie auf den Tab Verbundene Endpunkte.
Klicken Sie auf Endpunkt verbinden.
Wählen Sie für Ziel die Option Veröffentlichter Dienst aus.
Geben Sie für Zieldienst
projects/PRODUCER_PROJECT/regions/REGION/serviceAttachments/published-serviceein.Ersetzen Sie
PRODUCER_PROJECTdurch die Projekt-ID des veröffentlichten Dienstes. Ersetzen SieREGIONdurch die Region des veröffentlichten Dienstes.Geben Sie unter Endpunktname
ep-1ein.Wählen Sie für Netzwerk die Option
consumer-networkaus.Wählen Sie für Subnetzwerk die Option
consumer-subnetaus.Klicken Sie auf das Drop-down-Menü IP-Adresse und wählen Sie IP-Adresse erstellen aus.
- Geben Sie für Name
ep-ip-1ein. - Wählen Sie für Statische IP-Adresse die Option Selbst auswählen aus.
- Geben Sie als Benutzerdefinierte IP-Adresse
192.168.10.5ein. - Klicken Sie auf Reservieren.
- Geben Sie für Name
Klicken Sie auf Endpunkt hinzufügen.
gcloud
Reservieren Sie eine interne IP-Adresse, die Sie dem Endpunkt zuweisen möchten.
gcloud compute addresses create ep-ip-1 \ --region=REGION \ --subnet=consumer-subnet \ --addresses=192.168.10.5Ersetzen Sie
REGIONdurch dieselbe Region wie für den erstellten veröffentlichten Dienst.Erstellen Sie eine Weiterleitungsregel, um den Endpunkt mit dem Dienstanhang des Diensterstellers zu verbinden.
gcloud compute forwarding-rules create ep-1 \ --region=REGION \ --network=consumer-network \ --address=ep-ip-1 \ --target-service-attachment=projects/PRODUCER_PROJECT/regions/REGION/serviceAttachments/published-serviceErsetzen Sie Folgendes:
PRODUCER_PROJECT: die Projekt-ID des Diensterstellerprojekts.REGION: die Region des Dienstanhangs.
Zugriff auf den Endpunkt testen
Um zu testen, ob der Endpunkt und der veröffentlichte Dienst funktionieren, erstellen Sie eine Test-VM und senden Sie von dieser eine Anfrage an den Endpunkt.
Client-VM zum Testen erstellen
Erstellen Sie eine Client-VM in derselben Region wie der Endpunkt.
Console
Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.
Klicken Sie auf Instanz erstellen.
Geben Sie für Name
consumer-testein.Wählen Sie unter Region dieselbe Region wie für die Backend-VMs aus.
Wählen Sie als Zone eine Zone in dieser Region aus.
Klicken Sie auf Netzwerk und konfigurieren Sie die folgenden Felder:
- Geben Sie bei Netzwerk-Tags den Wert
allow-sshein. - Wählen Sie für Netzwerkschnittstellen Folgendes aus:
- Wählen Sie für Netzwerk die Option
consumer-networkaus. - Wählen Sie für Subnetz die Option
consumer-subnetaus.
- Wählen Sie für Netzwerk die Option
- Geben Sie bei Netzwerk-Tags den Wert
Klicken Sie auf Erstellen.
gcloud
gcloud compute instances create consumer-test \
--zone=ZONE \
--image-family=debian-12 \
--image-project=debian-cloud \
--tags=allow-ssh \
--subnet=consumer-subnet
Ersetzen Sie ZONE durch eine Zone, die sich in derselben Region wie die Backend-VMs befindet.
Verbindung testen
Dieser Test kontaktiert den Endpunkt von einer Client-VM aus. Dabei wird folgendes Verhalten erwartet: Der Traffic wird auf die Backend-VMs des Load-Balancers verteilt.
- Stellen Sie eine Verbindung zur Client-VM-Instanz her.
Ersetzen Siegcloud compute ssh consumer-test --zone=ZONE
ZONEdurch die Zone der Client-VM. - Stellen Sie mit
curleine Webanfrage an den Endpunkt, um dessen IP-Adresse zu kontaktieren. Wiederholen Sie die Anfrage. So können Sie sehen, dass Antworten von verschiedenen Back-End-VMs stammen. Der Name der VM, die die Antwort generiert, wird aufgrund des Inhalts von/var/www/html/index.htmlauf jeder Backend-VM im Text der HTML-Antwort angezeigt. Erwartete Antworten sehen beispielsweise so aus:Page served from: vm-1undPage served from: vm-2.curl -s http://192.168.10.5
Bereinigen
Damit Ihrem Google Cloud-Konto die in dieser Anleitung verwendeten Ressourcen nicht in Rechnung gestellt werden, löschen Sie entweder das Projekt, das die Ressourcen enthält, oder Sie behalten das Projekt und löschen die einzelnen Ressourcen.
Projekte löschen
Löschen Sie sowohl das Erstellerprojekt (PRODUCER_PROJECT) als auch das Nutzerprojekt (CONSUMER_PROJECT).
Projekt löschen: Google Cloud
gcloud projects delete PROJECT_ID
Nächste Schritte
- Weitere Informationen zu veröffentlichten Private Service Connect-Diensten
- Weitere Informationen zum Zugriff auf veröffentlichte Dienste über Endpunkte
- Referenzarchitekturen, Diagramme und Best Practices zu Google Cloud kennenlernen. Weitere Informationen zu Cloud Architecture Center