Auf den Dienst über ein anderes VPC-Netzwerk zugreifen

In dieser Anleitung wird beschrieben, 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 Cloudarchitekten, Netzwerkarchitekten, Netzwerkadministratoren und IT-Administratoren.

Ziele

  • Netzwerk für die Ressourcen des Dienstnutzers konfigurieren
  • Endpunkt erstellen
  • Auf den Endpunkt zugreifen

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.

Neuen Nutzern von Google Cloud steht möglicherweise eine kostenlose Testversion zur Verfügung.

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

  1. Arbeiten Sie die beiden vorherigen Anleitungen dieser Reihe durch:
  2. Erstellen oder wählen Sie ein Projekt aus, das für die Ressourcen des Dienstnutzers verwendet werden soll. Dieses Projekt wird als CONSUMER_PROJECT bezeichnet.
    1. Rufen Sie in der Google Cloud Console die Seite für die Projektauswahl auf.

      Zur Projektauswahl

    2. Wählen Sie ein Google Cloud Projekt aus oder erstellen Sie eines.

      Rollen, die zum Auswählen oder Erstellen eines Projekts erforderlich sind

      • Projekt auswählen: Für die Auswahl eines Projekts ist keine bestimmte IAM-Rolle erforderlich. Sie können jedes 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 die Berechtigung resourcemanager.projects.create enthält. Weitere Informationen zum Zuweisen von Rollen
  3. Aktivieren Sie die Compute Engine API.

    Rollen, die zum Aktivieren von APIs erforderlich sind

    Zum Aktivieren von APIs benötigen Sie die Berechtigung serviceusage.services.enable. Wenn Sie das Projekt erstellt haben, haben Sie diese Berechtigung wahrscheinlich bereits über die Rolle „Inhaber“ (roles/owner). Andernfalls können Sie diese Berechtigung über die Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin) erhalten. Informationen zum Zuweisen von Rollen

    API aktivieren

  4. Achten Sie darauf, dass Sie die folgenden Rollen für das Projekt haben: Compute Engine > Compute-Netzwerkadministrator, Compute Engine > Compute-Instanzadministrator

    Rollen prüfen

    1. Rufen Sie in der Google Cloud Console die Seite IAM auf.

      IAM aufrufen
    2. Wählen Sie das Projekt aus.
    3. Suchen Sie in der Spalte Hauptkonto nach allen Zeilen, in denen Sie oder eine Gruppe, zu der Sie gehören, angegeben sind. Fragen Sie Ihren Administrator, zu welchen Gruppen Sie gehören.

    4. Prüfen Sie in allen Zeilen, in denen Sie angegeben oder enthalten sind, die Spalte Rolle, um zu sehen, ob die Liste der Rollen die erforderlichen Rollen enthält.

    Rollen zuweisen

    1. Rufen Sie in der Google Cloud Console die Seite IAM auf.

      IAM aufrufen
    2. Wählen Sie das Projekt aus.
    3. Klicken Sie auf Zugriffsrechte erteilen.
    4. Geben Sie im Feld Neue Hauptkonten Ihre Nutzer-ID ein. Das ist in der Regel die E‑Mail-Adresse eines Google-Kontos.

    5. Klicken Sie auf Rolle auswählen und suchen Sie dann nach der Rolle.
    6. Klicken Sie auf Weitere Rolle hinzufügen, wenn Sie weitere Rollen zuweisen möchten.
    7. 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

  1. Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf.

    Zur Seite VPC-Netzwerke

  2. Klicken Sie auf VPC-Netzwerk erstellen.

  3. Geben Sie für Name consumer-network ein.

  4. Wählen Sie unter Modus für Subnetzerstellung die Option Benutzerdefiniert aus.

  5. Geben Sie im Bereich Neues Subnetz die folgenden Informationen ein.

    1. Geben Sie für Name consumer-subnet ein.
    2. Wählen Sie unter Region dieselbe Region wie für den veröffentlichten Dienst aus, den Sie erstellt haben.
    3. Wählen Sie für IP-Stack-Typ die Option IPv4 (Single-Stack) aus.
    4. Geben Sie unter IPv4-Bereich 192.168.10.0/24 ein.
    5. Klicken Sie auf Fertig.
  6. Klicken Sie auf Erstellen.

gcloud

  1. Erstellen Sie ein VPC-Netzwerk im benutzerdefinierten Modus:

    gcloud compute networks create consumer-network --subnet-mode=custom
    
  2. Erstellen Sie im Netzwerk consumer-network ein Subnetz.

    gcloud compute networks subnets create consumer-subnet \
        --network=consumer-network \
        --range=192.168.10.0/24 \
        --region=REGION
    

    Ersetzen Sie REGION durch 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

  1. Rufen Sie in der Google Cloud Console die Seite Firewallrichtlinien auf.

    Zu den Firewall-Richtlinien

  2. Klicken Sie auf Firewallregel erstellen und verwenden Sie die folgenden Einstellungen, um eingehende SSH-Verbindungen zuzulassen:

    • Geben Sie für Name fw-allow-ssh ein.
    • Wählen Sie für Netzwerk die Option consumer-network aus.
    • Geben Sie 1000 als 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 allow-ssh ein.
    • Wählen Sie für Quellfilter die Option IPv4-Bereiche aus.
    • Geben Sie unter Quell-IPv4-Bereiche den Wert 0.0.0.0/0 ein.
    • 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 22 ein.
  3. Klicken Sie auf Erstellen.

gcloud

  1. Erstellen Sie die Firewallregel fw-allow-ssh, um SSH-Verbindungen zu VMs mit dem Netzwerk-Tag allow-ssh zu 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

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

    Zu Private Service Connect

  2. Klicken Sie auf den Tab Verbundene Endpunkte.

  3. Klicken Sie auf Endpunkt verbinden.

  4. Wählen Sie für Ziel die Option Veröffentlichter Dienst aus.

  5. Geben Sie für Zieldienst projects/PRODUCER_PROJECT/regions/REGION/serviceAttachments/published-service ein.

    Ersetzen Sie PRODUCER_PROJECT durch die Projekt-ID des veröffentlichten Dienstes. Ersetzen Sie REGION durch die Region des veröffentlichten Dienstes.

  6. Geben Sie unter Endpunktname ep-1 ein.

  7. Wählen Sie für Netzwerk die Option consumer-network aus.

  8. Wählen Sie für Subnetzwerk die Option consumer-subnet aus.

  9. Klicken Sie auf das Drop-down-Menü IP-Adresse und wählen Sie IP-Adresse erstellen aus.

    1. Geben Sie für Name ep-ip-1 ein.
    2. Wählen Sie für Statische IP-Adresse die Option Selbst auswählen aus.
    3. Geben Sie als Benutzerdefinierte IP-Adresse 192.168.10.5 ein.
    4. Klicken Sie auf Reservieren.
  10. Klicken Sie auf Endpunkt hinzufügen.

gcloud

  1. 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.5
    

    Ersetzen Sie REGION durch dieselbe Region wie den veröffentlichten Dienst, den Sie erstellt haben.

  2. 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-service
    

    Ersetzen Sie Folgendes:

    • PRODUCER_PROJECT: die Projekt-ID des Diensterstellerprojekts.

    • REGION: die Region des Dienstanhangs.

Auf den Endpunkt zugreifen

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

  1. Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.

    Zur Seite „VM-Instanzen“

  2. Klicken Sie auf Instanz erstellen.

  3. Geben Sie für Name consumer-test ein.

  4. Wählen Sie unter Region dieselbe Region wie für die Backend-VMs aus.

  5. Wählen Sie als Zone eine Zone in dieser Region aus.

  6. Klicken Sie auf Netzwerk und konfigurieren Sie die folgenden Felder:

    1. Geben Sie bei Netzwerk-Tags den Wert allow-ssh ein.
    2. Wählen Sie für Netzwerkschnittstellen Folgendes aus:
      • Wählen Sie für Netzwerk die Option consumer-network aus.
      • Wählen Sie für Subnetz die Option consumer-subnet aus.
  7. 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 der Endpunkt von einer Client-VM aus kontaktiert. Dabei wird folgendes Verhalten erwartet: Der Traffic wird auf die Backend-VMs des Load-Balancers verteilt.

  1. Stellen Sie eine Verbindung zur Client-VM-Instanz her.
    gcloud compute ssh consumer-test --zone=ZONE
    
    Ersetzen Sie ZONE durch die Zone der Client-VM.
  2. Stellen Sie mit curl eine 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.html auf jeder Backend-VM im Text der HTML-Antwort angezeigt. Die erwarteten Antworten sehen beispielsweise so aus: Page served from: vm-1 und Page 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).

    Google Cloud -Projekt löschen:

    gcloud projects delete PROJECT_ID

Nächste Schritte