Lokale Hosts können Generative AI in Vertex AI entweder über das öffentliche Internet oder privat über eine Hybridnetzwerkarchitektur erreichen, die Private Service Connect (PSC) über Cloud VPN oder Cloud Interconnect verwendet. Beide Optionen bieten SSL/TLS-Verschlüsselung. Die private Option bietet jedoch eine viel bessere Leistung und wird daher für kritische Anwendungen empfohlen.
In dieser Anleitung verwenden Sie Hochverfügbarkeits-VPN (HA VPN) für den Zugriff auf generative AI auf Vertex AI sowohl öffentlich über Cloud NAT als auch privat zwischen zwei Virtual Private Cloud-Netzwerke (VPC), die als Grundlage für private Konnektivität in Multi-Cloud- und lokalen Umgebungen dienen können.
Diese Anleitung richtet sich an Unternehmensnetzwerkadministratoren, Data Scientists und Forscher, die mit Vertex AI, Virtual Private Cloud (VPC), der Google Cloud Console und Cloud Shell vertraut sind. Vertrautheit mit Generative AI auf Vertex AI ist hilfreich, aber nicht erforderlich.
Lernziele
- Erstellen Sie zwei VPC-Netzwerke, wie im vorherigen Diagramm dargestellt:
- Das eine (
onprem-vpc
) steht für ein lokales Netzwerk. - Das andere (
vertex-networking-vpc
) dient dem Zugriff auf die REST API für Generative AI in Vertex AI.
- Das eine (
- Stellen Sie HA VPN-Gateways, Cloud VPN-Tunnel und Cloud Router bereit, um
vertex-networking-vpc
undonprem-vpc
zu verbinden. - Erstellen Sie einen PSC-Endpunkt (Private Service Connect) für die Weiterleitung von Anfragen an die GenAI REST API.
- Konfigurieren Sie ein benutzerdefiniertes Cloud Router Route Advertisement in
vertex-networking-vpc
, um Routen für den Private Service Connect-Endpunkt gegenüberonprem-vpc
anzukündigen. - Erstellen Sie in
onprem-vpc
eine Compute Engine-VM-Instanz, die eine Clientanwendung darstellt, die Anfragen über HA VPN an die GenAI REST API sendet.
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
-
In the Google Cloud console, go to the project selector page.
-
Select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
- Wenn Sie nicht der Projektinhaber sind, muss Ihnen der Projektinhaber die IAM-Rolle
roles/resourcemanager.projectIamAdmin
zuweisen. Sie benötigen diese Rolle, um sich selbst und Dienstkonten IAM-Rollen und -Berechtigungen zuzuweisen. - Öffnen Sie Cloud Shell, um die in dieser Anleitung aufgeführten Befehle auszuführen. Cloud Shell ist eine interaktive Shell-Umgebung für Google Cloud, mit der Sie Projekte und Ressourcen über Ihren Webbrowser verwalten können.
- Legen Sie in Cloud Shell das aktuelle Projekt auf Ihre Google Cloud-Projekt-ID fest und speichern Sie dann dieselbe Projekt-ID in der Shell-Variablen
projectid
: Ersetzen Sie PROJECT_ID durch Ihre Projekt-ID. Sie finden Ihre Projekt-ID gegebenenfalls in der Google Cloud Console. Weitere Informationen finden Sie unter Projekt-ID ermitteln.projectid="PROJECT_ID" gcloud config set project ${projectid}
-
Grant roles to your user account. Run the following command once for each of the following IAM roles:
roles/compute.instanceAdmin.v1, roles/compute.networkAdmin, roles/compute.securityAdmin, roles/dns.admin, roles/iap.tunnelResourceAccessor, roles/iam.serviceAccountCreator, roles/iam.serviceAccountUser, roles/iam.serviceAccountDeleter, roles/resourcemanager.projectIamAdmin, roles/servicedirectory.editor, roles/servicemanagement.quotaAdmin, roles/aiplatform.user
gcloud projects add-iam-policy-binding PROJECT_ID --member="USER_IDENTIFIER" --role=ROLE
- Replace
PROJECT_ID
with your project ID. -
Replace
USER_IDENTIFIER
with the identifier for your user account. For example,user:myemail@example.com
. - Replace
ROLE
with each individual role.
- Replace
-
Enable the DNS, IAM, Compute Engine, Service Usage und Vertex AI APIs:
gcloud services enable dns.googleapis.com
iam.googleapis.com compute.googleapis.com serviceusage.googleapis.com aiplatform.googleapis.com
Erstellen Sie zwei VPC-Netzwerke: vertex-networking-vpc
und onprem-vpc
.
In diesem Abschnitt erstellen Sie zwei VPC-Netzwerke: Eines ist das primäre Netzwerk für den Zugriff auf die generative AI von Vertex AI (auch als GenAI bezeichnet) und das andere zur Simulation des lokalen Netzwerks. eine
VPC-Netzwerke erstellen
Erstellen Sie das VPC-Netzwerk für den Zugriff auf die GenAI API (
vertex-networking-vpc
):gcloud compute networks create vertex-networking-vpc --subnet-mode custom
Erstellen Sie das VPC-Netzwerk, um das lokale Netzwerk (
onprem-vpc
) zu simulieren:gcloud compute networks create onprem-vpc --subnet-mode custom
Erstellen Sie im Netzwerk
onprem-vpc
ein Subnetz mit dem Namenonprem-vpc-subnet1
mit einem primären IPv4-Bereich von172.16.10.0/24
:gcloud compute networks subnets create onprem-vpc-subnet1 \ --range 172.16.10.0/24 \ --network onprem-vpc \ --region us-central1
Rufen Sie in der Google Cloud Console auf der Seite VPC-Netzwerk den Tab Netzwerke im aktuellen Projekt auf.
Prüfen Sie in der Liste der VPC-Netzwerke, ob die beiden Netzwerke erstellt wurden:
vertex-networking-vpc
undonprem-vpc
.Klicken Sie auf der Seite VPC-Netzwerk auf den Tab Subnetze im aktuellen Projekt.
Prüfen Sie in der Liste der VPC-Subnetze, ob das Subnetz
onprem-vpc-subnet1
im Netzwerkonprem-vpc
erstellt wurde.
Hybridkonnektivität konfigurieren
In diesem Abschnitt erstellen Sie zwei (HA VPN)-Gateways, die miteinander verbunden sind. Eines befindet sich im VPC-Netzwerk vertex-networking-vpc
. Das andere befindet sich im VPC-Netzwerk onprem-vpc
.
Jedes Gateway enthält einen Cloud Router und ein VPN-Tunnelpaar.
HA VPN-Gateways erstellen
Erstellen Sie in Cloud Shell das HA VPN-Gateway für das VPC-Netzwerk
vertex-networking-vpc
:gcloud compute vpn-gateways create vertex-networking-vpn-gw1 \ --network vertex-networking-vpc \ --region us-central1
Erstellen Sie das HA VPN-Gateway für das VPC-Netzwerk
onprem-vpc
:gcloud compute vpn-gateways create onprem-vpn-gw1 \ --network onprem-vpc \ --region us-central1
Wechseln Sie in der Google Cloud Console auf der Seite VPN zum Tab Cloud VPN-Gateways.
Prüfen Sie in der Liste der VPN-Gateways, ob die beiden Gateways (
vertex-networking-vpn-gw1
undonprem-vpn-gw1
) erstellt wurden und jedes der Gateways zwei IP-Adressen hat.
Cloud Router erstellen
Erstellen Sie in Cloud Shell einen Cloud Router für das VPC-Netzwerk
vertex-networking-vpc
:gcloud compute routers create vertex-networking-vpc-router1 \ --region us-central1\ --network vertex-networking-vpc \ --asn 65001
Erstellen Sie einen Cloud Router für das VPC-Netzwerk
onprem-vpc
:gcloud compute routers create onprem-vpc-router1 \ --region us-central1\ --network onprem-vpc\ --asn 65002
Cloud NAT-Gateway zum VPC-Netzwerk onprem-vpc
hinzufügen
In diesem Schritt fügen Sie dem Cloud Router für das VPC-Netzwerk onprem-vpc
ein Cloud NAT-Gateway hinzu.
Ein Cloud NAT-Gateway bietet ausgehende Verbindungen für Compute Engine-VM-Instanzen, die keine externen IP-Adressen haben.
Fügen Sie in Cloud Shell dem Cloud Router
onprem-vpc-router1
ein Cloud NAT-Gateway hinzu:gcloud compute routers nats create us-central-cloudnat-onprem \ --router=onprem-vpc-router1 \ --auto-allocate-nat-external-ips \ --nat-all-subnet-ip-ranges \ --region us-central1
Wechseln Sie in der Google Cloud Console zur Seite Cloud Routers.
Prüfen Sie in der Liste der Cloud Router, ob
vertex-networking-vpc-router1
undonprem-vpc-router1
erstellt wurden. Möglicherweise müssen Sie den Browsertab der Google Cloud Console aktualisieren, um die neuen Werte zu sehen.Klicken Sie in der Liste der Cloud Router auf
onprem-vpc-router1
.Prüfen Sie auf der Seite Routerdetails, ob das Cloud NAT-Gateway
us-central-cloudnat-onprem
erstellt wurde.
VPN-Tunnel erstellen
Erstellen Sie im Netzwerk
vertex-networking-vpc
einen VPN-Tunnel mit dem Namenvertex-networking-vpc-tunnel0
:gcloud compute vpn-tunnels create vertex-networking-vpc-tunnel0 \ --peer-gcp-gateway onprem-vpn-gw1 \ --region us-central1 \ --ike-version 2 \ --shared-secret [ZzTLxKL8fmRykwNDfCvEFIjmlYLhMucH] \ --router vertex-networking-vpc-router1 \ --vpn-gateway vertex-networking-vpn-gw1 \ --interface 0
Erstellen Sie im Netzwerk
vertex-networking-vpc
einen VPN-Tunnel mit dem Namenvertex-networking-vpc-tunnel1
:gcloud compute vpn-tunnels create vertex-networking-vpc-tunnel1 \ --peer-gcp-gateway onprem-vpn-gw1 \ --region us-central1 \ --ike-version 2 \ --shared-secret [bcyPaboPl8fSkXRmvONGJzWTrc6tRqY5] \ --router vertex-networking-vpc-router1 \ --vpn-gateway vertex-networking-vpn-gw1 \ --interface 1
Erstellen Sie im Netzwerk
onprem-vpc
einen VPN-Tunnel mit dem Namenonprem-vpc-tunnel0
:gcloud compute vpn-tunnels create onprem-vpc-tunnel0 \ --peer-gcp-gateway vertex-networking-vpn-gw1 \ --region us-central1\ --ike-version 2 \ --shared-secret [ZzTLxKL8fmRykwNDfCvEFIjmlYLhMucH] \ --router onprem-vpc-router1 \ --vpn-gateway onprem-vpn-gw1 \ --interface 0
Erstellen Sie im Netzwerk
onprem-vpc
einen VPN-Tunnel mit dem Namenonprem-vpc-tunnel1
:gcloud compute vpn-tunnels create onprem-vpc-tunnel1 \ --peer-gcp-gateway vertex-networking-vpn-gw1 \ --region us-central1\ --ike-version 2 \ --shared-secret [bcyPaboPl8fSkXRmvONGJzWTrc6tRqY5] \ --router onprem-vpc-router1 \ --vpn-gateway onprem-vpn-gw1 \ --interface 1
Rufen Sie in der Google Cloud Console die Seite VPN auf.
Prüfen Sie in der Liste der VPN-Tunnel, ob die vier VPN-Tunnel erstellt wurden.
BGP-Sitzungen erstellen
Cloud Router verwendet das Border Gateway Protocol (BGP), um Routen zwischen Ihrem VPC-Netzwerk (in diesem Fall vertex-networking-vpc
) und Ihrem lokalen Netzwerk (dargestellt durch onprem-vpc
) auszutauschen. Auf dem Cloud Router konfigurieren Sie eine Schnittstelle und einen BGP-Peer für Ihren lokalen Router.
Die Konfigurationen für Schnittstelle und BGP-Peer bilden zusammen eine BGP-Sitzung.
In diesem Abschnitt erstellen Sie zwei BGP-Sitzungen für vertex-networking-vpc
und zwei für onprem-vpc
.
Nachdem Sie die Schnittstellen und BGP-Peers zwischen Ihren Routern konfiguriert haben, tauschen sie automatisch Routen aus.
BGP-Sitzungen für vertex-networking-vpc
einrichten
Erstellen Sie in Cloud Shell im Netzwerk
vertex-networking-vpc
eine BGP-Schnittstelle fürvertex-networking-vpc-tunnel0
:gcloud compute routers add-interface vertex-networking-vpc-router1 \ --interface-name if-tunnel0-to-onprem \ --ip-address 169.254.0.1 \ --mask-length 30 \ --vpn-tunnel vertex-networking-vpc-tunnel0 \ --region us-central1
Erstellen Sie im Netzwerk
vertex-networking-vpc
einen BGP-Peer fürbgp-onprem-tunnel0
:gcloud compute routers add-bgp-peer vertex-networking-vpc-router1 \ --peer-name bgp-onprem-tunnel0 \ --interface if-tunnel0-to-onprem \ --peer-ip-address 169.254.0.2 \ --peer-asn 65002 \ --region us-central1
Erstellen Sie im
vertex-networking-vpc
-Netzwerk eine BGP-Schnittstelle fürvertex-networking-vpc-tunnel1
:gcloud compute routers add-interface vertex-networking-vpc-router1 \ --interface-name if-tunnel1-to-onprem \ --ip-address 169.254.1.1 \ --mask-length 30 \ --vpn-tunnel vertex-networking-vpc-tunnel1 \ --region us-central1
Erstellen Sie im Netzwerk
vertex-networking-vpc
einen BGP-Peer fürbgp-onprem-tunnel1
:gcloud compute routers add-bgp-peer vertex-networking-vpc-router1 \ --peer-name bgp-onprem-tunnel1 \ --interface if-tunnel1-to-onprem \ --peer-ip-address 169.254.1.2 \ --peer-asn 65002 \ --region us-central1
BGP-Sitzungen für onprem-vpc
einrichten
Erstellen Sie im
onprem-vpc
-Netzwerk eine BGP-Schnittstelle füronprem-vpc-tunnel0
:gcloud compute routers add-interface onprem-vpc-router1 \ --interface-name if-tunnel0-to-vertex-networking-vpc \ --ip-address 169.254.0.2 \ --mask-length 30 \ --vpn-tunnel onprem-vpc-tunnel0 \ --region us-central1
Erstellen Sie im Netzwerk
onprem-vpc
einen BGP-Peer fürbgp-vertex-networking-vpc-tunnel0
:gcloud compute routers add-bgp-peer onprem-vpc-router1 \ --peer-name bgp-vertex-networking-vpc-tunnel0 \ --interface if-tunnel0-to-vertex-networking-vpc \ --peer-ip-address 169.254.0.1 \ --peer-asn 65001 \ --region us-central1
Erstellen Sie im
onprem-vpc
-Netzwerk eine BGP-Schnittstelle füronprem-vpc-tunnel1
:gcloud compute routers add-interface onprem-vpc-router1 \ --interface-name if-tunnel1-to-vertex-networking-vpc \ --ip-address 169.254.1.2 \ --mask-length 30 \ --vpn-tunnel onprem-vpc-tunnel1 \ --region us-central1
Erstellen Sie im Netzwerk
onprem-vpc
einen BGP-Peer fürbgp-vertex-networking-vpc-tunnel1
:gcloud compute routers add-bgp-peer onprem-vpc-router1 \ --peer-name bgp-vertex-networking-vpc-tunnel1 \ --interface if-tunnel1-to-vertex-networking-vpc \ --peer-ip-address 169.254.1.1 \ --peer-asn 65001 \ --region us-central1
BGP-Sitzungserstellung prüfen
Rufen Sie in der Google Cloud Console die Seite VPN auf.
Prüfen Sie in der Liste der VPN-Tunnel, ob sich der Wert in der Spalte BGP-Sitzungsstatus für jeden Tunnel von BGP-Sitzung konfigurieren in BGP eingerichtet gändert. Möglicherweise müssen Sie den Browsertab der Google Cloud Console aktualisieren, um die neuen Werte zu sehen.
Private Service Connect-Endpunkt (PSC) erstellen
In diesem Abschnitt erstellen Sie einen PSC-Endpunkt (Private Service Connect) für Google APIs, den VM-Instanzen im Netzwerk onprem-vpc
für den Zugriff auf die GenAI API über Ihr onprem-vpc
-Netzwerk verwenden.
Ein PSC-Endpunkt (Private Service Connect) ist eine interne IP-Adresse im Netzwerk onprem-vpc
, auf die Clients in diesem Netzwerk direkt zugreifen können. Dieser Endpunkt wird durch die Bereitstellung einer Weiterleitungsregel erstellt, die den Netzwerkverkehr, der der IP-Adresse des PSC-Endpunkts entspricht, an ein Bundle von Google APIs weiterleitet, insbesondere dieAll-APIs Bundle.
Die IP-Adresse des PSC-Endpunkts (192.168.0.1
) wird vom Cloud Router vertex-networking-vpc-router
als benutzerdefiniertes Route Advertisement im onprem-vpc
-Netzwerk in einem späteren Schritt beworben.
Reservieren Sie eine globale interne IP-Adresse, die Sie dem Endpunkt zuweisen möchten.
gcloud compute addresses create psc-googleapi-ip \ --global \ --purpose=PRIVATE_SERVICE_CONNECT \ --addresses=192.168.0.1 \ --network=vertex-networking-vpc
Erstellen Sie den Endpunkt zusammen mit einer Weiterleitungsregel, die den Endpunkt mit Google APIs und Google-Diensten verbindet:
gcloud compute forwarding-rules create pscvertex \ --global \ --network=vertex-networking-vpc\ --address=psc-googleapi-ip \ --target-google-apis-bundle=all-apis
Listen Sie die konfigurierten PSC-Endpunkte auf und prüfen Sie, ob der
pscvertex
-Endpunkt erstellt wurde:gcloud compute forwarding-rules list \ --filter target="(all-apis OR vpc-sc)" --global
Rufen Sie die Details des konfigurierten PSC-Endpunkts ab und prüfen Sie, ob die IP-Adresse
192.168.0.1
lautet:gcloud compute forwarding-rules describe \ pscvertex --global
Benutzerdefiniertes Route Advertisement für vertex-networking-vpc
erstellen
In diesem Abschnitt erstellen Sie Folgendes:Benutzerdefiniertes Route Advertisement
fürvertex-networking-vpc-router1
(Der Cloud Router für
vertex-networking-vpc
), um die IP-Adresse des PSC-Endpunkts gegenüber deronprem-vpc
Netzwerk zu bewerben
Wechseln Sie in der Google Cloud Console zur Seite Cloud Routers.
Klicken Sie in der Liste der Cloud Router auf
vertex-networking-vpc-router1
.Klicken Sie auf der Seite Routerdetails auf
Bearbeiten.Wählen Sie im Abschnitt Beworbene Routen für Routen die Option Benutzerdefinierte Routen erstellen.
Wählen Sie das Kästchen Alle für den Cloud Router sichtbaren Subnetze bewerben aus. Damit können Sie weiterhin die Subnetze bewerben, die für den Cloud Router zur Verfügung stehen. Wenn Sie diese Option aktivieren, entspricht dies dem Verhalten des Cloud Routers im Standard-Advertising-Modus.
Klicken Sie auf Benutzerdefinierte Route hinzufügen.
Wählen Sie unter Quelle die Option Benutzerdefinierter IP-Bereich aus.
Geben Sie unter IP-Adressbereich die folgende IP-Adresse ein:
192.168.0.1
Geben Sie unter Beschreibung den folgenden Text ein:
Custom route to advertise Private Service Connect endpoint IP address
Klicken Sie auf Fertig und anschließend auf Speichern.
Prüfen, ob onprem-vpc
die beworbenen Routen erkannt hat
Rufen Sie in der Google Cloud Console die Seite Routen auf.
Führen Sie auf dem Tab Aktive Routen folgende Schritte aus:
- Wählen Sie für Netzwerk die Option
onprem-vpc
aus. - Wählen Sie bei Region die Option
us-central1 (Iowa)
aus. - Klicken Sie auf Ansehen.
Prüfen Sie in der Liste der Routen, ob Einträge vorhanden sind, deren Namen mit
onprem-vpc-router1-bgp-vertex-networking-vpc-tunnel0
undonprem-vpc-router1-bgp-vfertex-networking-vpc-tunnel1
beginnen und beide einen Ziel-IP-Bereich{/1 haben. } von192.168.0.1/32
. (192.168.0.1
ist die IP-Adresse des PSC-Endpunkts.)Wenn diese Einträge nicht sofort angezeigt werden, warten Sie einige Minuten und aktualisieren Sie dann den Browsertab der Google Cloud Console.
- Wählen Sie für Netzwerk die Option
VM-Instanz im lokalen Netzwerk konfigurieren
In diesem Abschnitt erstellen Sie eine Compute Engine-VM-Instanz im VPC-Netzwerk onprem-vpc
. Diese VM-Instanz simuliert einen lokalen Client, der eine Verbindung zum PSC-Endpunkt herstellt und auf die GenAI API zugreift.
Ein vom Nutzer verwaltetes Dienstkonto erstellen
In dieser Anleitung erstellen Sie ein nutzerverwaltetes Dienstkonto gemäß den Best Practices für Compute Engine und IAM.
Führen Sie in Cloud Shell die folgenden Befehle aus und ersetzen Sie dabei PROJECT_ID durch Ihre Projekt-ID:
projectid=PROJECT_ID gcloud config set project ${projectid}
Erstellen Sie das Dienstkonto:
gcloud iam service-accounts create user-managed-sa
Weisen Sie dem Dienstkonto die IAM-Rolle Vertex AI User (
roles/aiplatform.user
) zu:gcloud projects add-iam-policy-binding $projectid \ --member="serviceAccount:user-managed-sa@$projectid.iam.gserviceaccount.com" \ --role="roles/aiplatform.user"
on-prem-client
VM-Instanz erstellen
In diesem Schritt erstellen Sie die VM-Instanz, die die Private Service Connect-IP-Adresse (192.168.0.1
) verwendet, um über HA VPN auf Google APIs zuzugreifen.
Damit Identity-Aware Proxy (IAP) eine Verbindung zu Ihren VM-Instanzen herstellen kann, erstellen Sie eine Firewallregel, die:
- für alle VM-Instanzen gilt, die über IAP zugänglich sein sollen. In diesem Fall gibt es nur
on-prem-client
. - TCP-Traffic über Port 22 aus dem IP-Bereich
35.235.240.0/20
zulässt. Dieser Bereich enthält alle IP-Adressen, die IAP für die TCP-Weiterleitung verwendet.
on-prem-client
VM-Instanz erstellen Mit dem folgenden Befehl werden auch die Paketetcpdump
unddnsutils
installiert, die die Dienstprogrammetcpdump
unddig
enthalten, die Sie später zum Validieren der API-Anfragen verwenden:gcloud compute instances create on-prem-client \ --zone=us-central1-a \ --image-family=debian-11 \ --image-project=debian-cloud \ --subnet=onprem-vpc-subnet1 \ --scopes=https://www.googleapis.com/auth/cloud-platform \ --no-address \ --shielded-secure-boot \ --service-account=user-managed-sa@$projectid.iam.gserviceaccount.com \ --metadata startup-script="#! /bin/bash sudo apt-get update sudo apt-get install tcpdump dnsutils -y"
Erstellen Sie eine IAP-Firewallregel mit dem Namen
ssh-iap-on-prem-vpc
:gcloud compute firewall-rules create ssh-iap-on-prem-vpc \ --network onprem-vpc \ --allow tcp:22 \ --source-ranges=35.235.240.0/20
Öffentlichen Internetzugriff auf Generative AI auf Vertex AI validieren
In diesem Abschnitt melden Sie sich mit dem Identity-Aware Proxy in der VM-Instanz on-prem-client
an und prüfen dann die öffentliche Verbindung zu Vertex AI APIs (einschließlich GenAI) durch Ausführen des dig
Befehl für die öffentliche Vertex AI-Domain (us-central1-aiplatform.googleapis.com
).
Führen Sie in Cloud Shell (Tab 1) die folgenden Befehle aus und ersetzen Sie dabei PROJECT_ID durch Ihre Projekt-ID:
projectid=PROJECT_ID gcloud config set project ${projectid}
Melden Sie sich mit IAP bei der VM-Instanz
on-prem-client
an:gcloud compute ssh on-prem-client --project=$projectid --zone=us-central1-a --tunnel-through-iap
Führen Sie den Befehl
dig
aus:dig us-central1-aiplatform.googleapis.com
Die Ausgabe
dig
sollte in etwa so aussehen, wobei die IP-Adressen im Antwortabschnitt öffentliche IP-Adressen sind:; <<>> DiG 9.16.44-Debian <<>> us-central1.aiplatfom.googleapis.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 42506 ;; flags: qr rd ra; QUERY: 1, ANSWER: 16, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 512 ;; QUESTION SECTION: ;us-central1.aiplatfom.googleapis.com. IN A ;; ANSWER SECTION: us-central1.aiplatfom.googleapis.com. 300 IN A 173.194.192.95 us-central1.aiplatfom.googleapis.com. 300 IN A 142.250.152.95 us-central1.aiplatfom.googleapis.com. 300 IN A 172.217.219.95 us-central1.aiplatfom.googleapis.com. 300 IN A 209.85.146.95 us-central1.aiplatfom.googleapis.com. 300 IN A 209.85.147.95 us-central1.aiplatfom.googleapis.com. 300 IN A 142.250.125.95 us-central1.aiplatfom.googleapis.com. 300 IN A 142.250.136.95 us-central1.aiplatfom.googleapis.com. 300 IN A 142.250.148.95 us-central1.aiplatfom.googleapis.com. 300 IN A 209.85.200.95 us-central1.aiplatfom.googleapis.com. 300 IN A 209.85.234.95 us-central1.aiplatfom.googleapis.com. 300 IN A 142.251.171.95 us-central1.aiplatfom.googleapis.com. 300 IN A 108.177.112.95 us-central1.aiplatfom.googleapis.com. 300 IN A 142.250.128.95 us-central1.aiplatfom.googleapis.com. 300 IN A 142.251.6.95 us-central1.aiplatfom.googleapis.com. 300 IN A 172.217.212.95 us-central1.aiplatfom.googleapis.com. 300 IN A 74.125.124.95 ;; Query time: 8 msec ;; SERVER: 169.254.169.254#53(169.254.169.254) ;; WHEN: Wed Sep 27 04:10:16 UTC 2023 ;; MSG SIZE rcvd: 321
Privaten Zugriff auf Generative AI auf Vertex AI konfigurieren und validieren
In diesem Abschnitt konfigurieren Sie den privaten Zugriff auf Generative AI auf Vertex AI, sodass Anfragen, die Sie an den öffentlichen Dienstendpunkt (us-central1-aiplatform.googleapis.com
) senden, stattdessen an Ihren PSC-Endpunkt weitergeleitet werden. Der PSC-Endpunkt wiederum leitet die Anfrage weiter, um
zu Aktualisieren die Datei /etc/hosts
, sodass sie auf den PSC-Endpunkt verweist.
In diesem Schritt fügen Sie der Datei /etc/hosts
eine Zeile hinzu, mit der Anfragen an den öffentlichen Dienstendpunkt (us-central1-aiplatform.googleapis.com
) an den PSC-Endpunkt (192.168.0.1
) weitergeleitet werden.
Im
on-prem-client
VM-Instanz (Tab 1) verwenden Sie einem Texteditor wievim
odernano
um die/etc/hosts
Datei zu öffnen:sudo vim /etc/hosts
Fügen Sie der Datei die folgende Zeile hinzu:
192.168.0.1 us-central1-aiplatform.googleapis.com
Diese Zeile weist dem vollständig qualifizierten Domainnamen für die Vertex AI Google API (
us-central1-aiplatform.googleapis.com
) die IP-Adresse des PSC-Endpunkts (192.168.0.1
) zu.Die bearbeitete Datei sollte so aussehen:
127.0.0.1 localhost ::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters 192.168.0.1 us-central1-aiplatform.googleapis.com # Added by you 172.16.10.6 on-prem-client.us-central1-a.c.vertex-genai-400103.internal on-prem-client # Added by Google 169.254.169.254 metadata.google.internal # Added by Google
Speichern Sie die Datei so:
- Wenn Sie
vim
verwenden, drücken Sie die TasteEsc
. Geben Sie dann:wq
ein, um die Datei zu speichern und zu beenden. - Wenn Sie
nano
verwenden, geben SieControl+O
ein und drücken SieEnter
, um die Datei zu speichern. Geben Sie dann zum BeendenControl+X
ein.
- Wenn Sie
Pingen Sie den Vertex AI-Endpunkt so an:
ping us-central1-aiplatform.googleapis.com
Der Befehl
ping
sollte Folgendes zurückgeben:192.168.0.1
ist die IP-Adresse des PSC-Endpunkts:PING us-central1-aiplatform.googleapis.com (192.168.0.1) 56(84) bytes of data.
Geben Sie
Control+C
ein, umping
zu beenden.Führen Sie den folgenden
tcpdump
-Befehl aus, um die DNS-Auflösung und den IP-Datenpfad zu validieren, wenn Sie eine Onlinevorhersageanfrage an den Endpunkt senden:sudo tcpdump -i any port 53 -n or host 192.168.0.1
Private Anfrage erstellen
In diesem Schritt erstellen Sie eine Textdatei mit dem Namen request.json
, die die Nutzlast für eine Beispielanfrage curl
enthält, die Sie an die GenAI REST API senden.
Weitere Informationen zu Beispielanfragen finden Sie unter Beispielanfrage.
Lassen Sie den Befehl
tcpdump
in Tab 1 ausgeführt, öffnen Sie eine neue Cloud Shell-Sitzung (Tab 2), indem Sie in Cloud Shell auf Neuen Tab öffnen klicken. Shell.Führen Sie in der neuen Cloud Shell-Sitzung (Tab 2) die folgenden Befehle aus und ersetzen Sie dabei PROJECT_ID durch Ihre Projekt-ID:
projectid=PROJECT_ID gcloud config set project ${projectid}
Melden Sie sich mit IAP bei der VM-Instanz
on-prem-client
an:gcloud compute ssh on-prem-client --project=$projectid --zone=us-central1-a --tunnel-through-iap
Führen Sie die folgenden Befehle aus und ersetzen Sie dabei PROJECT_ID durch Ihre Projekt-ID:
projectid=PROJECT_ID gcloud config set project ${projectid}
Erstellen Sie mit einem Texteditor wie
vim
odernano
eine neue Datei mit dem Namenrequest.json
, die den folgenden Text enthält:{ "instances": [ { "prompt": "Give me ten interview questions for the role of program manager."} ], "parameters": { "temperature": 0.2, "maxOutputTokens": 256, "topK": 40, "topP": 0.95 } }
Führen Sie den folgenden Befehl aus, um eine Anfrage an den PSC-Endpunkt zu senden, der die Anfrage an die GenAI API weiterleitet. Wenn der Endpunkt die Antwort empfängt, leitet er diese zurück an die VM
on-prem-client
:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://us-central1-aiplatform.googleapis.com/v1/projects/$projectid/locations/us-central1/publishers/google/models/text-bison:predict"
Die Anzeige sieht ungefähr so aus:
{ "predictions": [ { "content": " 1. **What is your experience in managing programs?**\n2. **What are your strengths and weaknesses as a program manager?**\n3. **What is your approach to managing a program?**\n4. **How do you handle risks and challenges in a program?**\n5. **How do you communicate with stakeholders in a program?**\n6. **How do you measure the success of a program?**\n7. **What is your experience in working with cross-functional teams?**\n8. **What is your experience in managing budgets and resources?**\n9. **What is your experience in managing change in a program?**\n10. **What are your career goals as a program manager?**", "citationMetadata": { "citations": [] }, "safetyAttributes": { "categories": [ "Finance", "Health" ], "blocked": false, "scores": [ 0.6, 0.1 ] } } ], "metadata": { "tokenMetadata": { "outputTokenCount": { "totalBillableCharacters": 505, "totalTokens": 153 }, "inputTokenCount": { "totalBillableCharacters": 54, "totalTokens": 12 } } } }
Prüfen Sie in Tab 1, ob die PSC-Endpunkt-IP-Adresse (
192.168.0.1
) für den Zugriff auf Vertex AI APIs von der VM-Instanzon-prem-client
(Subnetz172.16.10.0/28
) verwendet wurde.Im Terminal
tcpdump
des Cloud Shell-Tabs 1 können Sie sehen, dass kein DNS-Lookup nachus-central1-aiplatform.googleapis.com
erforderlich ist, da die Zeile, die Sie zur Datei/etc/hosts
hinzugefügt haben, Vorrang hat und die PSC-IP-Adresse192.168.0.1
im Datenpfad verwendet wird.Die
tcpdump
Ausgabe sollte in etwa so aussehen:23:48:49.938797 ens4 Out IP 172.16.10.9.38578 > 192.168.0.1.443: Flags [P.], seq 2054:2093, ack 6264, win 501, options [nop,nop,TS val 2943864305 ecr 2340789954], length 39 23:48:49.938947 ens4 Out IP 172.16.10.9.38578 > 192.168.0.1.443: Flags [P.], seq 2093:2117, ack 6264, win 501, options [nop,nop,TS val 2943864305 ecr 2340789954], length 24 23:48:49.939839 ens4 Out IP 172.16.10.9.38578 > 192.168.0.1.443: Flags [F.], seq 2117, ack 6264, win 501, options [nop,nop,TS val 2943864306 ecr 2340789954], length 0 23:48:49.940292 ens4 In IP 192.168.0.1.443 > 172.16.10.9.38578: Flags [.], ack 2117, win 272, options [nop,nop,TS val 2340789958 ecr 2943864305], length 0 23:48:49.940437 ens4 In IP 192.168.0.1.443 > 172.16.10.9.38578: Flags [F.], seq 6264, ack 2117, win 272, options [nop,nop,TS val 2340789958 ecr 2943864305], length 0 23:48:49.940442 ens4 Out IP 172.16.10.9.38578 > 192.168.0.1.443: Flags [.], ack 6265, win 501, options [nop,nop,TS val 2943864307 ecr 2340789958], length 0 23:48:49.941193 ens4 In IP 192.168.0.1.443 > 172.16.10.9.38578: Flags [.], ack 2118, win 272, options [nop,nop,TS val 2340789959 ecr 2943864306], length 0
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 behalten Sie das Projekt und löschen Sie die einzelnen Ressourcen.
Sie können die einzelnen Ressourcen im Projekt löschen, indem Sie in Cloud Shell die folgenden Befehle ausführen:
projectid=PROJECT_ID
gcloud config set project ${projectid}
gcloud compute firewall-rules delete ssh-iap-on-prem-vpc --quiet
gcloud compute instances delete on-prem-client --zone=us-central1-a --quiet
gcloud iam service-accounts delete user-managed-sa@$projectid.iam.gserviceaccount.com --quiet
gcloud compute forwarding-rules delete pscvertex --global --quiet
gcloud compute addresses delete psc-googleapi-ip --global --quiet
gcloud compute vpn-tunnels delete vertex-networking-vpc-tunnel0 vertex-networking-vpc-tunnel1 onprem-vpc-tunnel0 onprem-vpc-tunnel1 --region=us-central1 --quiet
gcloud compute routers nats delete us-central-cloudnat-onprem --router=onprem-vpc-router1 --region=us-central1 --quiet
gcloud compute routers delete vertex-networking-vpc-router1 onprem-vpc-router1 --region=us-central1 --quiet
gcloud compute vpn-gateways delete vertex-networking-vpn-gw1 onprem-vpn-gw1 --region=us-central1 --quiet
gcloud compute networks subnets delete onprem-vpc-subnet1 --region=us-central1 --quiet
gcloud compute networks delete onprem-vpc --quiet
gcloud compute networks delete vertex-networking-vpc --quiet
Nächste Schritte
- Netzwerkoptionen für den Zugriff auf Vertex AI-Endpunkte und -Dienste
- Zugriff auf veröffentlichte Dienste über Endpunkte
- Weitere Informationen zur Funktionsweise von Private Service Connect und den erheblichen Leistungsvorteilen.
- Zugriff auf Google APIs über Endpunkte
- Weitere Informationen darüber, wie und warum Sie eine DNS-Weiterleitungszone verwenden können, anstatt die
/etc/hosts
-Datei in großem Maßstab und in Produktionsumgebungen zu aktualisieren. - Benutzerdefiniertes Route Advertisement