1. Einführung
Lokale Hosts können einen Onlinevorhersageendpunkt nativ über das öffentliche Internet (Option 1) oder über Cloud VPN oder Cloud Interconnect mit Private Service Connect (PSC) (Option 2) aus Ihrem lokalen Netzwerk erreichen. Beide Optionen bieten SSL/TLS-Verschlüsselung. Die Hybridkonnektivität zur Onlinevorhersage über Interconnect ist leistungsfähiger als das Internet und wird daher für kritische Anwendungen empfohlen (siehe Abbildung 1).
In dieser Anleitung wird gezeigt, wie Sie ein Hochverfügbarkeits-VPN (HA VPN) verwenden, um privat auf Onlinevorhersagen zwischen zwei VPC-Netzwerken zuzugreifen, die als Grundlage für private Konnektivität in Multi-Cloud- und lokalen Umgebungen dienen können.
Hinweis: Vertex Online Prediction ist ein öffentlicher Endpunkt. Daher sollten Sie den Zugriff mit VPC Service Controls (VPC-SC) einschränken, um sichere Perimeter zu erstellen, mit denen Sie den Zugriff auf Vertex und andere Google APIs zulassen oder verweigern können. In dieser Anleitung wird VPC-SC nicht behandelt. Weitere Informationen finden Sie unter VPC Service Controls mit Vertex AI.

Aufgaben
Sie richten ein VPC-Netzwerk mit dem Namen on-prem-vpc ein, das eine lokale Umgebung darstellt. In Ihrer Bereitstellung wäre on-prem-vpc nicht vorhanden. Stattdessen würde ein Hybridnetzwerk zu Ihrem lokalen Rechenzentrum oder Cloud-Anbieter verwendet.
Sie erstellen eine umfassende Private Service Connect-Architektur, die den öffentlichen Zugriff auf Onlinevorhersagen über Cloud NAT und den privaten Zugriff über PSC über HA VPN gemäß den folgenden Details veranschaulicht.

Nachdem die Onlinevorhersage im Google Cloud-Projekt bereitgestellt wurde, werden die folgenden Anwendungsfälle untersucht:
Der öffentliche Zugriff auf Onlinevorhersagen umfasst Folgendes:
- GCE-Instanz (nat-client) erstellen, die NAT für ausgehenden Internetzugriff nutzt
- CURL für die Inferenz mit dem Modell verwenden
- Mit TCPDUMP prüfen, ob auf die Onlinevorhersage über eine öffentliche VIP zugegriffen wird
Der private Zugriff auf Onlinevorhersagen umfasst Folgendes:
- Modell an einem Online-Vorhersageendpunkt in Vertex AI im Projekt bereitstellen
- Private Service Connect-Endpunkt (googleapis) in der aiml-vpc erstellen
- Exportieren Sie die PSC-IP-Adresse über den Cloud Router als benutzerdefiniertes Advertisement in die lokale VPC.
- GCE-Instanz (private-client) erstellen und die Datei „etc/hosts“ mit der IP-Adresse des PSC-Endpunkts aktualisieren
- CURL für die Inferenz mit dem Modell verwenden
- Mit TCPDUMP prüfen, ob auf die Onlinevorhersage über die IP-Adresse des PSC-Endpunkts zugegriffen wird
Lerninhalte
- Private Service Connect-Endpunkt einrichten
- IP-Adresse des PSC-Endpunkts über den Cloud Router anbieten
- TCPDUMP verwenden, um den Zugriff auf Onlinevorhersagen zu validieren (öffentlich und privat)
Voraussetzungen
- Google Cloud-Projekt
IAM-Berechtigungen
2. Hinweis
Projekt für das Tutorial aktualisieren
In dieser Anleitung werden $variables verwendet, um die Implementierung der gcloud-Konfiguration in Cloud Shell zu erleichtern.
Führen Sie in Cloud Shell folgende Schritte aus:
gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectid=YOUR-PROJECT-NAME
echo $projectid
3. Dienste aktivieren
Führen Sie in Cloud Shell folgende Schritte aus:
gcloud services enable dns.googleapis.com
gcloud services enable aiplatform.googleapis.com
gcloud services enable iam.googleapis.com
gcloud services enable compute.googleapis.com
gcloud services enable notebooks.googleapis.com
4. Einrichtung von aiml-vpc
aiml-vpc erstellen
Führen Sie in Cloud Shell folgende Schritte aus:
gcloud compute networks create aiml-vpc --project=$projectid --subnet-mode=custom
Nutzerverwaltetes Notebook-Subnetz erstellen
Führen Sie in Cloud Shell folgende Schritte aus:
gcloud compute networks subnets create workbench-subnet --project=$projectid --range=172.16.10.0/28 --network=aiml-vpc --region=us-central1 --enable-private-ip-google-access
Cloud Router- und NAT-Konfiguration
Cloud NAT wird im Tutorial für das Herunterladen von Notebook-Softwarepaketen verwendet, da die nutzerverwaltete Notebookinstanz keine externe IP-Adresse hat. Cloud NAT bietet auch Egress-NAT-Funktionen. Das bedeutet, dass Internet-Hosts keine Kommunikation mit einem vom Nutzer verwalteten Notebook initiieren dürfen, was die Sicherheit erhöht.
Erstellen Sie in Cloud Shell den regionalen Cloud Router.
gcloud compute routers create cloud-router-us-central1-aiml-nat --network aiml-vpc --region us-central1
Erstellen Sie in Cloud Shell das regionale Cloud NAT-Gateway.
gcloud compute routers nats create cloud-nat-us-central1 --router=cloud-router-us-central1-aiml-nat --auto-allocate-nat-external-ips --nat-all-subnet-ip-ranges --region us-central1
5. on-prem-vpc einrichten
on-prem-vpc erstellen
Führen Sie in Cloud Shell folgende Schritte aus:
gcloud compute networks create on-prem-vpc --project=$projectid --subnet-mode=custom
nat-subnet erstellen
Führen Sie in Cloud Shell folgende Schritte aus:
gcloud compute networks subnets create nat-subnet --project=$projectid --range=192.168.10.0/28 --network=on-prem-vpc --region=us-central1
Erstellen Sie das Subnetz „private-ip-subnet“.
Führen Sie in Cloud Shell folgende Schritte aus:
gcloud compute networks subnets create private-ip-subnet --project=$projectid --range=192.168.20.0/28 --network=on-prem-vpc --region=us-central1
Cloud Router- und NAT-Konfiguration
Cloud NAT wird in der Anleitung für das Herunterladen von Softwarepaketen verwendet. Cloud NAT bietet auch NAT-Funktionen für ausgehenden Traffic. Das bedeutet, dass Internet-Hosts keine Kommunikation mit Compute-Ressourcen initiieren dürfen, was die Sicherheit erhöht.
Erstellen Sie in Cloud Shell den regionalen Cloud Router.
gcloud compute routers create cloud-router-us-central1-on-prem-nat --network on-prem-vpc --region us-central1
Erstellen Sie in Cloud Shell das regionale Cloud NAT-Gateway.
gcloud compute routers nats create cloud-nat-us-central1 --router=cloud-router-us-central1-on-prem-nat --auto-allocate-nat-external-ips --nat-all-subnet-ip-ranges --region us-central1
6. Private Service Connect-Endpunkt erstellen
Im folgenden Abschnitt erstellen Sie einen Private Service Connect-Endpunkt (PSC), der für den Zugriff auf die Vertex API über die On-Prem-VPC verwendet wird. Die PSC-IP-Adresse 100.100.10.10 wird in einem der nächsten Schritte von aiml-vpc-cloud-router-vpn als benutzerdefiniertes Route Advertisement für das lokale Netzwerk beworben.
Über Cloud Shell
gcloud compute addresses create psc-ip \
--global \
--purpose=PRIVATE_SERVICE_CONNECT \
--addresses=100.100.10.10 \
--network=aiml-vpc
PSC-Endpunkt erstellen
Über Cloud Shell
gcloud compute forwarding-rules create pscvertex \
--global \
--network=aiml-vpc \
--address=psc-ip \
--target-google-apis-bundle=all-apis
Konfigurierte Private Service Connect-Endpunkte auflisten
Über Cloud Shell
gcloud compute forwarding-rules list \
--filter target="(all-apis OR vpc-sc)" --global
Konfigurierte Private Service Connect-Endpunkte beschreiben
Über Cloud Shell
gcloud compute forwarding-rules describe \
pscvertex --global
7. Hybridkonnektivität
Im folgenden Abschnitt erstellen Sie einen Cloud Router, mit dem Sie Routen zwischen Ihrer Virtual Private Cloud (VPC) und dem Peer-Netzwerk dynamisch über das Border Gateway Protocol (BGP) austauschen können.
Mit Cloud Router kann eine BGP-Sitzung über einen Cloud VPN-Tunnel eingerichtet werden, um Ihre Netzwerke zu verbinden. Es erkennt automatisch neue Subnetz-IP-Adressbereiche und kündigt sie in Ihrem Peer-Netzwerk an.
In dieser Anleitung stellen Sie HA VPN zwischen aiml-vpc und on-prem-vpc bereit.
HA VPN-Gateway für aiml-vpc erstellen
Beim Erstellen der Gateways werden automatisch zwei externe IPv4-Adressen zugewiesen, eine für jede Gateway-Schnittstelle.
HA VPN-Gateway in Cloud Shell erstellen
gcloud compute vpn-gateways create aiml-vpn-gw \
--network=aiml-vpc\
--region=us-central1
HA VPN-Gateway für on-prem-vpc erstellen
Beim Erstellen der Gateways werden automatisch zwei externe IPv4-Adressen zugewiesen, eine für jede Gateway-Schnittstelle. Notieren Sie sich diese IP-Adressen, um sie später in den Konfigurationsschritten zu verwenden.
Erstellen Sie das HA VPN-Gateway in Cloud Shell.
gcloud compute vpn-gateways create on-prem-vpn-gw \
--network=on-prem-vpc\
--region=us-central1
Erstellung des HA VPN-Gateways validieren
Rufen Sie in der Console HYBRID CONNECTIVITY → VPN → CLOUD VPN GATEWAYS auf und prüfen Sie, ob die Gateway-IPs generiert wurden.

Cloud Router für aiml-vpc erstellen
Erstellen Sie in Cloud Shell den Cloud Router in us-central1.
gcloud compute routers create aiml-cr-us-central1 \
--region=us-central1 \
--network=aiml-vpc\
--asn=65001
Cloud Router für on-prem-vpc erstellen
Erstellen Sie in Cloud Shell den Cloud Router in us-central1.
gcloud compute routers create on-prem-cr-us-central1 \
--region=us-central1 \
--network=on-prem-vpc \
--asn=65002
VPN-Tunnel für aiml-vpc erstellen
Sie erstellen zwei VPN-Tunnel auf jedem HA VPN-Gateway.
VPN-Tunnel0 erstellen
Erstellen Sie in Cloud Shell tunnel0:
gcloud compute vpn-tunnels create aiml-vpc-tunnel0 \
--peer-gcp-gateway on-prem-vpn-gw \
--region us-central1 \
--ike-version 2 \
--shared-secret [ZzTLxKL8fmRykwNDfCvEFIjmlYLhMucH] \
--router aiml-cr-us-central1 \
--vpn-gateway aiml-vpn-gw \
--interface 0
VPN-Tunnel 1 erstellen
Erstellen Sie in Cloud Shell den Tunnel 1:
gcloud compute vpn-tunnels create aiml-vpc-tunnel1 \
--peer-gcp-gateway on-prem-vpn-gw \
--region us-central1 \
--ike-version 2 \
--shared-secret [bcyPaboPl8fSkXRmvONGJzWTrc6tRqY5] \
--router aiml-cr-us-central1 \
--vpn-gateway aiml-vpn-gw \
--interface 1
VPN-Tunnel für on-prem-vpc erstellen
Sie erstellen zwei VPN-Tunnel auf jedem HA VPN-Gateway.
VPN-Tunnel0 erstellen
Erstellen Sie in Cloud Shell tunnel0:
gcloud compute vpn-tunnels create on-prem-tunnel0 \
--peer-gcp-gateway aiml-vpn-gw \
--region us-central1 \
--ike-version 2 \
--shared-secret [ZzTLxKL8fmRykwNDfCvEFIjmlYLhMucH] \
--router on-prem-cr-us-central1 \
--vpn-gateway on-prem-vpn-gw \
--interface 0
VPN-Tunnel 1 erstellen
Erstellen Sie in Cloud Shell den Tunnel 1:
gcloud compute vpn-tunnels create on-prem-tunnel1 \
--peer-gcp-gateway aiml-vpn-gw \
--region us-central1 \
--ike-version 2 \
--shared-secret [bcyPaboPl8fSkXRmvONGJzWTrc6tRqY5] \
--router on-prem-cr-us-central1 \
--vpn-gateway on-prem-vpn-gw \
--interface 1
Erstellung von VPN-Tunneln prüfen
Rufen Sie in der Console HYBRID CONNECTIVITY → VPN → CLOUD VPN TUNNELS auf.

8. BGP-Nachbarn einrichten
BGP-Sitzungen erstellen
In diesem Abschnitt konfigurieren Sie Cloud Router-Schnittstellen und BGP-Peers.
BGP-Schnittstelle und ‑Peering für aiml-vpc erstellen
Erstellen Sie in Cloud Shell die BGP-Schnittstelle:
gcloud compute routers add-interface aiml-cr-us-central1 \
--interface-name if-tunnel0-to-onprem \
--ip-address 169.254.1.1 \
--mask-length 30 \
--vpn-tunnel aiml-vpc-tunnel0 \
--region us-central1
Erstellen Sie in Cloud Shell den BGP-Peer:
gcloud compute routers add-bgp-peer aiml-cr-us-central1 \
--peer-name bgp-on-premises-tunnel0 \
--interface if-tunnel1-to-onprem \
--peer-ip-address 169.254.1.2 \
--peer-asn 65002 \
--region us-central1
Erstellen Sie in Cloud Shell die BGP-Schnittstelle:
gcloud compute routers add-interface aiml-cr-us-central1 \
--interface-name if-tunnel1-to-onprem \
--ip-address 169.254.2.1 \
--mask-length 30 \
--vpn-tunnel aiml-vpc-tunnel1 \
--region us-central1
Erstellen Sie in Cloud Shell den BGP-Peer:
gcloud compute routers add-bgp-peer aiml-cr-us-central1 \
--peer-name bgp-on-premises-tunnel1 \
--interface if-tunnel2-to-onprem \
--peer-ip-address 169.254.2.2 \
--peer-asn 65002 \
--region us-central1
BGP-Schnittstelle und ‑Peering für on-prem-vpc erstellen
Erstellen Sie in Cloud Shell die BGP-Schnittstelle:
gcloud compute routers add-interface on-prem-cr-us-central1 \
--interface-name if-tunnel0-to-aiml-vpc\
--ip-address 169.254.1.2 \
--mask-length 30 \
--vpn-tunnel on-prem-tunnel0 \
--region us-central1
Erstellen Sie in Cloud Shell den BGP-Peer:
gcloud compute routers add-bgp-peer on-prem-cr-us-central1 \
--peer-name bgp-aiml-vpc-tunnel0 \
--interface if-tunnel1-to-aiml-vpc\
--peer-ip-address 169.254.1.1 \
--peer-asn 65001 \
--region us-central1
Erstellen Sie in Cloud Shell die BGP-Schnittstelle:
gcloud compute routers add-interface on-prem-cr-us-central1 \
--interface-name if-tunnel1-to-aiml-vpc\
--ip-address 169.254.2.2 \
--mask-length 30 \
--vpn-tunnel on-prem-tunnel1 \
--region us-central1
Erstellen Sie in Cloud Shell den BGP-Peer:
gcloud compute routers add-bgp-peer on-prem-cr-us-central1 \
--peer-name bgp-aiml-vpc-tunnel1\
--interface if-tunnel2-to-aiml-vpc\
--peer-ip-address 169.254.2.1 \
--peer-asn 65001 \
--region us-central1
Rufen Sie Hybridkonnektivität → VPN auf, um die VPN-Tunneldetails aufzurufen.

Erkannte Routen von aiml-vpc über HA VPN validieren
Rufen Sie in der Console VPC-Netzwerk → VPC-Netzwerke → aiml-vpc → ROUTEN → REGION → US-CENTRAL1 → ANSEHEN auf.
Prüfen Sie, ob aiml-vpc Routen aus dem on-prem-vpc-nat-Subnetz und dem private-ip-Subnetz erlernt hat.

Prüfen Sie, ob on-prem-vpc das Workbench-Subnetz über HA VPN erlernt hat.
Rufen Sie in der Console VPC-Netzwerk → VPC-Netzwerke → on-prem-vpc → ROUTEN → REGION → US-CENTRAL1 → ANSEHEN auf.

9. Benutzerdefinierte Route Advertisements für aiml-vpc erstellen
Die IP-Adresse des Private Service Connect-Endpunkts wird vom Cloud Router „aiml-cr-us-central1“ nicht automatisch beworben, da das Subnetz nicht in der VPC konfiguriert ist.
Stattdessen müssen Sie ein benutzerdefiniertes Route Advertisement vom Cloud Router „aiml-cr-us-central“ für die IP-Adresse 100.100.10.10 des Endpunkts erstellen, das in der lokalen Umgebung über BGP an „on-prem-vpc“ beworben werden soll.
Rufen Sie in der Konsole HYBRID CONNECTIVITY → CLOUD ROUTERS → aiml-cr-us-central1 auf und wählen Sie dann EDIT (BEARBEITEN) aus.

Wählen Sie im Abschnitt „Beworbene Routen“ die Option Benutzerdefinierte Routen erstellen aus, aktualisieren Sie die Felder anhand des Beispiels unten, wählen Sie FERTIG aus und klicken Sie dann auf SPEICHERN.

Validation
Prüfen Sie, ob on-prem-vpc die IP-Adresse des PSC-Endpunkts über HA VPN erlernt hat.
Rufen Sie in der Console VPC-Netzwerk → VPC-Netzwerke → on-prem-vpc → ROUTEN → REGION → US-CENTRAL1 → ANSEHEN auf.

10. Benutzerdefinierte Route Advertisements für on-prem-vpc erstellen
Der Cloud Router „on-prem-vpc“ bewirbt standardmäßig alle Subnetze, aber nur das Subnetz „private-ip-subnet“ ist erforderlich.
Aktualisieren Sie im folgenden Abschnitt das Route Advertisement vom Cloud Router „on-prem-cr-us-central1“.
Rufen Sie in der Console HYBRID CONNECTIVITY → CLOUD ROUTERS → on-prem-cr-us-central1 auf und wählen Sie EDIT (BEARBEITEN) aus.

Wählen Sie im Abschnitt „Beworbene Routen“ die Option Benutzerdefinierte Routen erstellen aus, aktualisieren Sie die Felder anhand des Beispiels unten, wählen Sie FERTIG aus und klicken Sie dann auf SPEICHERN.

Validation
Prüfen Sie, ob aiml-vpc die Route private-ip-subnet vom on-prem-vpc erlernt hat.
Rufen Sie in der Console VPC-Netzwerk → VPC-Netzwerke → aiml-vpc → ROUTEN → REGION → US-CENTRAL1 → ANSEHEN auf.

11. Vom Nutzer verwaltetes Dienstkonto erstellen (GCE-Instanzen)
Um eine detaillierte Steuerung der Vertex API zu ermöglichen, ist ein vom Nutzer verwaltetes Dienstkonto erforderlich, das auf die NAT- und privaten Clientinstanzen angewendet wird. Nach der Generierung können die Dienstkontoberechtigungen entsprechend den geschäftlichen Anforderungen geändert werden. Im Tutorial hat das vom Nutzer verwaltete Dienstkonto „vertex-sa“ die folgenden Rollen:
Sie müssen die Service Account API , bevor Sie fortfahren.
Erstellen Sie das Dienstkonto in Cloud Shell.
gcloud iam service-accounts create gce-vertex-sa \
--description="service account for vertex" \
--display-name="gce-vertex-sa"
Aktualisieren Sie das Dienstkonto in Cloud Shell mit der Rolle „Compute-Instanzadministrator“.
gcloud projects add-iam-policy-binding $projectid --member="serviceAccount:gce-vertex-sa@$projectid.iam.gserviceaccount.com" --role="roles/compute.instanceAdmin.v1"
Aktualisieren Sie das Dienstkonto in Cloud Shell mit der Rolle „Vertex AI User“.
gcloud projects add-iam-policy-binding $projectid --member="serviceAccount:gce-vertex-sa@$projectid.iam.gserviceaccount.com" --role="roles/aiplatform.user"
12. Nutzerverwaltetes Dienstkonto erstellen (Notebook)
Im folgenden Abschnitt erstellen Sie ein nutzerverwaltetes Dienstkonto, das dem im Tutorial verwendeten Vertex Workbench-Notebook zugeordnet wird.
Im Rahmen der Anleitung werden dem Dienstkonto die folgenden Rollen zugewiesen:
Erstellen Sie das Dienstkonto in Cloud Shell.
gcloud iam service-accounts create user-managed-notebook-sa \
--display-name="user-managed-notebook-sa"
Aktualisieren Sie das Dienstkonto in Cloud Shell mit der Rolle „Storage-Administrator“.
gcloud projects add-iam-policy-binding $projectid --member="serviceAccount:user-managed-notebook-sa@$projectid.iam.gserviceaccount.com" --role="roles/storage.admin"
Aktualisieren Sie das Dienstkonto in Cloud Shell mit der Rolle „Vertex AI User“.
gcloud projects add-iam-policy-binding $projectid --member="serviceAccount:user-managed-notebook-sa@$projectid.iam.gserviceaccount.com" --role="roles/aiplatform.user"
Aktualisieren Sie das Dienstkonto in Cloud Shell mit der Rolle „Artifact Registry-Administrator“.
gcloud projects add-iam-policy-binding $projectid --member="serviceAccount:user-managed-notebook-sa@$projectid.iam.gserviceaccount.com" --role="roles/artifactregistry.admin"
Listen Sie in Cloud Shell das Dienstkonto auf und notieren Sie sich die E-Mail-Adresse, die beim Erstellen des nutzerverwalteten Notebooks verwendet wird.
gcloud iam service-accounts list
13. Testinstanzen erstellt
Im folgenden Abschnitt erstellen Sie Testinstanzen, um verschiedene Methoden zum Aufrufen von Vertex-APIs zu validieren, insbesondere:
- Die Instanz
nat-client,verwendet Cloud NAT, um Vertex AI aufzulösen und über das Internet auf den Endpunkt der Onlinevorhersage zuzugreifen. - Die Instanz
private-clientverwendet die Private Service Connect-IP-Adresse 100.100.10.10, um über HA VPN auf den Onlinevorhersage-Endpunkt zuzugreifen.
Erstellen Sie die Instanz nat-client in Cloud Shell.
gcloud compute instances create nat-client \
--zone=us-central1-a \
--image-family=debian-11 \
--image-project=debian-cloud \
--subnet=nat-subnet \
--service-account=vertex-sa@$projectid.iam.gserviceaccount.com \
--scopes=https://www.googleapis.com/auth/cloud-platform \
--no-address \
--metadata startup-script="#! /bin/bash
sudo apt-get update
sudo apt-get install tcpdump dnsutils -y"
Erstellen Sie die Instanz private-client in Cloud Shell.
gcloud compute instances create private-client \
--zone=us-central1-a \
--image-family=debian-11 \
--image-project=debian-cloud \
--subnet=private-ip-subnet \
--service-account=vertex-sa@$projectid.iam.gserviceaccount.com \
--scopes=https://www.googleapis.com/auth/cloud-platform \
--no-address \
--metadata startup-script="#! /bin/bash
sudo apt-get update
sudo apt-get install tcpdump dnsutils -y"
Damit Identity-Aware Proxy (IAP) eine Verbindung zu Ihren VM-Instanzen herstellen kann, erstellen Sie eine Firewallregel, die:
- Gilt für alle VM-Instanzen, die über IAP zugänglich sein sollen.
- Lässt eingehenden Traffic aus dem IP-Bereich 35.235.240.0/20 zu. Dieser Bereich enthält alle IP-Adressen, die IAP für die TCP-Weiterleitung verwendet.
Erstellen Sie in Cloud Shell die IAP-Firewallregel.
gcloud compute firewall-rules create ssh-iap-on-prem-vpc \
--network on-prem-vpc \
--allow tcp:22 \
--source-ranges=35.235.240.0/20
14. Nutzerverwaltetes Notebook erstellen
Erstellen Sie im folgenden Abschnitt ein nutzerverwaltetes Notebook, in dem das zuvor erstellte Dienstkonto „user-managed-notebook-sa“ verwendet wird.
Erstellen Sie in Cloud Shell die private-client-Instanz.
gcloud notebooks instances create workbench-tutorial \
--vm-image-project=deeplearning-platform-release \
--vm-image-family=common-cpu-notebooks \
--machine-type=n1-standard-4 \
--location=us-central1-a \
--subnet-region=us-central1 \
--subnet=workbench-subnet \
--no-public-ip --service-account=user-managed-notebook-sa@$projectid.iam.gserviceaccount.com
15. Modell bereitstellen und Onlinevorhersage
Im folgenden Abschnitt verwenden Sie das bereitgestellte Codelabund beginnen mit Abschnitt 7, da Sie im vorherigen Schritt bereits ein Notebook erstellt haben. Kehren Sie nach der Bereitstellung des Modells zur Anleitung zurück, um mit dem nächsten Abschnitt zu beginnen.

16. Zugriff auf die Vertex API über das Internet prüfen
Im folgenden Abschnitt melden Sie sich bei der Instanz „nat-client“ an und prüfen die Verbindung zu Vertex AI mit „dig“ und „tcpdump“ für die Domain „us-central1-aiplatform.googleapis.com“, die zum Auflösen von Vertex-APIs verwendet wird.
Melden Sie sich mit IAP in Cloud Shell beim NAT-Client an, um die Verbindung zur Vertex API zu prüfen. Führen Sie dazu einen „dig“-Befehl für die Vertex-Domain „us-central1-aiplatform.googleapis.com“ aus.
gcloud compute ssh nat-client --project=$projectid --zone=us-central1-a --tunnel-through-iap
Führen Sie den Dig-Befehl aus.
dig us-central1-aiplatform.googleapis.com
Beispiel: Notieren Sie sich die öffentlichen IP-Adressen in der DNS-Antwort.
user@nat-client:~$ dig us-central1-aiplatform.googleapis.com
; <<>> DiG 9.16.42-Debian <<>> us-central1-aiplatform.googleapis.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 56761
;; flags: qr rd ra; QUERY: 1, ANSWER: 16, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;us-central1-aiplatform.googleapis.com. IN A
;; ANSWER SECTION:
us-central1-aiplatform.googleapis.com. 300 IN A 108.177.111.95
us-central1-aiplatform.googleapis.com. 300 IN A 142.250.1.95
us-central1-aiplatform.googleapis.com. 300 IN A 108.177.121.95
us-central1-aiplatform.googleapis.com. 300 IN A 142.250.103.95
us-central1-aiplatform.googleapis.com. 300 IN A 108.177.120.95
us-central1-aiplatform.googleapis.com. 300 IN A 142.251.171.95
us-central1-aiplatform.googleapis.com. 300 IN A 142.250.159.95
us-central1-aiplatform.googleapis.com. 300 IN A 142.251.120.95
us-central1-aiplatform.googleapis.com. 300 IN A 142.251.161.95
us-central1-aiplatform.googleapis.com. 300 IN A 142.251.172.95
us-central1-aiplatform.googleapis.com. 300 IN A 74.125.126.95
us-central1-aiplatform.googleapis.com. 300 IN A 74.125.70.95
us-central1-aiplatform.googleapis.com. 300 IN A 74.125.132.95
us-central1-aiplatform.googleapis.com. 300 IN A 74.125.201.95
us-central1-aiplatform.googleapis.com. 300 IN A 74.125.202.95
us-central1-aiplatform.googleapis.com. 300 IN A 74.125.69.95
;; Query time: 4 msec
;; SERVER: 169.254.169.254#53(169.254.169.254)
;; WHEN: Thu Jun 29 01:35:57 UTC 2023
;; MSG SIZE rcvd: 322
Führen Sie auf dem Betriebssystem des NAT-Clients „tcpdump“ aus, um die DNS-Auflösung zu validieren, wenn Sie einen „curl“-Befehl für die Onlinevorhersage ausführen.
sudo tcpdump -i any port 53 -n
Beispiel:
user@nat-client:~$ sudo tcpdump -i any port 53 -n
tcpdump: data link type LINUX_SLL2
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on any, link-type LINUX_SLL2 (Linux cooked v2), snapshot length 262144 bytes
Öffnen Sie ein neues Cloud Shell-Terminal, indem Sie auf das „+“ klicken. Aktualisieren Sie nach dem Öffnen des neuen Tabs die Variable für den Projektnamen.
Aktualisieren Sie in Cloud Shell die Variable für den Projektnamen.
gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectid=YOUR-PROJECT-NAME
echo $projectid
Stellen Sie in Cloud Shell 2 eine SSH-Verbindung zur nat-client-Instanz her.
gcloud compute ssh --zone "us-central1-a" "nat-client" --project "$projectid"
Im folgenden Abschnitt erstellen Sie mit sudo VI-Editor oder nano eine Datei namens „instances.json“ und fügen den Datenstring ein, mit dem Sie eine Vorhersage vom bereitgestellten Modell erhalten.
Erstellen Sie auf dem Betriebssystem des NAT-Clients eine instances.json-Datei mit dem folgenden Datenstring:
{"instances": [
[0.23, 'Ideal', 'E', 'VS2', 61.5, 55.0, 3.95, 3.98, 2.43],
[0.29, 'Premium', 'J', 'Internally Flawless', 52.5, 49.0, 4.00, 2.13, 3.11]]}
Beispiel:
user@nat-client:$ more instances.json
{"instances": [
[0.23, 'Ideal', 'E', 'VS2', 61.5, 55.0, 3.95, 3.98, 2.43],
[0.29, 'Premium', 'J', 'Internally Flawless', 52.5, 49.0, 4.00, 2.13, 3.11]]}
user@nat-client:$
Rufen Sie die ID Ihres Onlinevorhersage-Endpunkts aus der Cloud Console ab, die in den folgenden Schritten verwendet wird.
Klicken Sie auf VERTEX AI → ONLINEPREDICTION.

Erstellen Sie im Betriebssystem des NAT-Clients die folgenden Variablen:
gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectid=YOUR-PROJECT-NAME
echo $projectid
ENDPOINT_ID="insert-your-endpoint-id-here"
Beispiel:
ENDPOINT_ID="3328226095324463104"
Führen Sie auf dem nat-client-Betriebssystem einen curl-Befehl aus, um eine Antwort vom Modell zu erhalten.
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://us-central1-aiplatform.googleapis.com/v1/projects/${projectid}/locations/us-central1/endpoints/${ENDPOINT_ID}:predict -d @instances.json
Beispiel: Die Vorhersage war erfolgreich.
user@nat-client$ curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://us-central1-aiplatform.googleapis.com/v1/projects/${projectid}/locations/us-central1/endpoints/${ENDPOINT_ID}:predict -d @instances.json
{
"predictions": [
"$479.0",
"$586.0"
],
"deployedModelId": "1949163636186415104",
"model": "projects/234086459238/locations/us-central1/models/947543727654567936",
"modelDisplayName": "diamonds-cpr",
"modelVersionId": "1"
}
17. Validierung – Internetzugriff auf die Vertex API
Nachdem Sie die Vorhersage ausgeführt haben, sehen wir uns die TCPDUMP-Ergebnisse (Terminal 1) an, die zeigen, dass die nat-client-Instanz (192.168.10.2) eine DNS-Abfrage an den lokalen DNS-Server 169.254.169.254 für die Vertex AI-Domain us-central1-aiplatform.googleapis.com durchführt. Das Ergebnis der DNS-Abfrage sind öffentliche virtuelle IP-Adressen (VIPs) für Vertex-APIs, wie unten aufgeführt:
user@nat-client:~$ sudo tcpdump -i any port 53 -n
tcpdump: data link type LINUX_SLL2
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on any, link-type LINUX_SLL2 (Linux cooked v2), snapshot length 262144 bytes
20:05:09.260937 ens4 Out IP 192.168.10.2.40782 > 169.254.169.254.53: 47190+ A? oauth2.googleapis.com. (39)
20:05:09.260946 ens4 Out IP 192.168.10.2.40782 > 169.254.169.254.53: 28075+ AAAA? oauth2.googleapis.com. (39)
20:05:09.263556 ens4 In IP 169.254.169.254.53 > 192.168.10.2.40782: 28075 4/0/0 AAAA 2607:f8b0:4001:c34::5f, AAAA 2607:f8b0:4001:c54::5f, AAAA 2607:f8b0:4001:c16::5f, AAAA 2607:f8b0:4001:c17::5f (151)
20:05:09.265018 ens4 In IP 169.254.169.254.53 > 192.168.10.2.40782: 47190 16/0/0 A 74.125.201.95, A 74.125.202.95, A 74.125.69.95, A 64.233.183.95, A 173.194.193.95, A 173.194.194.95, A 173.194.195.95, A 173.194.196.95, A 173.194.197.95, A 64.233.191.95, A 173.194.74.95, A 173.194.192.95, A 209.85.145.95, A 209.85.146.95, A 209.85.147.95, A 142.250.125.95 (295)
20:05:09.474478 ens4 Out IP 192.168.10.2.57356 > 169.254.169.254.53: 36008+ A? us-central1-aiplatform.googleapis.com. (55)
20:05:09.474488 ens4 Out IP 192.168.10.2.57356 > 169.254.169.254.53: 47020+ AAAA? us-central1-aiplatform.googleapis.com. (55)
20:05:09.477190 ens4 In IP 169.254.169.254.53 > 192.168.10.2.57356: 36008 16/0/0 A 173.194.194.95, A 173.194.195.95, A 173.194.196.95, A 173.194.197.95, A 173.194.74.95, A 173.194.192.95, A 209.85.145.95, A 209.85.146.95, A 209.85.147.95, A 142.250.125.95, A 142.250.136.95, A 142.250.148.95, A 209.85.200.95, A 209.85.234.95, A 142.250.152.95, A 142.250.128.95 (311)
20:05:09.478607 ens4 In IP 169.254.169.254.53 > 192.168.10.2.57356: 47020 4/0/0 AAAA 2607:f8b0:4001:c1b::5f, AAAA 2607:f8b0:4001:c0c::5f, AAAA 2607:f8b0:4001:c0e::5f, AAAA 2607:f8b0:4001:c1e::5f (167)
18. Privaten Zugriff auf Vertex-APIs aktivieren
Im folgenden Abschnitt greifen Sie über hybride Netzwerke (HA VPN) mit Private Service Connect auf Vertex-APIs zu, um die Onlinevorhersage privat zu erreichen. Im Beispiel in der Anleitung aktualisieren Sie die Datei „/etc/hosts“ in der Instanz „private-client“.
In Ihrer lokalen Umgebung ist es angemessen, die Datei „/etc/hosts“ auf einzelnen oder wenigen Maschinen für Tests zu aktualisieren. Für große und Produktionsumgebungen ist es jedoch besser, eine neue Weiterleitungszone mit dem PSC-Endpunkt-FQDN zu erstellen.
Der im Tutorial erstellte PSC-Endpunkt heißt beispielsweise „pscvertex“, was bei Verwendung des Endpunkts für Vertex in pscvertex.p.googleapis.com übersetzt wird. Hängen Sie den FQDN mit dem Dienst an, z. B. us-central1-aiplatform-pscvertex.p.googleapis.com.
Wenn Sie den lokalen DNS mit dem PSC-Endpunkt aktualisieren, müssen Sie auch lokale Anwendungen umgestalten, damit sie den FQDN aufrufen, z. B. us-central1-aiplatform-pscvertex.p.googleapis.com anstelle des nativen öffentlichen Endpunkts us-central1-aiplatform.googleapis.com.
Clients, die für die Verwendung eines benutzerdefinierten Endpunkts konfiguriert werden können, können mithilfe der DNS-Namen p.googleapis.com Anfragen an einen Endpunkt senden.
Weitere Informationen zur Konfiguration der Verwendung für benutzerdefinierte Endpunkte finden Sie in der Dokumentation zu Ihrem Client oder Ihrer Clientbibliothek. Beispiel:
- Python: Sie können api_endpoint in der Klasse „Clientoptionen“ im Paket „google-api-core“ konfigurieren.
- Go: Sie können „WithEndpoint“ im Client-Optionspaket im API-Paket konfigurieren.
- gcloud: You can configure api_endpoint_overrides
Öffnen Sie ein neues Cloud Shell-Terminal, indem Sie auf das „+“ klicken. Aktualisieren Sie nach dem Öffnen des neuen Tabs die Variable für den Projektnamen.
Über Cloud Shell.
gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectid=YOUR-PROJECT-NAME
echo $projectid
Melden Sie sich mit IAP in einer neuen Cloud Shell bei private-client an, um die Verbindung zur Vertex API zu prüfen. Führen Sie dazu einen „dig“-Befehl für die Vertex-Domain us-central1-aiplatform.googleapis.com aus.
Melden Sie sich in Cloud Shell bei der Betriebssysteminstanz des privaten Clients an.
gcloud compute ssh private-client --project=$projectid --zone=us-central1-a --tunnel-through-iap
Führen Sie den Dig-Befehl aus.
dig us-central1-aiplatform.googleapis.com
Beispiel: Notieren Sie sich die öffentlichen IP-Adressen basierend auf der DNS-Antwort.
user@private-client:~$ dig us-central1-aiplatform.googleapis.com
; <<>> DiG 9.16.42-Debian <<>> us-central1-aiplatform.googleapis.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 33311
;; flags: qr rd ra; QUERY: 1, ANSWER: 16, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;us-central1-aiplatform.googleapis.com. IN A
;; ANSWER SECTION:
us-central1-aiplatform.googleapis.com. 300 IN A 74.125.132.95
us-central1-aiplatform.googleapis.com. 300 IN A 74.125.201.95
us-central1-aiplatform.googleapis.com. 300 IN A 74.125.202.95
us-central1-aiplatform.googleapis.com. 300 IN A 74.125.69.95
us-central1-aiplatform.googleapis.com. 300 IN A 64.233.182.95
us-central1-aiplatform.googleapis.com. 300 IN A 64.233.183.95
us-central1-aiplatform.googleapis.com. 300 IN A 173.194.193.95
us-central1-aiplatform.googleapis.com. 300 IN A 173.194.194.95
us-central1-aiplatform.googleapis.com. 300 IN A 173.194.195.95
us-central1-aiplatform.googleapis.com. 300 IN A 173.194.196.95
us-central1-aiplatform.googleapis.com. 300 IN A 173.194.197.95
us-central1-aiplatform.googleapis.com. 300 IN A 64.233.191.95
us-central1-aiplatform.googleapis.com. 300 IN A 173.194.74.95
us-central1-aiplatform.googleapis.com. 300 IN A 173.194.192.95
us-central1-aiplatform.googleapis.com. 300 IN A 209.85.145.95
us-central1-aiplatform.googleapis.com. 300 IN A 209.85.146.95
;; Query time: 4 msec
;; SERVER: 169.254.169.254#53(169.254.169.254)
;; WHEN: Sun Jul 02 20:5
Aktualisieren Sie die Datei „/etc/hosts“ der privaten Clientinstanz mit dem sudo-VI-Editor oder nano, um einen Eintrag für den FQDN von Vertex AI us-central1-aiplatform.googleapis.com zu erstellen, der auf den PSC-Endpunkt 100.100.10.10 verweist. Es sind keine weiteren Änderungen erforderlich.
Beispiel:
user@private-client:~$ more /etc/hosts
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
100.100.10.10 us-central1-aiplatform.googleapis.com
192.168.20.2 private-client.c.$projectid.internal private-client # Added by Google
169.254.169.254 metadata.google.internal # Added by Google
Führen Sie vom privaten Client-Betriebssystem aus einen PING an den Vertex API-Endpunkt aus.
ping us-central1-aiplatform.googleapis.com
Beispiel: PING gibt die IP-Adresse des PSC-Endpunkts zurück, es wird jedoch keine Antwort erwartet.
user@private-client:~$ ping us-central1-aiplatform.googleapis.com
PING us-central1-aiplatform.googleapis.com (100.100.10.10) 56(84) bytes of data.
Führen Sie auf dem privaten Client-Betriebssystem „tcpdump“ aus, um die DNS-Auflösung und den IP-Datenpfad zum PSC-Endpunkt zu validieren, wenn Sie einen Curl für die Onlinevorhersage ausführen.
sudo tcpdump -i any port 53 -n or host 100.100.10.10
Öffnen Sie ein viertes Cloud Shell-Terminal, indem Sie auf das „+“ klicken. Aktualisieren Sie nach dem Öffnen des neuen Tabs die Variable für den Projektnamen.
Aktualisieren Sie in Cloud Shell die Variable für den Projektnamen.
gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectid=YOUR-PROJECT-NAME
echo $projectid
Stellen Sie in Cloud Shell 4 eine SSH-Verbindung zur Instanz „private-client“ her.
gcloud compute ssh --zone "us-central1-a" "private-client" --project "$projectid"
Im folgenden Abschnitt erstellen Sie mit sudo VI-Editor oder nano eine Datei namens „instances.json“ und fügen den Datenstring ein, mit dem Sie eine Vorhersage vom bereitgestellten Modell erhalten.
Erstellen Sie auf dem privaten Client-Betriebssystem eine instances.json-Datei mit dem folgenden Datenstring:
{"instances": [
[0.23, 'Ideal', 'E', 'VS2', 61.5, 55.0, 3.95, 3.98, 2.43],
[0.29, 'Premium', 'J', 'Internally Flawless', 52.5, 49.0, 4.00, 2.13, 3.11]]}
Beispiel:
user@private-client:$ more instances.json
{"instances": [
[0.23, 'Ideal', 'E', 'VS2', 61.5, 55.0, 3.95, 3.98, 2.43],
[0.29, 'Premium', 'J', 'Internally Flawless', 52.5, 49.0, 4.00, 2.13, 3.11]]}
user@private-client:$
Erstellen Sie im privaten Client-Betriebssystem die folgenden Variablen:
gcloud config list project
projectid=YOUR-PROJECT-NAME
echo $projectid
ENDPOINT_ID="insert-your-endpoint-id-here"
Beispiel:
ENDPOINT_ID="3328226095324463104"
Führen Sie im privaten Client-Betriebssystem in Cloud Shell 4 einen Curl-Befehl aus, um eine Antwort vom Modell zu erhalten.
curl -v -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://us-central1-aiplatform.googleapis.com/v1/projects/${projectid}/locations/us-central1/endpoints/${ENDPOINT_ID}:predict -d @instances.json
19. Validierung – Privater Zugriff auf die Vertex API
Beachten Sie, dass auf dem privaten Client-Betriebssystem in Cloud Shell 4 die PSC-Endpunkt-IP (100.100.10.10) für den Zugriff auf die Vertex API verwendet wurde.
user@private-client$ curl -v -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://us-central1-aiplatform.googleapis.com/v1/projects/${projectid}/locations/us-central1/endpoints/${ENDPOINT_ID}:predict -d @instances.json
Note: Unnecessary use of -X or --request, POST is already inferred.
* Trying 100.100.10.10:443...
* Connected to us-central1-aiplatform.googleapis.com (100.100.10.10) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
* CAfile: /etc/ssl/certs/ca-certificates.crt
* CApath: /etc/ssl/certs
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
* TLSv1.3 (IN), TLS handshake, Certificate (11):
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
* TLSv1.3 (IN), TLS handshake, Finished (20):
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.3 (OUT), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
* ALPN, server accepted to use h2
* Server certificate:
* subject: CN=upload.video.google.com
* start date: May 29 08:21:36 2023 GMT
* expire date: Aug 21 08:21:35 2023 GMT
* subjectAltName: host "us-central1-aiplatform.googleapis.com" matched cert's "*.googleapis.com"
* issuer: C=US; O=Google Trust Services LLC; CN=GTS CA 1C3
* SSL certificate verify ok.
* Using HTTP2, server supports multi-use
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* Using Stream ID: 1 (easy handle 0x55f2ab65c2c0)
> POST /v1/projects/$projectid/locations/us-central1/endpoints/3328226095324463104:predict HTTP/2
> Host: us-central1-aiplatform.googleapis.com
> user-agent: curl/7.74.0
> accept: */*
> authorization: Bearer ya29.a0AbVbY6NdCbIJYj0mQROeq-xYgQCw534TTtjRc1kBAEOimKCFxb3gqgD5AvhfefJatSNr33eW1YJirfQVMptFoqfjRoB-i8zEJJ_GGCVqhsVnpSOjK0hzJQSuo2YGjIiSe1o1zdo7lWmh1Px-vLe8FImieGkrQ1hqVaa6aCgYKAXgSARESFQFWKvPlUQ_FuKB2hrDJRyFDjupL1g0171
> content-type: application/json
> content-length: 154
>
* Connection state changed (MAX_CONCURRENT_STREAMS == 100)!
* We are completely uploaded and fine
< HTTP/2 200
< content-type: application/json; charset=UTF-8
< x-vertex-ai-internal-prediction-backend: harpoon
< date: Mon, 03 Jul 2023 22:13:35 GMT
< vary: X-Origin
< vary: Referer
< vary: Origin,Accept-Encoding
< server: scaffolding on HTTPServer2
< cache-control: private
< x-xss-protection: 0
< x-frame-options: SAMEORIGIN
< x-content-type-options: nosniff
< accept-ranges: none
<
{
"predictions": [
"$479.0",
"$586.0"
],
"deployedModelId": "1949163636186415104",
"model": "projects/234086459238/locations/us-central1/models/947543727654567936",
"modelDisplayName": "diamonds-cpr",
"modelVersionId": "1"
}
* Connection #0 to host us-central1-aiplatform.googleapis.com left intact
Im TCPDUMP-Terminal in Cloud Shell 3 können wir bestätigen, dass kein DNS-Lookup nach us-central1-aiplatform.googleapis.com erfolgt ist, da die Datei „/etc/host“ Vorrang hatte und die PSC-IP-Adresse 100.100.10.10 im Datenpfad verwendet wurde.
user@private-client:~$ sudo tcpdump -i any port 53 -n or host 100.100.10.10
tcpdump: data link type LINUX_SLL2
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on any, link-type LINUX_SLL2 (Linux cooked v2), snapshot length 262144 bytes
22:13:35.507625 ens4 Out IP 192.168.20.2.37004 > 169.254.169.254.53: 58585+ A? oauth2.googleapis.com. (39)
22:13:35.507631 ens4 Out IP 192.168.20.2.37004 > 169.254.169.254.53: 15580+ AAAA? oauth2.googleapis.com. (39)
22:13:35.511796 ens4 In IP 169.254.169.254.53 > 192.168.20.2.37004: 58585 16/0/0 A 142.251.6.95, A 108.177.112.95, A 74.125.124.95, A 172.217.212.95, A 172.217.214.95, A 172.253.114.95, A 172.253.119.95, A 108.177.111.95, A 142.250.1.95, A 108.177.121.95, A 142.250.103.95, A 108.177.120.95, A 142.251.171.95, A 142.250.159.95, A 142.251.120.95, A 142.251.161.95 (295)
22:13:35.512002 ens4 In IP 169.254.169.254.53 > 192.168.20.2.37004: 15580 4/0/0 AAAA 2607:f8b0:4001:c2b::5f, AAAA 2607:f8b0:4001:c18::5f, AAAA 2607:f8b0:4001:c5f::5f, AAAA 2607:f8b0:4001:c58::5f (151)
22:13:35.722145 ens4 Out IP 192.168.20.2.47304 > 100.100.10.10.443: Flags [S], seq 1951267724, win 65320, options [mss 1420,sackOK,TS val 1371205990 ecr 0,nop,wscale 7], length 0
22:13:35.730727 ens4 In IP 100.100.10.10.443 > 192.168.20.2.47304: Flags [S.], seq 3198878726, ack 1951267725, win 65535, options [mss 1366,sackOK,TS val 67847676 ecr 1371205990,nop,wscale 8], length 0
22:13:35.730760 ens4 Out IP 192.168.20.2.47304 > 100.100.10.10.443: Flags [.], ack 1, win 511, options [nop,nop,TS val 1371205999 ecr 67847676], length 0
22:13:35.738339 ens4 Out IP 192.168.20.2.47304 > 100.100.10.10.443: Flags [P.], seq 1:518, ack 1, win 511, options [nop,nop,TS val 1371206006 ecr 67847676], length 517
22:13:35.739922 ens4 In IP 100.100.10.10.443 > 192.168.20.2.47304: Flags [.], ack 518, win 261, options [nop,nop,TS val 67847688 ecr 1371206006], length 0
22:13:35.740860 ens4 In IP 100.100.10.10.443 > 192.168.20.2.47304: Flags [.], seq 1:2709, ack 518, win 261, options [nop,nop,TS val 67847689 ecr 1371206006], length 2708
22:13:35.740863 ens4 In IP 100.100.10.10.443 > 192.168.20.2.47304: Flags [P.], seq 2709:4699, ack 518, win 261, options [nop,nop,TS val 67847689 ecr 1371206006], length 1990
22:13:35.740874 ens4 Out IP 192.168.20.2.47304 > 100.100.10.10.443: Flags [.], ack 2709, win 497, options [nop,nop,TS val 1371206009 ecr 67847689], length 0
22:13:35.740886 ens4 Out IP 192.168.20.2.47304 > 100.100.10.10.443: Flags [.], ack 4699, win 485, options [nop,nop,TS val 1371206009 ecr 67847689], length 0
22:13:35.742709 ens4 Out IP 192.168.20.2.47304 > 100.100.10.10.443: Flags [P.], seq 518:598, ack 4699, win 501, options [nop,nop,TS val 1371206011 ecr 67847689], length 80
22:13:35.743996 ens4 Out IP 192.168.20.2.47304 > 100.100.10.10.443: Flags [P.], seq 598:644, ack 4699, win 501, options [nop,nop,TS val 1371206012 ecr 67847689], length 46
22:13:35.744011 ens4 Out IP 192.168.20.2.47304 > 100.100.10.10.443: Flags [P.], seq 644:693, ack 4699, win 501, options [nop,nop,TS val 1371206012 ecr 67847689], length 49
22:13:35.744082 ens4 Out IP 192.168.20.2.47304 > 100.100.10.10.443: Flags [P.], seq 693:728, ack 4699, win 501, options [nop,nop,TS val 1371206012 ecr 67847689], length 35
22:13:35.744165 ens4 Out IP 192.168.20.2.47304 > 100.100.10.10.443: Flags [P.], seq 728:1069, ack 4699, win 501, options [nop,nop,TS val 1371206012 ecr 67847689], length 341
Sie haben erfolgreich validiert, dass Sie über einen öffentlichen Endpunkt über das Internet und privat über Hybrid Networking und Private Service Connect (googleapis) eine Verbindung zu Onlinevorhersagen herstellen können. Beenden Sie das Betriebssystem und kehren Sie zur Cloud Shell-Eingabeaufforderung zurück.
20. Bereinigen
Löschen Sie die Komponenten der Anleitung in Cloud Shell.
gcloud compute forwarding-rules delete pscvertex --global --quiet
gcloud compute instances delete workbench-tutorial --zone=us-central1-a --quiet
gcloud compute addresses delete psc-ip --global --quiet
gcloud compute networks subnets delete workbench-subnet --region=us-central1 --quiet
gcloud compute vpn-tunnels delete aiml-vpc-tunnel0 aiml-vpc-tunnel1 on-prem-tunnel0 on-prem-tunnel1 --region=us-central1 --quiet
gcloud compute vpn-gateways delete aiml-vpn-gw on-prem-vpn-gw --region=us-central1 --quiet
gcloud compute routers delete aiml-cr-us-central1 cloud-router-us-central1-aiml-nat --region=us-central1 --quiet
gcloud compute routers delete cloud-router-us-central1-on-prem-nat on-prem-cr-us-central1 --region=us-central1 --quiet
gcloud compute instances delete nat-client private-client --zone=us-central1-a --quiet
gcloud compute firewall-rules delete ssh-iap-on-prem-vpc --quiet
gcloud compute networks subnets delete nat-subnet private-ip-subnet --region=us-central1 --quiet
gcloud compute networks delete on-prem-vpc --quiet
gcloud compute networks delete aiml-vpc --quiet
Vertex-Komponenten löschen
Wenn Sie das Container-Image löschen möchten, rufen Sie Artifact Registry auf, wählen Sie das von Ihnen erstellte Repository aus und klicken Sie auf Löschen.

Wenn Sie den Storage-Bucket löschen möchten, rufen Sie in der Cloud Console über das Navigationsmenü „Storage“ auf, wählen Sie den Bucket aus und klicken Sie auf Löschen:

Heben Sie die Bereitstellung des Modells am Endpunkt auf. Rufen Sie „Vertex AI“ → „Onlinevorhersage“ auf → wählen Sie „diamonds-cpr_endpoint“ aus → „Bereitstellung des Modells auf dem Endpunkt aufheben“ → „Bereitstellung aufheben“.

Löschen Sie das Modell. Rufen Sie „Vertex AI“ → „Model Registry“ → „Modell löschen“ auf.

Löschen Sie den Endpunkt für Onlinevorhersagen. Rufen Sie „Vertex AI“ → „Onlinevorhersage“ auf, wählen Sie „diamonds-cpr_endpoint“ aus und klicken Sie auf „Endpunkt löschen“.

21. Glückwunsch
Sie haben die Verbindung zu Onlinevorhersagen über das Internet und privat mit Private Service Connect und Hybrid Networking erfolgreich konfiguriert und validiert.
Sie haben einen nat-client und einen private-client erstellt und mit TCPDUMP die IP-Adressen validiert, die zum Erreichen der Vertex-APIs verwendet werden. Außerdem haben Sie mehr über Private Service Connect (googleapis) erfahren und darüber, wie es verwendet werden kann, um lokale und Multi-Cloud-Anwendungen mithilfe eines PSC-Endpunkts des Kunden zu isolieren.
Cosmopup findet Tutorials toll!!

Nächste Schritte
Hier findest du einige Tutorials:
- Private Service Connect für Google APIs
- Mit Vertex AI ein sicheres, nutzerverwaltetes Notebook erstellen
Weitere Informationen und Videos
- Private Service Connect – Übersicht
- Was ist Private Service Connect?
- Vorhersagen aus einem ML-Modell abrufen
- Was ist Vertex AI?
