In dieser Anleitung wird beschrieben, wie Sie als Dienstnutzer auf Ihren veröffentlichten Dienst zugreifen können, indem Sie einen Endpunkt für Private Service Connect 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 Cloudarchitekten, 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.
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.
Hinweise
- Arbeiten Sie die beiden vorherigen Anleitungen dieser Reihe durch:
- Dienst mit Lastenausgleich erstellen
- Dienst für andere VPC-Netzwerke zugänglich machen Für diese Anleitung benötigen Sie die ID des Dienstanhangs.
- Erstellen Sie ein Projekt oder wählen Sie ein Projekt aus, das für die Ressourcen des Dienstnutzers verwendet werden soll.
Dieses Projekt wird als
CONSUMER_PROJECTbezeichnet. -
In the Google Cloud console, go to the project selector page.
-
Select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Enable the Compute Engine API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. -
Make sure that you have the following role or roles on the project: Compute Engine > Compute Network Admin, Compute Engine > Compute Instance Admin
Check for the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
-
In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.
- For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.
Grant the roles
-
In the Google Cloud console, go to the IAM page.
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 Weitere Rolle hinzufügen, wenn Sie weitere Rollen zuweisen möchten.
- Klicken Sie auf Speichern.
-
Netzwerk konfigurieren
In den folgenden Abschnitten wird beschrieben, 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
So erstellen Sie das Netzwerk und das Subnetz des Dienstnutzers:
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 die folgenden Informationen ein.
- Geben Sie für Name
consumer-subnetein. - Wählen Sie unter Region dieselbe Region wie für den 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 den veröffentlichten Dienst, den Sie erstellt haben.
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
1000als Priorität ein. - 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 den Wert
allow-sshein. - Wählen Sie für Quellfilter die Option IPv4-Bereiche aus.
- Geben Sie unter Quell-IPv4-Bereiche den Wert
0.0.0.0/0ein. - Wählen Sie unter Protokolle und Ports die Option Angegebene Protokolle und Ports aus und klicken Sie das Kästchen TCP an. Geben Sie für Ports den Wert
22ein.
- Geben Sie für Name
Klicken Sie auf Erstellen.
gcloud
Erstellen Sie die Firewallregel
fw-allow-ssh, um SSH-Verbindungen zu VMs mit dem Netzwerk-Tagallow-sshzu ermöglichen.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 von Ihnen 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 den veröffentlichten Dienst, den Sie erstellt haben.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 Dienstproduzentenprojekts.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 eine Anfrage von dieser VM 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 für 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 in derselben Region wie die Backend-VMs.
Verbindung testen
Bei diesem Test wird von einer Client-VM aus eine Verbindung zum Endpunkt hergestellt. 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. Die erwarteten 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 Producer-Projekt (PRODUCER_PROJECT) als auch das Consumer-Projekt (CONSUMER_PROJECT).
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Nächste Schritte
- Weitere Informationen zu veröffentlichten Diensten von Private Service Connect
- 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