1. Einführung
Lokale Hosts können eine Onlinevorhersage nativ über das öffentliche Internet (Option 1) oder mithilfe von Cloud VPN oder Cloud Interconnect mit Private Service Connect (PSC) (Option 2) über Ihr lokales Netzwerk erreichen, die jeweils SSL/TLS-Verschlüsselung anbieten. Hybridkonnektivität zur Online-Vorhersage über Interconnect-Verbindungen ist leistungsfähiger als das Internet. Daher wird für kritische Anwendungen empfohlen, wie in Abbildung 1 dargestellt.
In dieser Anleitung erfahren Sie, wie Sie mithilfe eines Hochverfügbarkeits-VPNs (HA VPN) privat zwischen zwei VPC-Netzwerken auf Onlinevorhersagen zugreifen, die als Grundlage für Multi-Cloud- und lokale private Verbindungen dienen können.
Hinweis: Vertex Online Prediction ist ein öffentlicher Endpunkt. Daher sollten Sie den Zugriff mithilfe von VPC Service Controls (VPC-SC) einschränken, um sichere Perimeter zu erstellen, um den Zugriff auf Vertex und andere Google-APIs zuzulassen oder zu verweigern. VPC-SC wird in dieser Anleitung 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. Für Ihre Bereitstellung würde die on-prem-vpc
nicht vorhanden sein. Stattdessen wird ein Hybridnetzwerk zu Ihrem lokalen Rechenzentrum oder Ihrem Cloud-Anbieter verwendet.
Sie werden eine umfassende Private Service Connect-Architektur erstellen, die den öffentlichen Zugriff auf Onlinevorhersagen über Cloud NAT und den privaten Zugriff mit PSC über HA VPN wie unten beschrieben veranschaulicht.
Sobald 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 zur Inferenz aus dem Modell verwenden
- Mit TCPDUMP prüfen, ob auf Onlinevorhersagen über eine öffentliche VIP zugegriffen wird
Der private Zugriff auf Onlinevorhersagen umfasst Folgendes:
- Modell auf einem Vertex-Endpunkt für Onlinevorhersagen im Projekt bereitstellen
- Private Service Connect-Endpunkt (Googleapis) in Ziell-VP erstellen
- Exportieren Sie die PSC-IP-Adresse über den Cloud Router als benutzerdefiniertes Advertising in die lokale VPC
- GCE-Instanz (Privatclient) erstellen und Datei usw/hosts mit der PSC-Endpunkt-IP aktualisieren
- CURL zur Inferenz aus dem Modell verwenden
- Mit TCPDUMP prüfen, ob auf Onlinevorhersagen über die IP-Adresse des PSC-Endpunkts zugegriffen wird
Aufgaben in diesem Lab
- Private Service Connect-Endpunkt einrichten
- Anbieten der IP-Adresse des PSC-Endpunkts über den Cloud Router
- So validieren Sie mit TCPDUMP den Zugriff auf die Onlinevorhersage (öffentlich und privat)
Voraussetzungen
- Google Cloud-Projekt
IAM-Berechtigungen
2. Hinweis
Projekt zur Unterstützung der Anleitung aktualisieren
In dieser Anleitung wird mithilfe von $variables die Implementierung der gcloud-Konfiguration in Cloud Shell unterstützt.
Führen Sie in Cloud Shell die folgenden 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 die folgenden 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. Ziell-VPC-Einrichtung
targetl-vpc erstellen
Führen Sie in Cloud Shell die folgenden Schritte aus:
gcloud compute networks create aiml-vpc --project=$projectid --subnet-mode=custom
Nutzerverwaltetes Notebook-Subnetz erstellen
Führen Sie in Cloud Shell die folgenden 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 in der Anleitung zum Herunterladen von Notebook-Softwarepaketen verwendet, da die nutzerverwaltete Notebookinstanz keine externe IP-Adresse hat. Cloud NAT bietet auch NAT-Funktionen für ausgehenden Traffic, was bedeutet, dass Internethosts keine Kommunikation mit einem nutzerverwalteten 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. Einrichtung lokaler VPCs
On-prem-vpc erstellen
Führen Sie in Cloud Shell die folgenden Schritte aus:
gcloud compute networks create on-prem-vpc --project=$projectid --subnet-mode=custom
nat-subnet erstellen
Führen Sie in Cloud Shell die folgenden Schritte aus:
gcloud compute networks subnets create nat-subnet --project=$projectid --range=192.168.10.0/28 --network=on-prem-vpc --region=us-central1
private-ip-subnet erstellen
Führen Sie in Cloud Shell die folgenden 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 zum Herunterladen von Softwarepaketen verwendet. Cloud NAT bietet auch NAT-Funktionen für ausgehenden Traffic, was bedeutet, dass Internethosts keine Kommunikation mit Computing-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), mit dem über den lokalen VPC-Server auf die Vertex API zugegriffen wird. Die PSC-IP-Adresse 100.100.10.10 wird in einem späteren Schritt vom Ziell-vpc-cloud-router-vpn als benutzerdefiniertes Router-Advertising beworben.
Von Cloud Shell
gcloud compute addresses create psc-ip \
--global \
--purpose=PRIVATE_SERVICE_CONNECT \
--addresses=100.100.10.10 \
--network=aiml-vpc
PSC-Endpunkt erstellen
Von 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
Von Cloud Shell
gcloud compute forwarding-rules list \
--filter target="(all-apis OR vpc-sc)" --global
Konfigurierte Private Service Connect-Endpunkte beschreiben
Von 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 Ihrem Peer-Netzwerk mithilfe des Border Gateway Protocol (BGP) dynamisch austauschen können.
Cloud Router kann eine BGP-Sitzung über einen Cloud VPN-Tunnel einrichten, um Ihre Netzwerke zu verbinden. Er erkennt automatisch neue Subnetz-IP-Adressbereiche und kündigt sie 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 eines Gateways werden automatisch zwei externe IPv4-Adressen zugewiesen, eine für jede Gateway-Schnittstelle.
Erstellen Sie in Cloud Shell das HA VPN-Gateway.
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 eines 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 in Cloud Shell das HA VPN-Gateway.
gcloud compute vpn-gateways create on-prem-vpn-gw \
--network=on-prem-vpc\
--region=us-central1
HA VPN-Gateway-Erstellung validieren
Gehen Sie in der Console zu HYBRID-KONNEKTIVITÄT → VPN → CLOUD VPN GATEWAYS und prüfen Sie, ob die Gateway-IPs generiert werden.
Cloud Router für targetl-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 Ziell-vpc erstellen
Sie erstellen zwei VPN-Tunnel auf jedem HA VPN-Gateway.
VPN-Tunnel erstellen0
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 erstellen1
Erstellen Sie in Cloud Shell "tunnel1":
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-Tunnel erstellen0
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 erstellen1
Erstellen Sie in Cloud Shell "tunnel1":
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
VPN-Tunnelerstellung validieren
Gehen Sie in der Console zu HYBRID-KONNEKTIVITÄT → VPN → CLOUD VPN-TUNNELS.
8. BGP-Nachbarn einrichten
BGP-Sitzungen erstellen
In diesem Abschnitt konfigurieren Sie Cloud Router-Schnittstellen und BGP-Peers.
BGP-Schnittstelle und Peering für Ziell-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
Gehen Sie zu Hybridkonnektivität → VPN, um die Details zum VPN-Tunnel aufzurufen.
Erkannte Ziel-vpc-Routen über HA VPN validieren
Gehen Sie in der Console zu VPC-Netzwerk → VPC-Netzwerke → Ziell-vpc→ ROUTES → REGION → US-CENTRAL1 → VIEW.
Beobachten, ob "targetl-vpc" Routen aus "on-prem-vpc nat-subnet" und "private-ip-subnet" erkannt hat
Prüfen, ob „on-prem-vpc“ das Workbench-Subnetz über HA-VPN gelernt hat
Gehen Sie in der Console zu VPC-Netzwerk → VPC-Netzwerke → On-prem-vpc → ROUTES → REGION → US-CENTRAL1 → VIEW.
9. Benutzerdefiniertes Routen-Advertising erstellen
Die IP-Adresse des Private Service Connect-Endpunkts wird nicht automatisch vom Cloud Router Ziell-cr-us-central1 beworben, da das Subnetz nicht in der VPC konfiguriert ist.
Stattdessen müssen Sie ein benutzerdefiniertes Route Advertising vom Cloud Router Ziell-cr-us-central für die Endpunkt-IP-Adresse 100.100.10.10 erstellen, die über BGP in der lokalen Umgebung beworben wird.
Gehen Sie in der Konsole zu HYBRID-KONNEKTIVITÄT → CLOUD-ROUTER → Ziell-cr-us-central1 und wählen Sie BEARBEITEN aus.
Wählen Sie im Abschnitt „Beworbene Routen“ die Option Benutzerdefinierte Routen erstellen aus und aktualisieren Sie die Felder anhand des Beispiels unten, wählen Sie FERTIG aus und klicken Sie dann auf SPEICHERN.
Validation
Prüfen, ob „on-prem-vpc“ die IP-Adresse des PSC-Endpunkts über HA-VPN erkannt hat
Gehen Sie in der Console zu VPC-Netzwerk → VPC-Netzwerke → On-prem-vpc → ROUTES → REGION → US-CENTRAL1 → VIEW.
10. Benutzerdefiniertes Routen-Advertising erstellen (on-prem-vpc)
Der Cloud Router „on-prem-vpc“ bietet standardmäßig alle Subnetze an, aber nur das Subnetz „private-ip-subnet“ wird benötigt.
Aktualisieren Sie im folgenden Abschnitt das Routen-Advertising vom Cloud Router „on-prem-cr-us-central1“.
Gehen Sie in der Console zu HYBRID-KONNEKTIVITÄT → CLOUD-ROUTER → on-prem-cr-us-central1 und wählen Sie BEARBEITEN aus.
Wählen Sie im Abschnitt „Beworbene Routen“ die Option Benutzerdefinierte Routen erstellen aus und aktualisieren Sie die Felder anhand des Beispiels unten, wählen Sie FERTIG aus und klicken Sie dann auf SPEICHERN.
Validation
Prüfen Sie, ob „targetl-vpc“ die Route „private-ip-subnet“ aus dem On-Prem-vpc erkannt hat.
Gehen Sie in der Console zu VPC-Netzwerk → VPC-Netzwerke → Ziell-vpc → ROUTES → REGION → US-CENTRAL1 → VIEW.
11. Nutzerverwaltetes Dienstkonto erstellen (GCE-Instanzen)
Um die Vertex API im Detail zu steuern, ist ein vom Nutzer verwaltetes Dienstkonto erforderlich, das auf die Instanz „nat“ und die privaten Clientinstanzen angewendet wird. Nachdem die Dienstkontoberechtigungen erstellt wurden, können sie je nach Geschäftsanforderungen geändert werden. In dieser Anleitung werden dem vom Nutzer verwalteten Dienstkonto Vertex-sa die folgenden Rollen angewendet:
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 in Cloud Shell das Dienstkonto 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 in Cloud Shell das Dienstkonto 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 vom Nutzer verwaltetes Dienstkonto, das mit dem in der Anleitung verwendeten Vertex Workbench (Notebook) verknüpft wird.
In 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 in Cloud Shell das Dienstkonto mit der Rolle „Storage Admin“.
gcloud projects add-iam-policy-binding $projectid --member="serviceAccount:user-managed-notebook-sa@$projectid.iam.gserviceaccount.com" --role="roles/storage.admin"
Aktualisieren Sie in Cloud Shell das Dienstkonto 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 in Cloud Shell das Dienstkonto 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. Die Testinstanzen wurden erstellt.
Im folgenden Abschnitt erstellen Sie Testinstanzen, um verschiedene Methoden zum Erreichen von Vertex APIs zu validieren:
- Die Instanz
nat-client,
verwendet Cloud NAT zur Auflösung von Vertex AI und greift damit über das Internet auf den Endpunkt für die Onlinevorhersage zu - Die Instanz
private-client
verwendet die Private Service Connect-IP-Adresse 100.100.10.10, um über HA-VPN auf den Endpunkt der Onlinevorhersage zuzugreifen.
Erstellen Sie in Cloud Shell die Instanz nat-client
.
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 in Cloud Shell die Instanz private-client
.
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 mit 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, das das zuvor erstellte Dienstkonto „user-managed-notebook-sa“ enthält.
Erstellen Sie in Cloud Shell die Instanz des privaten Clients.
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 und Onlinevorhersage bereitstellen
Verwenden Sie im folgenden Abschnitt das bereitgestellte Codelab:Vertex AI:Benutzerdefinierte Vorhersageroutinen mit Sklearn verwenden, um Daten für Vorhersagen vorzuverarbeiten und zu posten. Beginnen Sie 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 validieren
Im folgenden Abschnitt melden Sie sich bei der Instanz „nat-client“ an und validieren die Konnektivität zu Vertex AI mithilfe von dig und tcpdump für die Domain us-central1-aiplatform.googleapis.com, die zur Auflösung von Vertex APIs verwendet wird.
Melden Sie sich mit IAP in Cloud Shell bei nat-client an, um die Konnektivität zur Vertex API zu prüfen. Führen Sie dazu eine Dig-Funktion 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 die dig.
dig us-central1-aiplatform.googleapis.com
Notieren Sie sich zum Beispiel 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 im nat-client-Betriebssystem 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 „+“ klicken. Sobald der neue Tab geöffnet ist, aktualisieren Sie 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
Führen Sie in Cloud Shell 2 eine SSH-Verbindung zur Instanz „nat-client“ aus.
gcloud compute ssh --zone "us-central1-a" "nat-client" --project "$projectid"
Im folgenden Abschnitt erstellen Sie mit dem sudo VI-Editor oder mit Nano eine „instances.json“-Datei und fügen den Datenstring ein, der verwendet wird, um eine Vorhersage aus dem bereitgestellten Modell zu erhalten.
Erstellen Sie im nat-client-Betriebssystem ein 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 aus der Cloud Console Ihre Endpunkt-ID für die Onlinevorhersage ab, die in den nachfolgenden Schritten verwendet wird.
Gehen Sie zu VERTEX AI → ONLINE PROGNOSE.
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 im Betriebssystem nat-client 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
Notieren Sie sich zum Beispiel die erfolgreiche Vorhersage.
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 Vertex API
Nachdem Sie die Vorhersage ausgeführt haben, werfen wir einen Blick auf die TCPDUMP-Ergebnisse (Terminal 1), die die nat-client-Instanz (192.168.10.2) angeben, die 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 angegeben:
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 mit Private Service Connect über ein Hybridnetzwerk (HA VPN) auf Vertex APIs zu, um die Onlinevorhersage privat zu erreichen. In dem Beispiel aus der Anleitung aktualisieren Sie die Datei „/etc/hosts“ in der Instanz des privaten Clients.
In Ihrer lokalen Umgebung ist es sinnvoll, eine oder mehrere /etc/hosts-Maschinendatei zum Testen zu aktualisieren. In großen Umgebungen und Produktionsumgebungen sollten Sie jedoch eine neue Weiterleitungszone mit dem FQDN des PSC-Endpunkts erstellen.
Der in der Anleitung erstellte psc-Endpunkt heißt beispielsweise pscvertex. Dies entspricht pscvertex.p.googleapis.com. Wenn Sie den Endpunkt für Vertex verwenden, hängen Sie den FQDN mit dem Dienst an, z. B. us-central1-aiplatform-pscvertex.p.googleapis.com.
Zum Aktualisieren des lokalen DNS mit dem PSC-Endpunkt müssen auch die lokalen Anwendungen so refaktoriert werden, dass die FDQN aufgerufen wird, 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 die p.googleapis.com-DNS-Namen verwenden, um Anfragen an einen Endpunkt zu senden.
Informationen zur Konfiguration für die Verwendung benutzerdefinierter Endpunkte finden Sie in der Dokumentation zu Ihrer Client- oder Clientbibliothek. Beispiel:
- Python: Sie können api_endpoint in der Klasse der Clientoptionen im Paket "google-api-core" konfigurieren.
- Go: Sie können WithEndpoint im Client options Package im API-Paket konfigurieren.
- gcloud: Sie können api_endpoint_overrides konfigurieren
Öffnen Sie ein neues Cloud Shell-Terminal, indem Sie auf „+“ klicken. Sobald der neue Tab geöffnet ist, aktualisieren Sie 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 beim privaten Client an, um die Konnektivität zur Vertex API zu prüfen. Führen Sie dazu eine Dig-Funktion für die Vertex-Domain us-central1-aiplatform.googleapis.com aus.
Melden Sie sich über Cloud Shell bei der Instanz des privaten Client-Betriebssystems an.
gcloud compute ssh private-client --project=$projectid --zone=us-central1-a --tunnel-through-iap
Führen Sie die dig.
dig us-central1-aiplatform.googleapis.com
Notieren Sie sich zum Beispiel die öffentlichen IP-Adressen, die auf der DNS-Antwort basieren.
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 Private-Client-Instanz /etc/hosts mit dem sudo VI Editor oder Nano, um einen Eintrag vom Vertext AI FQDN 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 im Betriebssystem des privaten Clients einen PING zum 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 im Betriebssystem des privaten Clients „tcpdump“ aus, um die DNS-Auflösung und den IP-Datenpfad zum PSC-Endpunkt zu validieren, wenn Sie einen curl-Befehl 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 „+“ klicken. Sobald der neue Tab geöffnet ist, aktualisieren Sie 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
Führen Sie in Cloud Shell vier eine SSH-Verbindung zur Instanz des privaten Clients durch.
gcloud compute ssh --zone "us-central1-a" "private-client" --project "$projectid"
Im folgenden Abschnitt erstellen Sie mit dem sudo VI-Editor oder mit Nano eine „instances.json“-Datei und fügen den Datenstring ein, der verwendet wird, um eine Vorhersage aus dem bereitgestellten Modell zu erhalten.
Erstellen Sie im Betriebssystem des privaten Clients ein 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 Betriebssystem des privaten Clients 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 Private-Client-Betriebssystem in Cloud Shell vier 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
Im Betriebssystem des privaten Clients in Cloud Shell vier wurde für den Zugriff auf die Vertex API die IP-Adresse des PSC-Endpunkts (100.100.10.10) verwendet.
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 drei können wir überprüfen, ob ein DNS-Lookup nach us-central1-aiplatform.googleapis.com nicht beobachtet wurde, da die Datei /etc/host Vorrang hatte, aber 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 die Verbindung zur Onlinevorhersage über einen öffentlichen Endpunkt über das Internet und privat mit einem Hybridnetzwerk und Private Service Connect (googleapis) validiert. Schließen Sie das Betriebssystem, wenn Sie zur Cloud Shell-Eingabeaufforderung zurückkehren.
20. Bereinigen
Löschen Sie in Cloud Shell die Komponenten der Anleitung.
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
Rufen Sie Artifact Registry auf, wählen Sie das erstellte Repository und dann Löschen aus, um das Container-Image zu löschen.
Wenn Sie den Storage-Bucket löschen möchten, gehen Sie über das Navigationsmenü in der Cloud Console zu „Storage“, wählen Sie den Bucket aus und klicken Sie auf Löschen:
Heben Sie die Bereitstellung des Modells auf dem Endpunkt auf. Gehen Sie zu Vertex AI → Onlinevorhersage → Wählen Sie „diamonds-cpr_endpoint“ → „Bereitstellung des Modells vom Endpunkt aufheben“ → „Bereitstellung aufheben“ aus
Löschen Sie das Modell. Gehen Sie zu Vertex AI → Model Registry → Delete Model
Löschen Sie den Endpunkt der Onlinevorhersage. Gehen Sie zu VertexAI → Onlinevorhersagen → Wählen Sie „diamonds-cpr_endpoint“ → „Endpunkt löschen“ aus
21. Glückwunsch
Herzlichen Glückwunsch! Sie haben die native Verbindung zur Onlinevorhersage über das Internet und privat mit Private Service Connect und Hybridnetzwerken konfiguriert und validiert.
Sie haben einen NAT-Client und einen Private-Client erstellt und TCPDUMP verwendet, um IP-Adressen zu validieren, über die die Vertex APIs erreicht werden. Außerdem haben Sie mehr über Private Service Connect (googleapis) erfahren und wie Sie damit lokale und Multi-Cloud-Anwendungen isolieren können, indem Sie einen PSC-Endpunkt eines Kunden nutzen.
Cosmopup findet die Anleitungen super!
Was liegt als Nächstes an?
Sehen Sie sich einige dieser Anleitungen an...
Weitere Informationen und Videos
- Private Service Connect – Übersicht
- Was ist Private Service Connect?
- Vorhersagen aus einem ML-Modell erhalten
- Was ist Vertex AI?