Gli host on-premise possono raggiungere Agent Platform tramite internet pubblico o privatamente tramite un'architettura di rete ibrida che utilizza Private Service Connect (PSC) su Cloud VPN o Cloud Interconnect. Entrambe le opzioni offrono la crittografia SSL/TLS. Tuttavia, l'opzione privata offre prestazioni molto migliori ed è quindi consigliata per le applicazioni critiche.
In questo tutorial, utilizzi la VPN ad alta disponibilità (HA VPN) per accedere alla piattaforma dell'agente sia pubblicamente, tramite Cloud NAT, sia privatamente, tra due reti Virtual Private Cloud (VPC) che possono fungere da base per la connettività privata multi-cloud e on-premise.
Questo tutorial è rivolto ad amministratori di rete aziendali, data scientist e ricercatori che hanno familiarità con Gemini Enterprise Agent Platform, VPC, la console Cloud de Confiance e Cloud Shell. La familiarità con Agent Platform è utile, ma non obbligatoria.
Obiettivi
- Crea due reti VPC, come mostrato nel diagramma
precedente:
- Uno (
onprem-vpc) rappresenta una rete on-premise. - L'altro (
vertex-networking-vpc) serve per accedere all'API REST per Agent Platform.
- Uno (
- Esegui il deployment di gateway VPN ad alta affidabilità, tunnel Cloud VPN e router Cloud per connettere
vertex-networking-vpceonprem-vpc. - Crea un endpoint Private Service Connect (PSC) per inoltrare le richieste all'API REST GenAI.
- Configura una route annunciata personalizzata del router Cloud in
vertex-networking-vpcper annunciare le route per l'endpoint Private Service Connect aonprem-vpc. - Crea un'istanza VM di Compute Engine in
onprem-vpcper rappresentare un'applicazione client che invia richieste all'API REST GenAI tramite VPN ad alta affidabilità.
Costi
In questo documento vengono utilizzati i seguenti componenti fatturabili di Cloud de Confiance by S3NS:
- Artifact Registry
- Cloud NAT
- Cloud Storage
- Cloud VPN
- Compute Engine
- Gemini Enterprise Agent Platform
- Virtual Private Cloud
Al termine delle attività descritte in questo documento, puoi evitare l'addebito di ulteriori costi eliminando le risorse che hai creato. Per saperne di più, consulta Esegui la pulizia.
Prima di iniziare
-
Nella console Cloud de Confiance , vai alla pagina di selezione del progetto.
-
Seleziona o crea un Cloud de Confiance progetto.
Ruoli richiesti per selezionare o creare un progetto
- Seleziona un progetto: la selezione di un progetto non richiede un ruolo IAM specifico. Puoi selezionare qualsiasi progetto per il quale ti è stato concesso un ruolo.
-
Crea un progetto: per creare un progetto, devi disporre del ruolo Autore progetto
(
roles/resourcemanager.projectCreator), che contiene l'autorizzazioneresourcemanager.projects.create. Scopri come concedere i ruoli.
-
Verifica che la fatturazione sia attivata per il tuo progetto Cloud de Confiance .
- Se non sei il proprietario del progetto, devi chiedere al proprietario del progetto di concederti il ruolo IAM
roles/resourcemanager.projectIamAdmin. Devi disporre di questo ruolo per concedere ruoli e autorizzazioni IAM a te stesso e ai service account. - Apri Cloud Shell per eseguire i comandi elencati in questo tutorial. Cloud Shell è un ambiente shell interattivo per Cloud de Confiance che ti consente di gestire progetti e risorse dal browser web.
- In Cloud Shell, imposta il progetto corrente sul tuo
Cloud de Confiance by S3NS ID progetto e memorizza lo stesso
ID progetto nella variabile di shell
projectid: Sostituisci PROJECT_ID con l'ID progetto. Se necessario, puoi trovare l'ID progetto nella console Cloud de Confiance . Per saperne di più, consulta la sezione Trovare l'ID progetto.projectid="PROJECT_ID" gcloud config set project ${projectid} -
Concedi ruoli al tuo account utente. Esegui il seguente comando una volta per ciascuno dei seguenti ruoli IAM:
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.usergcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
Sostituisci quanto segue:
PROJECT_ID: il tuo ID progetto.USER_IDENTIFIER: l'identificatore del tuo account utente account. Per esempi, vedi Rappresenta gli utenti del pool di forza lavoro nelle policy IAM.ROLE: il ruolo IAM che concedi al tuo account utente.
Abilita le API DNS, IAM, Compute Engine, Service Usage e Agent Platform, se non sono già abilitate:
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre dell'autorizzazione
serviceusage.services.enable. Se hai creato il progetto, probabilmente disponi già di questa autorizzazione tramite il ruolo Proprietario (roles/owner). In caso contrario, puoi ottenere questa autorizzazione tramite il ruolo Amministratore utilizzo dei servizi (roles/serviceusage.serviceUsageAdmin). Scopri come concedere i ruoli.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, crei due reti VPC: una per fungere da rete principale per l'accesso all'API Gemini Enterprise Agent Platform di AI generativa (nota anche come AI generativa) e l'altra 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 customCrea la rete VPC per simulare la rete on-premise (
onprem-vpc):gcloud compute networks create onprem-vpc --subnet-mode customNella 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-central1Nella console Cloud de Confiance , vai alla scheda Reti nel progetto attuale nella pagina Rete VPC.
Nell'elenco delle reti VPC, verifica che siano state create le due reti:
vertex-networking-vpceonprem-vpc.Nella pagina Rete VPC, fai clic sulla scheda Subnet nel progetto attuale.
Nell'elenco delle subnet VPC, verifica che la subnet
onprem-vpc-subnet1sia stata creata nella reteonprem-vpc.
Configura la connettività ibrida
In questa sezione, crei due gateway VPN ad alta disponibilità affidabilità connessi tra loro. Una si trova nella rete VPC vertex-networking-vpc. L'altro si trova nella rete VPC onprem-vpc.
Ogni gateway contiene un router Cloud e una coppia di tunnel VPN.
Crea i gateway VPN ad alta disponibilità affidabilità
In Cloud Shell, crea il gateway VPN ad alta disponibilità per la rete VPC
vertex-networking-vpc:gcloud compute vpn-gateways create vertex-networking-vpn-gw1 \ --network vertex-networking-vpc \ --region us-central1Crea il gateway VPN ad alta disponibilità per la rete VPC
onprem-vpc:gcloud compute vpn-gateways create onprem-vpn-gw1 \ --network onprem-vpc \ --region us-central1Nella console Cloud de Confiance , vai alla scheda Gateway Cloud VPN nella pagina VPN.
Nell'elenco dei gateway VPN, verifica che siano stati creati i due gateway (
vertex-networking-vpn-gw1eonprem-vpn-gw1) e che ognuno abbia due indirizzi IP.
Creazione di router Cloud
In Cloud Shell, crea un router Cloud per la rete VPC
vertex-networking-vpc:gcloud compute routers create vertex-networking-vpc-router1 \ --region us-central1\ --network vertex-networking-vpc \ --asn 65001Crea 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 router Cloud
onprem-vpc-router1: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-central1Nella console Cloud de Confiance , vai alla pagina Router Cloud.
Nell'elenco dei router Cloud, verifica che siano stati creati
vertex-networking-vpc-router1eonprem-vpc-router1. Potresti dover aggiornare la scheda del browser della console Cloud de Confiance by S3NS per visualizzare i nuovi valori.Nell'elenco dei router Cloud, fai clic su
onprem-vpc-router1.Nella pagina Dettagli router, verifica che sia stato creato il
us-central-cloudnat-onpremgateway Cloud NAT.
Crea tunnel VPN
Nella rete
vertex-networking-vpc, crea un tunnel VPN chiamatovertex-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 0Nella rete
vertex-networking-vpc, crea un tunnel VPN chiamatovertex-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 1Nella 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 0Nella 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 1Nella console Cloud de Confiance , vai alla pagina VPN.
Nell'elenco dei tunnel VPN, verifica che siano stati creati i quattro tunnel VPN.
Definizione di sessioni BGP
Il router Cloud 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 router Cloud, 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
due per onprem-vpc.
Una volta configurate 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'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-central1Nella 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-central1Nella 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-central1Nella 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-central1Nella 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-central1Nella 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-central1Nella 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 Cloud de Confiance , vai alla pagina VPN.
Nell'elenco dei tunnel VPN, verifica che il valore nella colonna Stato sessione BGP per ciascun tunnel sia cambiato da Configura sessione BGP a BGP stabilito. Potresti dover aggiornare la scheda del browser della console Cloud de Confiance by S3NS per visualizzare i nuovi valori.
Crea l'endpoint Private Service Connect (PSC)
In questa sezione, crei un endpoint Private Service Connect (PSC)
per le API di Google che le istanze VM nella rete onprem-vpc utilizzeranno per
accedere all'API GenAI dalla tua rete onprem-vpc.
Un endpoint Private Service Connect (PSC) è un indirizzo IP interno nella rete onprem-vpc a cui i client in quella rete possono accedere direttamente. Questo endpoint viene creato eseguendo il deployment di una regola di forwarding
che indirizza il traffico di rete corrispondente all'indirizzo IP dell'endpoint PSC
a un bundle di API di Google: in particolare, il bundle
all-apis.
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-vpcCrea l'endpoint, insieme a una regola di forwarding che lo connette alle API di Google e ai servizi Google:
gcloud compute forwarding-rules create pscvertex \ --global \ --network=vertex-networking-vpc\ --address=psc-googleapi-ip \ --target-google-apis-bundle=all-apisElenca gli endpoint PSC configurati e verifica che sia stato creato l'endpoint
pscvertex:gcloud compute forwarding-rules list \ --filter target="(all-apis OR vpc-sc)" --globalRecupera 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, crei una route annunciata personalizzata per vertex-networking-vpc-router1 (il router Cloud per vertex-networking-vpc) per annunciare l'indirizzo IP dell'endpoint PSC alla rete onprem-vpc.
Nella console Cloud de Confiance , vai alla pagina Router Cloud.
Nell'elenco dei router Cloud, fai clic su
vertex-networking-vpc-router1.Nella pagina Dettagli router, fai clic su Modifica.
Nella sezione Route annunciate, per Route, seleziona Crea route personalizzate.
Seleziona la casella di controllo Annuncia tutte le subnet visibili al router Cloud per continuare ad annunciare le subnet disponibili per il router Cloud. L'attivazione di questa opzione riproduce il comportamento del router Cloud in modalità di annuncio 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.1Per Descrizione, inserisci il seguente testo:
Custom route to advertise Private Service Connect endpoint IP addressFai clic su Fine e poi su Salva.
Verifica che onprem-vpc abbia appreso le route annunciate
Nella console Cloud de Confiance , vai alla pagina Route.
Nella scheda Route operative, segui questi passaggi:
- In Rete, scegli
onprem-vpc. - In 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-tunnel0eonprem-vpc-router1-bgp-vfertex-networking-vpc-tunnel1e che entrambe abbiano un intervallo IP di destinazione di192.168.0.1/32. (192.168.0.1è l'indirizzo IP dell'endpoint PSC.)Se queste voci non vengono visualizzate immediatamente, attendi qualche minuto, quindi aggiorna la scheda del browser della console Cloud de Confiance by S3NS .
- In Rete, scegli
Configura un'istanza VM nella rete on-premise
In questa sezione, crei un'istanza VM di Compute Engine nella rete VPC
onprem-vpc. Questa istanza VM
simula un client on-premise che si connette all'endpoint PSC e
accede all'API GenAI.
Crea 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 i comandi seguenti, sostituendo PROJECT_ID con il tuo ID progetto:
projectid=PROJECT_ID gcloud config set project ${projectid}Crea l'account di servizio:
gcloud iam service-accounts create user-managed-saAssegna il ruolo IAM Utente di Agent Platform (
roles/aiplatform.user) al account di servizio:gcloud projects add-iam-policy-binding $projectid \ --member="serviceAccount:user-managed-sa@$projectid.s3ns.iam.gserviceaccount.com" \ --role="roles/aiplatform.user"
Crea l'istanza VM on-prem-client
In questo passaggio crei l'istanza VM, che utilizza l'indirizzo IP Private Service Connect (192.168.0.1) per accedere alle API di Google tramite VPN ad alta disponibilità affidabilità.
Per consentire a Identity-Aware Proxy (IAP) di connettersi alle tue istanze VM, crea una regola firewall che:
- Si applichi a tutte le istanze VM a cui vuoi accedere tramite IAP. In questo caso, è presente solo
on-prem-client. - Consente il traffico TCP tramite la porta 22 dall'intervallo IP
35.235.240.0/20. Questo intervallo contiene tutti gli indirizzi IP che IAP utilizza per l'inoltro TCP.
Crea l'istanza VM
on-prem-client. Il seguente comando installa anche i pacchettitcpdumpednsutils, che contengono le utilitàtcpdumpedigche utilizzerai in un secondo momento 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.s3ns.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
Convalidare l'accesso a internet pubblico ad Agent Platform
In questa sezione, accedi all'istanza VM on-prem-client utilizzando Identity-Aware Proxy, quindi convalidi la connettività pubblica alle API Agent Platform (inclusa GenAI) eseguendo il comando dig sul dominio pubblico di Gemini Enterprise Agent Platform (us-central1-aiplatform.googleapis.com).
In Cloud Shell (scheda 1), esegui i comandi seguenti, sostituendo PROJECT_ID con il tuo ID progetto:
projectid=PROJECT_ID gcloud config set project ${projectid}Accedi all'istanza VM
on-prem-clientutilizzando IAP:gcloud compute ssh on-prem-client --project=$projectid --zone=us-central1-a --tunnel-through-iapEsegui il comando
dig:dig us-central1-aiplatform.googleapis.comDovresti visualizzare un output
digsimile al seguente, in cui 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 ad Agent Platform
In questa sezione, configuri l'accesso privato ad Agent Platform in modo che, quando invii richieste all'endpoint del servizio pubblico (us-central1-aiplatform.googleapis.com), queste vengano reindirizzate al tuo 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 fa sì che le richieste
inviate all'endpoint del servizio pubblico (us-central1-aiplatform.googleapis.com)
vengano reindirizzate all'endpoint PSC (192.168.0.1).
Nell'istanza VM
on-prem-client(scheda 1), utilizza un editor di testo comevimonanoper aprire il file/etc/hosts:sudo vim /etc/hostsAggiungi la seguente riga al file:
192.168.0.1 us-central1-aiplatform.googleapis.comQuesta riga assegna l'indirizzo IP dell'endpoint PSC (
192.168.0.1) al nome di dominio completo per l'API Google di Gemini Enterprise Agent Platform (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 GoogleSalva il file come segue:
- Se utilizzi
vim, premi il tastoEsce poi digita:wqper salvare il file e uscire. - Se utilizzi
nano, digitaControl+Oe premiEnterper salvare il file, poi digitaControl+Xper uscire.
- Se utilizzi
Esegui il ping dell'endpoint Gemini Enterprise Agent Platform nel seguente modo:
ping us-central1-aiplatform.googleapis.comIl comando
pingdovrebbe 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+Cper uscire daping.Esegui il seguente comando
tcpdumpper convalidare 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 crei un file di testo denominato request.json che contiene il
payload per una richiesta curl di esempio che invii all'API REST GenAI.
Per saperne di più sulle richieste di esempio, vedi
Richiesta di esempio.
Mantenendo in esecuzione il comando
tcpdumpnella scheda 1, apri una nuova sessione di Cloud Shell (scheda 2) facendo clic su Apri una nuova scheda in Cloud Shell.Nella nuova sessione di Cloud Shell (scheda 2), esegui questi comandi, sostituendo PROJECT_ID con il tuo ID progetto:
projectid=PROJECT_ID gcloud config set project ${projectid}Accedi all'istanza VM
on-prem-clientutilizzando IAP:gcloud compute ssh on-prem-client --project=$projectid --zone=us-central1-a --tunnel-through-iapEsegui i seguenti comandi, sostituendo PROJECT_ID con il tuo ID progetto:
projectid=PROJECT_ID gcloud config set project ${projectid}Utilizza un editor di testo come
vimonanoper creare un nuovo file denominatorequest.jsoncontenente il seguente testo:{ "contents": [{ "role": "user", "parts": [{ "text": "Give me ten interview questions for the role of program manager." }] }] }Esegui il seguente comando per inviare una richiesta all'endpoint PSC, che inoltra la richiesta 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/gemini-2.0-flash-lite:generateContent"Dovresti visualizzare 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 l'indirizzo IP dell'endpoint PSC (
192.168.0.1) sia stato utilizzato per accedere alle API Agent Platform dall'istanza VMon-prem-client(subnet172.16.10.0/28).Dal terminale
tcpdumpnella scheda 1 di Cloud Shell, puoi notare che non è necessaria una ricerca DNS suus-central1-aiplatform.googleapis.com, perché la riga che hai aggiunto al file/etc/hostsha la precedenza e l'indirizzo IP dell'endpoint PSC (192.168.0.1) viene utilizzato nel percorso dei dati.Dovresti vedere un output di
tcpdumpsimile 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 Cloud de Confiance by S3NS vengano addebitati costi relativi alle risorse utilizzate in questo tutorial, elimina il progetto che contiene le risorse oppure mantieni il progetto ed elimina le singole risorse.
Puoi eliminare le singole risorse nel 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.s3ns.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
- Scopri di più sulle opzioni di rete aziendale per accedere a endpoint e servizi Agent Platform
- Scopri come Accedere ai servizi pubblicati tramite endpoint.
- Scopri come funziona Private Service Connect e perché offre vantaggi significativi in termini di prestazioni.
- Scopri di più sull'accesso alle API di Google tramite endpoint.
- Scopri come e perché
utilizzare una zona di forwarding DNS
anziché aggiornare il file
/etc/hostsin ambienti di produzione e su larga scala. - Scopri di più sulle route annunciate personalizzate.