Gli host on-premise possono raggiungere l'IA generativa su Vertex AI tramite internet pubblico o in privato tramite un'architettura di rete ibrida che utilizza Private Service Connect (PSC) su Cloud VPN o Cloud Interconnect. Entrambe le opzioni offrono SSL/TLS la crittografia. Tuttavia, l'opzione privata offre prestazioni molto migliori ed è quindi consigliata per le applicazioni critiche.
In questo tutorial utilizzi VPN ad alta disponibilità (VPN ad alta disponibilità) per accedere all'AI generativa su Vertex AI sia pubblicamente, tramite Cloud NAT; e in modo privato tra due reti Virtual Private Cloud (VPC) che possono servire da base per la connettività privata multi-cloud e on-premise.
Questo tutorial è rivolto agli amministratori di rete aziendali, scienziati e ricercatori che hanno familiarità con Vertex AI, VPC, la console Google Cloud e Cloud Shell. La familiarità con l'IA generativa su Vertex AI è utile, ma non obbligatoria.
Obiettivi
- Crea due reti VPC, come illustrato nell'esempio precedente
diagramma:
- Uno (
onprem-vpc
) rappresenta una rete on-premise. - L'altro (
vertex-networking-vpc
) è per accedere all'API REST per l'IA generativa su Vertex AI.
- Uno (
- Esegui il deployment di gateway VPN ad alta disponibilità, tunnel VPN Cloud e router Cloud per connettere
vertex-networking-vpc
eonprem-vpc
. - Crea un endpoint Private Service Connect (PSC) per l'inoltro richieste all'API REST GenAI.
- Configura una route annunciata personalizzata del router Cloud in
vertex-networking-vpc
per annunciare le route per l'endpoint Private Service Connect aonprem-vpc
. - Crea un'istanza VM di Compute Engine in
onprem-vpc
per rappresentare un'applicazione client che invia richieste all'API REST GenAI tramite VPN ad alta disponibilità.
Costi
In questo documento utilizzi i seguenti componenti fatturabili di Google Cloud:
Per generare una stima dei costi basata sull'utilizzo previsto,
utilizza il Calcolatore prezzi.
Una volta completate le attività descritte in questo documento, puoi evitare la fatturazione continua eliminando le risorse che hai creato. Per ulteriori informazioni, consulta la pagina Pulizia.
Prima di iniziare
-
In the Google Cloud console, go to the project selector page.
-
Select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
- Se non sei il proprietario del progetto, quest'ultimo deve concederti il ruolo IAM
roles/resourcemanager.projectIamAdmin
. Devi disporre di questo ruolo per concedere a te stesso e agli account di servizio i ruoli e le autorizzazioni IAM. - Apri Cloud Shell per eseguire i comandi elencati in questo tutorial. Cloud Shell è un ambiente shell interattivo per Google Cloud che ti consente di gestire progetti e risorse nel browser web.
- In Cloud Shell, imposta il progetto corrente sul tuo ID progetto Google Cloud e memorizza lo stesso ID progetto nella variabile shell
projectid
: Sostituisci PROJECT_ID con il tuo ID progetto. Se necessario, puoi Individua il tuo ID progetto nella console Google Cloud. Per ulteriori informazioni, vedi Trova il tuo ID progetto.projectid="PROJECT_ID" gcloud config set project ${projectid}
-
Grant roles to your user account. Run the following command once for each of the following IAM roles:
roles/compute.instanceAdmin.v1, roles/compute.networkAdmin, roles/compute.securityAdmin, roles/dns.admin, roles/iap.tunnelResourceAccessor, roles/iam.serviceAccountCreator, roles/iam.serviceAccountUser, roles/iam.serviceAccountDeleter, roles/resourcemanager.projectIamAdmin, roles/servicedirectory.editor, roles/servicemanagement.quotaAdmin, roles/aiplatform.user
gcloud projects add-iam-policy-binding PROJECT_ID --member="USER_IDENTIFIER" --role=ROLE
- Replace
PROJECT_ID
with your project ID. -
Replace
USER_IDENTIFIER
with the identifier for your user account. For example,user:myemail@example.com
. - Replace
ROLE
with each individual role.
- Replace
-
Enable the DNS, IAM, Compute Engine, Service Usage, and Vertex AI APIs:
gcloud services enable dns.googleapis.com
iam.googleapis.com compute.googleapis.com serviceusage.googleapis.com aiplatform.googleapis.com
Crea due reti VPC: vertex-networking-vpc
e onprem-vpc
In questa sezione, creerai due reti VPC: una per essere principale per accedere all'AI generativa di Vertex AI (nota anche come GenAI), e l'altro per simulare la rete on-premise.
crea le reti VPC
Crea la rete VPC per accedere all'API GenAI (
vertex-networking-vpc
):gcloud compute networks create vertex-networking-vpc --subnet-mode custom
Crea la rete VPC per simulare la rete on-premise (
onprem-vpc
):gcloud compute networks create onprem-vpc --subnet-mode custom
Nella rete
onprem-vpc
, crea una subnet denominataonprem-vpc-subnet1
con un intervallo IPv4 principale di172.16.10.0/24
:gcloud compute networks subnets create onprem-vpc-subnet1 \ --range 172.16.10.0/24 \ --network onprem-vpc \ --region us-central1
Nella console Google Cloud, vai alla scheda Reti nel progetto attuale in pagina Rete VPC.
Nell'elenco delle reti VPC, verifica che i due reti sono state create:
vertex-networking-vpc
eonprem-vpc
.Nella pagina Rete VPC, fai clic sulla scheda Subnet nel progetto corrente.
Nell'elenco delle subnet VPC, verifica che
onprem-vpc-subnet1
subnet è stata creata nella reteonprem-vpc
.
Configura la connettività ibrida
In questa sezione creerai due VPN ad alta disponibilità
collegati tra loro. Uno si trova nella rete VPCvertex-networking-vpc
. L'altro risiede
onprem-vpc
rete VPC.
Ogni gateway contiene un
un router Cloud e una coppia di tunnel VPN.
Crea i gateway VPN ad alta disponibilità
In Cloud Shell, crea il gateway VPN ad alta disponibilità
vertex-networking-vpc
rete VPC:gcloud compute vpn-gateways create vertex-networking-vpn-gw1 \ --network vertex-networking-vpc \ --region us-central1
Crea il gateway VPN ad alta disponibilità per
onprem-vpc
Rete VPC:gcloud compute vpn-gateways create onprem-vpn-gw1 \ --network onprem-vpc \ --region us-central1
Nella console Google Cloud, vai alla scheda Gateway VPN cloud nella pagina VPN.
Nell'elenco dei gateway VPN, verifica che i due gateway (
vertex-networking-vpn-gw1
eonprem-vpn-gw1
) sono stati creati e che ciascuno abbia due indirizzi IP.
Creazione di router Cloud
In Cloud Shell, crea un router Cloud per
vertex-networking-vpc
rete VPC:gcloud compute routers create vertex-networking-vpc-router1 \ --region us-central1\ --network vertex-networking-vpc \ --asn 65001
Crea un router cloud per la rete VPC
onprem-vpc
:gcloud compute routers create onprem-vpc-router1 \ --region us-central1\ --network onprem-vpc\ --asn 65002
Aggiungi un gateway Cloud NAT alla rete VPC onprem-vpc
In questo passaggio aggiungi un gateway Cloud NAT al router cloud per la rete VPC onprem-vpc
.
Un gateway Cloud NAT fornisce connettività in uscita per le istanze di macchine virtuali (VM) Compute Engine che non dispongono di indirizzi IP esterni.
In Cloud Shell, aggiungi un gateway Cloud NAT al
onprem-vpc-router1
router Cloud:gcloud compute routers nats create us-central-cloudnat-onprem \ --router=onprem-vpc-router1 \ --auto-allocate-nat-external-ips \ --nat-all-subnet-ip-ranges \ --region us-central1
Nella console Google Cloud, vai alla pagina Cloud Routers.
Nell'elenco dei router Cloud, verifica che
vertex-networking-vpc-router1
eonprem-vpc-router1
creati. Potresti dover aggiornare la scheda del browser della console Google Cloud per visualizzare i nuovi valori.Nell'elenco dei router Cloud, fai clic su
onprem-vpc-router1
.Nella pagina Dettagli router, verifica che il gateway Cloud NAT
us-central-cloudnat-onprem
sia stato creato.
Crea tunnel VPN
Nella rete
vertex-networking-vpc
, crea un tunnel VPN denominatovertex-networking-vpc-tunnel0
:gcloud compute vpn-tunnels create vertex-networking-vpc-tunnel0 \ --peer-gcp-gateway onprem-vpn-gw1 \ --region us-central1 \ --ike-version 2 \ --shared-secret [ZzTLxKL8fmRykwNDfCvEFIjmlYLhMucH] \ --router vertex-networking-vpc-router1 \ --vpn-gateway vertex-networking-vpn-gw1 \ --interface 0
Nella rete
vertex-networking-vpc
, crea un tunnel VPN denominatovertex-networking-vpc-tunnel1
:gcloud compute vpn-tunnels create vertex-networking-vpc-tunnel1 \ --peer-gcp-gateway onprem-vpn-gw1 \ --region us-central1 \ --ike-version 2 \ --shared-secret [bcyPaboPl8fSkXRmvONGJzWTrc6tRqY5] \ --router vertex-networking-vpc-router1 \ --vpn-gateway vertex-networking-vpn-gw1 \ --interface 1
Nella rete
onprem-vpc
, crea un tunnel VPN chiamatoonprem-vpc-tunnel0
:gcloud compute vpn-tunnels create onprem-vpc-tunnel0 \ --peer-gcp-gateway vertex-networking-vpn-gw1 \ --region us-central1\ --ike-version 2 \ --shared-secret [ZzTLxKL8fmRykwNDfCvEFIjmlYLhMucH] \ --router onprem-vpc-router1 \ --vpn-gateway onprem-vpn-gw1 \ --interface 0
Nella rete
onprem-vpc
, crea un tunnel VPN chiamatoonprem-vpc-tunnel1
:gcloud compute vpn-tunnels create onprem-vpc-tunnel1 \ --peer-gcp-gateway vertex-networking-vpn-gw1 \ --region us-central1\ --ike-version 2 \ --shared-secret [bcyPaboPl8fSkXRmvONGJzWTrc6tRqY5] \ --router onprem-vpc-router1 \ --vpn-gateway onprem-vpn-gw1 \ --interface 1
Nella console Google Cloud, vai alla pagina VPN.
Nell'elenco dei tunnel VPN, verifica che i quattro tunnel VPN siano stati è stato creato.
Definizione di sessioni BGP
Cloud Router utilizza il protocollo BGP (Border Gateway Protocol) per scambiare le route tra la tua rete VPC (in questo caso vertex-networking-vpc
) e la tua rete on-premise (rappresentata da onprem-vpc
). Su Cloud Router, devi configurare un'interfaccia e un peer BGP per il tuo router on-premise.
L'abbinamento dell'interfaccia e della configurazione peer BGP crea una sessione BGP.
In questa sezione, creerai due sessioni BGP per vertex-networking-vpc
e altre due per onprem-vpc
.
Dopo aver configurato le interfacce e i peer BGP tra i router, inizieranno automaticamente a scambiare le route.
Stabilisci sessioni BGP per vertex-networking-vpc
In Cloud Shell, nella rete
vertex-networking-vpc
, crea un'istanza Interfaccia BGP pervertex-networking-vpc-tunnel0
:gcloud compute routers add-interface vertex-networking-vpc-router1 \ --interface-name if-tunnel0-to-onprem \ --ip-address 169.254.0.1 \ --mask-length 30 \ --vpn-tunnel vertex-networking-vpc-tunnel0 \ --region us-central1
Nella rete
vertex-networking-vpc
, crea un peer BGP perbgp-onprem-tunnel0
:gcloud compute routers add-bgp-peer vertex-networking-vpc-router1 \ --peer-name bgp-onprem-tunnel0 \ --interface if-tunnel0-to-onprem \ --peer-ip-address 169.254.0.2 \ --peer-asn 65002 \ --region us-central1
Nella rete
vertex-networking-vpc
, crea un'interfaccia BGP pervertex-networking-vpc-tunnel1
:gcloud compute routers add-interface vertex-networking-vpc-router1 \ --interface-name if-tunnel1-to-onprem \ --ip-address 169.254.1.1 \ --mask-length 30 \ --vpn-tunnel vertex-networking-vpc-tunnel1 \ --region us-central1
Nella rete
vertex-networking-vpc
, crea un peer BGP perbgp-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
Stabilisci sessioni BGP per onprem-vpc
Nella rete
onprem-vpc
, crea un'interfaccia BGP peronprem-vpc-tunnel0
:gcloud compute routers add-interface onprem-vpc-router1 \ --interface-name if-tunnel0-to-vertex-networking-vpc \ --ip-address 169.254.0.2 \ --mask-length 30 \ --vpn-tunnel onprem-vpc-tunnel0 \ --region us-central1
Nella rete
onprem-vpc
, crea un peer BGP perbgp-vertex-networking-vpc-tunnel0
:gcloud compute routers add-bgp-peer onprem-vpc-router1 \ --peer-name bgp-vertex-networking-vpc-tunnel0 \ --interface if-tunnel0-to-vertex-networking-vpc \ --peer-ip-address 169.254.0.1 \ --peer-asn 65001 \ --region us-central1
Nella rete
onprem-vpc
, crea un'interfaccia BGP peronprem-vpc-tunnel1
:gcloud compute routers add-interface onprem-vpc-router1 \ --interface-name if-tunnel1-to-vertex-networking-vpc \ --ip-address 169.254.1.2 \ --mask-length 30 \ --vpn-tunnel onprem-vpc-tunnel1 \ --region us-central1
Nella rete
onprem-vpc
, crea un peer BGP perbgp-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
Convalida la creazione della sessione BGP
Nella console Google Cloud, vai alla pagina VPN.
Nell'elenco dei tunnel VPN, verifica che il valore nella colonna Stato sessione BGP per ogni tunnel sia passato da Configura sessione BGP a BGP stabilito. Potresti dover aggiornare la scheda del browser della console Google Cloud per visualizzare i nuovi valori.
Crea l'endpoint Private Service Connect (PSC)
In questa sezione, creerai un endpoint Private Service Connect (PSC)
per le API di Google che verranno usate dalle istanze VM nella rete onprem-vpc
accedi all'API GenAI dalla tua rete onprem-vpc
.
Un endpoint Private Service Connect (PSC) è un indirizzo IP interno
indirizzo nella rete onprem-vpc
a cui i client possono accedere direttamente
in quella rete. Questo endpoint viene creato eseguendo il deployment di una regola di forwarding
che indirizza il traffico di rete che corrisponde all'indirizzo IP dell'endpoint PSC
a un bundle di API di Google, nello specifico
all-apis
gruppo.
L'indirizzo IP dell'endpoint PSC (192.168.0.1
) verrà annunciato dal router Cloud vertex-networking-vpc-router
come route annunciata personalizzata alla rete onprem-vpc
in un passaggio successivo.
Prenota un indirizzo IP interno globale da assegnare all'endpoint:
gcloud compute addresses create psc-googleapi-ip \ --global \ --purpose=PRIVATE_SERVICE_CONNECT \ --addresses=192.168.0.1 \ --network=vertex-networking-vpc
Crea l'endpoint insieme a una regola di inoltro che lo colleghi alle API e ai servizi Google:
gcloud compute forwarding-rules create pscvertex \ --global \ --network=vertex-networking-vpc\ --address=psc-googleapi-ip \ --target-google-apis-bundle=all-apis
Elenca gli endpoint PSC configurati e verifica che l'endpoint
pscvertex
è stato creato:gcloud compute forwarding-rules list \ --filter target="(all-apis OR vpc-sc)" --global
Visualizza i dettagli dell'endpoint PSC configurato e verifica che l'indirizzo IP sia
192.168.0.1
:gcloud compute forwarding-rules describe \ pscvertex --global
Crea annunci di route personalizzati per vertex-networking-vpc
In questa sezione, creerai una
route personalizzata
per vertex-networking-vpc-router1
(il router Cloud
vertex-networking-vpc
) per pubblicizzare l'indirizzo IP dell'endpoint PSC
alla rete onprem-vpc
.
Nella console Google Cloud, vai alla pagina Router Cloud.
Nell'elenco Router Cloud, fai clic su
vertex-networking-vpc-router1
.Nella pagina Dettagli del router, fai clic su
Modifica.Nella sezione Route annunciate, per Route, seleziona Crea route personalizzate.
Seleziona la casella di controllo Pubblicizza tutte le subnet visibili al router Cloud per continuare a pubblicizzare le subnet disponibili per il router Cloud. L'abilitazione di questa opzione imita il comportamento del router Cloud in modalità pubblicitaria predefinita.
Fai clic su Aggiungi una route personalizzata.
In Origine, seleziona Intervallo IP personalizzato.
In Intervallo di indirizzi IP, inserisci il seguente indirizzo IP:
192.168.0.1
In Descrizione, inserisci il seguente testo:
Custom route to advertise Private Service Connect endpoint IP address
Fai clic su Fine e poi su Salva.
Verifica che onprem-vpc
abbia appreso le route annunciate
Nella console Google Cloud, vai alla pagina Route.
Nella scheda Route operative, segui questi passaggi:
- In corrispondenza di Rete, scegli
onprem-vpc
. - In corrispondenza di Regione, scegli
us-central1 (Iowa)
. - Fai clic su Visualizza.
Nell'elenco delle route, verifica che siano presenti voci i cui nomi iniziano con
onprem-vpc-router1-bgp-vertex-networking-vpc-tunnel0
eonprem-vpc-router1-bgp-vfertex-networking-vpc-tunnel1
ed entrambi il cui intervallo IP di destinazione è192.168.0.1/32
. (192.168.0.1
è l'indirizzo IP dell'endpoint PSC).Se queste voci non vengono visualizzate immediatamente, attendi qualche minuto e poi aggiorna la scheda del browser della console Google Cloud.
- In corrispondenza di Rete, scegli
Configura un'istanza VM nella rete on-premise
In questa sezione, creerai un'istanza VM di Compute Engine nella
onprem-vpc
rete VPC. Questa istanza VM
simula un client on-premise che si connette all'endpoint PSC
accede all'API GenAI.
Creare un account di servizio gestito dall'utente
In questo tutorial crei un account di servizio gestito dall'utente seguendo le best practice di Compute Engine e IAM.
In Cloud Shell, esegui seguenti comandi, sostituendo PROJECT_ID con ID progetto:
projectid=PROJECT_ID gcloud config set project ${projectid}
Crea l'account di servizio:
gcloud iam service-accounts create user-managed-sa
Assegna il parametro Utente Vertex AI (
roles/aiplatform.user
) ruolo IAM all'account di servizio:gcloud projects add-iam-policy-binding $projectid \ --member="serviceAccount:user-managed-sa@$projectid.iam.gserviceaccount.com" \ --role="roles/aiplatform.user"
Crea l'istanza VM on-prem-client
In questo passaggio creerai l'istanza VM, che utilizza
Indirizzo IP di Private Service Connect (192.168.0.1
) per accedere a Google
le API su VPN ad alta disponibilità.
Per consentire a Identity-Aware Proxy (IAP) di connettersi al tuo VM, devi creare una regola firewall che:
- Si applica a tutte le istanze VM che vuoi rendere accessibili
IAP. In questo caso, esiste solo
on-prem-client
. - Consente il traffico TCP attraverso la porta 22 dall'intervallo IP
35.235.240.0/20
. Questo intervallo contiene tutti gli indirizzi IP Utilizzi IAP per Inoltro TCP.
Crea l'istanza VM
on-prem-client
. Il seguente comando installa anche i pacchettitcpdump
ednsutils
, che contengono i valoritcpdump
edig
utilità che utilizzerai in seguito per convalidare le richieste API: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"
Crea una regola firewall IAP denominata
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
Convalida l'accesso a internet pubblico per l'AI generativa su Vertex AI
In questa sezione accederai all'istanza VM on-prem-client
utilizzando
Identity-Aware Proxy e poi convaliderai
la connettività alle API Vertex AI (inclusa l'IA generativa) eseguendo dig
contro il pubblico
Dominio Vertex AI (us-central1-aiplatform.googleapis.com
).
In Cloud Shell (Tab Uno), esegui seguenti comandi, sostituendo PROJECT_ID con ID progetto:
projectid=PROJECT_ID gcloud config set project ${projectid}
Accedi all'istanza VM
on-prem-client
utilizzando IAP:gcloud compute ssh on-prem-client --project=$projectid --zone=us-central1-a --tunnel-through-iap
Esegui il comando
dig
:dig us-central1-aiplatform.googleapis.com
Dovresti vedere un output
dig
simile al seguente, dove gli indirizzi IP nella sezione della risposta sono indirizzi IP pubblici:; <<>> 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
Configura e convalida l'accesso privato all'IA generativa su Vertex AI
In questa sezione configurerai l'accesso privato all'AI generativa su Vertex AI in modo che
che quando invii richieste all'endpoint di servizio pubblico
(us-central1-aiplatform.googleapis.com
), viene reindirizzato al tuo
l'endpoint PSC. L'endpoint PSC a sua volta inoltra la richiesta a
Aggiorna il file /etc/hosts
in modo che punti all'endpoint PSC
In questo passaggio, aggiungi una riga al file /etc/hosts
che indirizzi le richieste inviate all'endpoint del servizio pubblico (us-central1-aiplatform.googleapis.com
) all'endpoint PSC (192.168.0.1
).
Nell'istanza VM
on-prem-client
(scheda Uno), utilizza un editor di testo comevim
onano
per aprire il file/etc/hosts
:sudo vim /etc/hosts
Aggiungi la seguente riga al file:
192.168.0.1 us-central1-aiplatform.googleapis.com
Questa riga assegna l'indirizzo IP dell'endpoint PSC (
192.168.0.1
) al nome di dominio completo per l'API Google Vertex AI (us-central1-aiplatform.googleapis.com
).Il file modificato dovrebbe avere il seguente aspetto:
127.0.0.1 localhost ::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters 192.168.0.1 us-central1-aiplatform.googleapis.com # Added by you 172.16.10.6 on-prem-client.us-central1-a.c.vertex-genai-400103.internal on-prem-client # Added by Google 169.254.169.254 metadata.google.internal # Added by Google
Salva il file come segue:
- Se utilizzi
vim
, premi il tastoEsc
e poi digita:wq
per salvare il file ed uscire. - Se utilizzi
nano
, digitaControl+O
e premiEnter
per salvare il file, quindi digitaControl+X
per uscire.
- Se utilizzi
Invia un ping a Vertex AI come segue:
ping us-central1-aiplatform.googleapis.com
Il comando
ping
dovrebbe restituire il seguente output.192.168.0.1
è l'indirizzo IP dell'endpoint PSC:PING us-central1-aiplatform.googleapis.com (192.168.0.1) 56(84) bytes of data.
Digita
Control+C
per uscire daping
.Esegui il seguente comando
tcpdump
per verificare la risoluzione DNS e il percorso dei dati IP quando invii una richiesta di previsione online all'endpoint:sudo tcpdump -i any port 53 -n or host 192.168.0.1
Crea la richiesta privata
In questo passaggio creerai un file di testo denominato request.json
contenente il
payload per una richiesta curl
di esempio che invii all'API REST GenAI.
Per ulteriori informazioni sulle richieste di esempio, consulta la sezione Richiesta di esempio.
Mantenendo in esecuzione il comando
tcpdump
nella scheda 1, apri una nuova sessione Cloud Shell (scheda 2) facendo clic su Apri una nuova scheda in Cloud Shell.Nella nuova sessione Cloud Shell (scheda 2), esegui i seguenti comandi, sostituendo PROJECT_ID con l'ID progetto:
projectid=PROJECT_ID gcloud config set project ${projectid}
Accedi all'istanza VM
on-prem-client
utilizzando IAP:gcloud compute ssh on-prem-client --project=$projectid --zone=us-central1-a --tunnel-through-iap
Esegui i seguenti comandi, sostituendo PROJECT_ID con l'ID progetto:
projectid=PROJECT_ID gcloud config set project ${projectid}
Utilizza un editor di testo come
vim
onano
per creare una nuova file denominatorequest.json
contenente il seguente testo:{ "instances": [ { "prompt": "Give me ten interview questions for the role of program manager."} ], "parameters": { "temperature": 0.2, "maxOutputTokens": 256, "topK": 40, "topP": 0.95 } }
Esegui il seguente comando per inviare una richiesta all'endpoint PSC, che la inoltra all'API GenAI. Quando l'endpoint riceve la risposta, la inoltra alla VM
on-prem-client
:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://us-central1-aiplatform.googleapis.com/v1/projects/$projectid/locations/us-central1/publishers/google/models/text-bison:predict"
Dovresti vedere una risposta simile al seguente esempio:
{ "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 } } } }
Nella Scheda 1, verifica che PSC indirizzo IP dell'endpoint (
192.168.0.1
) utilizzato per accedere API Vertex AI dall'istanza VMon-prem-client
(subnet172.16.10.0/28
).Dal terminale
tcpdump
nella scheda uno di Cloud Shell, puoi vedere che una ricerca DNS perus-central1-aiplatform.googleapis.com
non è necessario, perché la riga che hai aggiunto al file/etc/hosts
ha la precedenza e l'indirizzo IP dell'endpoint PSC (192.168.0.1
) viene utilizzata nel percorso dati.Dovresti vedere un output
tcpdump
simile al seguente: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
Esegui la pulizia
Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate. In questo tutorial, elimina il progetto che contiene le risorse oppure mantenere il progetto ed eliminare Google Cloud.
Puoi eliminare le singole risorse del progetto eseguendo i seguenti comandi in Cloud Shell:
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
Passaggi successivi
- Informazioni su opzioni di networking aziendali per accedere agli endpoint e ai servizi Vertex AI
- Scopri come accedere ai servizi pubblicati tramite endpoint.
- Impara come funziona Private Service Connect e perché offre vantaggi significativi in termini di prestazioni.
- Scopri di più Informazioni sull'accesso alle API di Google tramite endpoint.
- Scopri come e perché
Utilizzare una zona di inoltro DNS
anziché aggiornare il file
/etc/hosts
su larga scala ambienti di produzione. - Scopri di più sui percorsi pubblicizzati personalizzati.