Lokale Hosts können auf Generative AI auf Vertex AI entweder über das öffentliche Internet oder privat über eine hybride Netzwerkarchitektur zugreifen, 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 deutlich 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, VPC, der Google Cloud Console und der Cloud Shell vertraut sind. Kenntnisse über Generative AI in Vertex AI sind hilfreich, aber nicht erforderlich.
Ziele
- Erstellen Sie zwei VPC-Netzwerke, wie im vorherigen Diagramm dargestellt:
- Das eine (
onprem-vpc) steht für ein lokales Netzwerk. - Die andere (
vertex-networking-vpc) ist für den Zugriff auf die REST API für generative KI in Vertex AI vorgesehen.
- Das eine (
- Stellen Sie HA VPN-Gateways, Cloud VPN-Tunnel und Cloud Router bereit, um
vertex-networking-vpcundonprem-vpczu verbinden. - Erstellen Sie einen PSC-Endpunkt (Private Service Connect), um Anfragen an die GenAI REST API weiterzuleiten.
- Konfigurieren Sie eine benutzerdefinierte beworbene Route für Cloud Router in
vertex-networking-vpc, um Routen für den Private Service Connect-Endpunkt gegenüberonprem-vpcanzukündigen. - Erstellen Sie eine Compute Engine-VM-Instanz in
onprem-vpc, 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.
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.
-
Verify that billing is enabled for your Google Cloud project.
- Wenn Sie nicht der Projektinhaber sind, muss der Projektinhaber Ihnen die IAM-Rolle
roles/resourcemanager.projectIamAdminzuweisen. 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} -
Make sure that you have the following role or roles on the project: 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
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.
- Wählen Sie in der Liste Rolle auswählen eine Rolle aus.
- Klicken Sie auf Weitere Rolle hinzufügen, wenn Sie weitere Rollen zuweisen möchten.
- Klicken Sie auf Speichern.
Enable the DNS, IAM, Compute Engine, Service Usage, and Vertex AI APIs.
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. -
Zwei VPC-Netzwerke erstellen: 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
VPC-Netzwerk für den Zugriff auf die GenAI API (
vertex-networking-vpc) erstellen:gcloud compute networks create vertex-networking-vpc --subnet-mode customErstellen Sie das VPC-Netzwerk, um das lokale Netzwerk (
onprem-vpc) zu simulieren:gcloud compute networks create onprem-vpc --subnet-mode customErstellen Sie im Netzwerk
onprem-vpcein Subnetz mit dem Namenonprem-vpc-subnet1und dem 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-central1Rufen Sie in der Google Cloud Console den Tab Netzwerke im aktuellen Projekt auf der Seite VPC-Netzwerk auf.
Prüfen Sie in der Liste der VPC-Netzwerke, ob die beiden Netzwerke erstellt wurden:
vertex-networking-vpcundonprem-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-subnet1im Netzwerkonprem-vpcerstellt 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-central1Erstellen 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-central1Wechseln 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-gw1undonprem-vpn-gw1) erstellt wurden und ob jedes 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 65001Erstellen 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 ohne externe IP-Adressen.
Fügen Sie in Cloud Shell dem Cloud Router
onprem-vpc-router1ein 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-central1Wechseln Sie in der Google Cloud -Console zur Seite Cloud Router.
Prüfen Sie in der Liste der Cloud Router, ob
vertex-networking-vpc-router1undonprem-vpc-router1erstellt wurden. Möglicherweise müssen Sie den Browsertab der Google Cloud Konsole 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-onpremerstellt wurde.
VPN-Tunnel erstellen
Erstellen Sie im Netzwerk
vertex-networking-vpceinen 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 0Erstellen Sie im Netzwerk
vertex-networking-vpceinen 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 1Erstellen Sie im Netzwerk
onprem-vpceinen 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 0Erstellen Sie im Netzwerk
onprem-vpceinen 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 1Rufen 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, beginnen sie automatisch mit dem Austausch von Routen.
BGP-Sitzungen für vertex-networking-vpc erstellen
Erstellen Sie in Cloud Shell im Netzwerk
vertex-networking-vpceine 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-central1Erstellen Sie im Netzwerk
vertex-networking-vpceinen 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-central1Erstellen Sie im Netzwerk
vertex-networking-vpceine 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-central1Erstellen Sie im Netzwerk
vertex-networking-vpceinen 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 erstellen
Erstellen Sie im Netzwerk
onprem-vpceine 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-central1Erstellen Sie im Netzwerk
onprem-vpceinen 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-central1Erstellen Sie im Netzwerk
onprem-vpceine 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-central1Erstellen Sie im Netzwerk
onprem-vpceinen 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 Konsole aktualisieren, um die neuen Werte zu sehen.
PSC-Endpunkt (Private Service Connect) erstellen
In diesem Abschnitt erstellen Sie einen Private Service Connect-Endpunkt (PSC) für Google APIs, den VM-Instanzen im onprem-vpc-Netzwerk verwenden, um über Ihr onprem-vpc-Netzwerk auf die GenAI API zuzugreifen.
Ein Private Service Connect-Endpunkt (PSC) ist eine interne IP-Adresse im onprem-vpc-Netzwerk, auf die Clients in diesem Netzwerk direkt zugreifen können. Dieser Endpunkt wird durch die Bereitstellung einer Weiterleitungsregel erstellt, die den Netzwerk-Traffic, der mit der IP-Adresse des PSC-Endpunkts übereinstimmt, an ein Bundle von Google APIs weiterleitet, insbesondere an das Bundle all-apis.
Die IP-Adresse des PSC-Endpunkts (192.168.0.1) wird in einem späteren Schritt vom Cloud Router vertex-networking-vpc-router als benutzerdefinierte beworbene Route zum Netzwerk onprem-vpc 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-vpcErstellen 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-apisListe der konfigurierten PSC-Endpunkte aufrufen und prüfen, ob der
pscvertex-Endpunkt erstellt wurde:gcloud compute forwarding-rules list \ --filter target="(all-apis OR vpc-sc)" --globalRufen Sie die Details des konfigurierten PSC-Endpunkts ab und prüfen Sie, ob die IP-Adresse
192.168.0.1ist:gcloud compute forwarding-rules describe \ pscvertex --global
Benutzerdefinierte Route Advertisements für vertex-networking-vpc erstellen
In diesem Abschnitt erstellen Sie Folgendes:Benutzerdefinierte beworbene Route
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 Router.
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 von Cloud Router im standardmäßigen Advertisement-Modus.
Klicken Sie auf Benutzerdefinierte Route hinzufügen.
Wählen Sie für Quelle die Option Benutzerdefinierter IP-Bereich aus.
Geben Sie als IP-Adressbereich die folgende IP-Adresse ein:
192.168.0.1Geben Sie unter Beschreibung den folgenden Text ein:
Custom route to advertise Private Service Connect endpoint IP addressKlicken Sie auf Fertig und anschließend auf Speichern.
Prüfen, ob onprem-vpc die beworbenen Routen erlernt 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-vpcaus. - 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-tunnel0undonprem-vpc-router1-bgp-vfertex-networking-vpc-tunnel1beginnen, und dass beide einen Ziel-IP-Bereich von192.168.0.1/32haben.. (192.168.0.1ist 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 -Konsole.
- 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 der 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-saWeisen 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/20zulässt. Dieser Bereich enthält alle IP-Adressen, die IAP für die TCP-Weiterleitung verwendet.
on-prem-clientVM-Instanz erstellen Mit dem folgenden Befehl werden auch die Paketetcpdumpunddnsutilsinstalliert, die die Dienstprogrammetcpdumpunddigenthalten, mit denen Sie später Ihre API-Anfragen validieren: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 KI in Vertex AI prüfen
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-clientan:gcloud compute ssh on-prem-client --project=$projectid --zone=us-central1-a --tunnel-through-iapFühren Sie den Befehl
digaus:dig us-central1-aiplatform.googleapis.comDie
dig-Ausgabe sollte in etwa so aussehen, wobei die IP-Adressen im Antwortbereich ö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 in Vertex AI konfigurieren und validieren
In diesem Abschnitt konfigurieren Sie den privaten Zugriff auf Generative AI in Vertex AI, sodass beim Senden von Anfragen an den öffentlichen Dienstendpunkt (us-central1-aiplatform.googleapis.com) diese 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, die bewirkt, dass an den öffentlichen Dienstendpunkt (us-central1-aiplatform.googleapis.com) gesendete Anfragen an den PSC-Endpunkt (192.168.0.1) weitergeleitet werden.
Im
on-prem-clientVM-Instanz (Tab 1) verwenden Sie einem Texteditor wievimodernanoum die/etc/hostsDatei zu öffnen:sudo vim /etc/hostsFügen Sie der Datei die folgende Zeile hinzu:
192.168.0.1 us-central1-aiplatform.googleapis.comDiese 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 folgendermaßen 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 GoogleSpeichern Sie die Datei so:
- Wenn Sie
vimverwenden, drücken Sie die TasteEscund geben Sie dann:wqein, um die Datei zu speichern und zu beenden. - Wenn Sie
nanoverwenden, geben SieControl+Oein und drücken SieEnter, um die Datei zu speichern. Geben Sie dann zum BeendenControl+Xein.
- Wenn Sie
Pingen Sie den Vertex AI-Endpunkt so an:
ping us-central1-aiplatform.googleapis.comDer Befehl
pingsollte Folgendes zurückgeben:192.168.0.1ist die IP-Adresse des PSC-Endpunkts:PING us-central1-aiplatform.googleapis.com (192.168.0.1) 56(84) bytes of data.Geben Sie
Control+Cein, umpingzu 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 curl-Beispielanfrage enthält, die Sie an die GenAI REST API senden.
Weitere Informationen zu Beispielanfragen finden Sie unter Beispielanfrage.
Lassen Sie den Befehl
tcpdumpin 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-clientan:gcloud compute ssh on-prem-client --project=$projectid --zone=us-central1-a --tunnel-through-iapFü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
vimodernanoeine neue Datei namensrequest.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 sie an die
on-prem-client-VM weiter: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 auf Tab 1, ob die IP-Adresse des PSC-Endpunkts (
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
tcpdumpdes Cloud Shell-Tabs 1 können Sie sehen, dass kein DNS-Lookup nachus-central1-aiplatform.googleapis.comerforderlich ist, da die Zeile, die Sie zur Datei/etc/hostshinzugefügt haben, Vorrang hat und die PSC-IP-Adresse192.168.0.1im Datenpfad verwendet wird.Die
tcpdumpAusgabe 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, können Sie entweder das Projekt löschen, das die Ressourcen enthält, oder das Projekt beibehalten und die einzelnen Ressourcen löschen.
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
- Erhalten Sie weitere Informationen dazu, wie Private Service Connect funktioniert und warum es erhebliche Leistungsvorteile bietet.
- 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. - Weitere Informationen zu benutzerdefinierten beworbenen Routen