Proxy esplicito PSC di Agent Engine

1. Introduzione

Un'interfaccia Private Service Connect è una risorsa che consente a una rete Virtual Private Cloud (VPC) producer di avviare connessioni a varie destinazioni in una rete VPC consumer. Le reti producer e consumer possono trovarsi in progetti e organizzazioni diversi.

Se un collegamento di rete accetta una connessione da un'interfaccia Private Service Connect, Google Cloud assegna all'interfaccia un indirizzo IP da una subnet consumer specificata dal collegamento di rete. Le reti consumer e producer sono connesse e possono comunicare utilizzando indirizzi IP interni.

Una connessione tra un collegamento di rete e un'interfaccia Private Service Connect è simile alla connessione tra un endpoint Private Service Connect e un collegamento al servizio, ma presenta due differenze fondamentali:

  • Un collegamento di rete consente a una rete producer di avviare connessioni a una rete consumer (uscita del servizio gestito), mentre un endpoint consente a una rete consumer di avviare connessioni a una rete producer (ingresso del servizio gestito).
  • Una connessione di interfaccia Private Service Connect è transitiva. Ciò significa che una rete producer può comunicare con altre reti connesse alla rete consumer.

Considerazioni sull'accessibilità dell'interfaccia PSC di Vertex AI

  • L'interfaccia PSC è in grado di instradare il traffico verso destinazioni VPC o on-premise all'interno del blocco di indirizzi RFC1918.
  • Il targeting dell'interfaccia PSC di blocchi di indirizzi non RFC-1918 richiede un proxy esplicito di cui è stato eseguito il deployment nel VPC del consumer con un indirizzo RFC-1918. All'interno del deployment di Vertex AI, il proxy deve essere definito insieme a un FQDN dell'endpoint di destinazione.
  • Quando configuri il deployment con una sola interfaccia PSC, questa mantiene l'accesso a internet predefinito. Questo traffico in uscita esce direttamente dalla rete tenant sicura e gestita da Google.

Considerazioni su Vertex AI PSC-Interface VPC-SC

  • Quando il tuo progetto fa parte di un perimetro dei Controlli di servizio VPC, l'accesso a internet predefinito dei tenant gestiti da Google viene bloccato dal perimetro per impedire l'esfiltrazione di dati.
  • Per consentire l'accesso al deployment a internet pubblico in questo scenario, devi configurare esplicitamente un percorso di uscita sicuro che indirizzi il traffico tramite il VPC.
  • Il modo consigliato per farlo è configurare un server proxy all'interno del perimetro VPC con un indirizzo RFC1918 e creare un gateway Cloud NAT per consentire alla VM proxy di accedere a internet.

Per ulteriori informazioni, consulta le seguenti risorse:

Esegui il deployment di un agente | AI generativa su Vertex AI | Google Cloud

Configura un'interfaccia Private Service Connect per le risorse Vertex AI | Google Cloud

Cosa creerai

In questo tutorial, creerai un Agent Engine completo di cui è stato eseguito il deployment con l'interfaccia Private Service Connect (PSC) per consentire la connettività a un sito pubblico (https://api.frankfurter.app/) tramite una VM proxy di cui è stato eseguito il deployment nel VPC del consumer con un indirizzo RFC1918. L'esempio di deployment è applicabile in un progetto abilitato per VPC-SC o per gli amministratori che richiedono l'uscita da internet tramite la rete dei clienti anziché il VPC tenant.

Figura 1

f42f2db921f6d5af.png

Creerai un singolo psc-network-attachment nel VPC consumer sfruttando il peering DNS per risolvere la VM proxy della rete consumer nel progetto tenant che ospita Agent Engine, il che comporta i seguenti casi d'uso:

Esegui il deployment di Agent Engine e configura una VM proxy in modo che funga da proxy esplicito, consentendole di raggiungere un URL pubblico https://api.frankfurter.app

Cosa imparerai a fare

  • Come creare un collegamento di rete
  • Come un producer può utilizzare un collegamento di rete per creare un'interfaccia PSC
  • Come stabilire la comunicazione dal producer al consumer utilizzando il peering DNS
  • Come eseguire il deployment e utilizzare una VM proxy per l'uscita da internet

Che cosa ti serve

Progetto Google Cloud

Autorizzazioni IAM

2. Prima di iniziare

Aggiornare il progetto per supportare il tutorial

Questo tutorial utilizza le variabili $per facilitare l'implementazione della configurazione di gcloud in Cloud Shell.

In Cloud Shell, esegui le seguenti operazioni:

gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectid=YOUR-PROJECT-NAME
echo $projectid

Abilitazione delle API

In Cloud Shell, esegui le seguenti operazioni:

gcloud services enable "compute.googleapis.com"
gcloud services enable "aiplatform.googleapis.com"
gcloud services enable "dns.googleapis.com"
gcloud services enable "notebooks.googleapis.com"
gcloud services enable "storage.googleapis.com"
gcloud services enable "iap.googleapis.com"

Verifica che le API siano state abilitate correttamente

gcloud services list --enabled

3. Configurazione consumatore

Crea il VPC consumer

Questo VPC si trova in un progetto cliente. In questo VPC verranno create le seguenti risorse

  • Subnet consumer
  • Subnet del collegamento di rete
  • Router Cloud (obbligatorio per Cloud NAT)
  • Cloud NAT

In Cloud Shell, esegui le seguenti operazioni:

gcloud compute networks create consumer-vpc --project=$projectid --subnet-mode=custom

Crea le subnet consumer

In Cloud Shell, crea la subnet per la VM proxy:

gcloud compute networks subnets create rfc1918-subnet1 --project=$projectid --range=10.10.10.0/28 --network=consumer-vpc --region=us-central1

Crea la subnet del collegamento di rete Private Service Connect

In Cloud Shell, crea la subnet per il collegamento di rete PSC:

gcloud compute networks subnets create intf-subnet --project=$projectid --range=192.168.10.0/28 --network=consumer-vpc --region=us-central1

Configurazione di router Cloud e NAT

In questo tutorial, Cloud NAT viene utilizzato per fornire l'accesso a internet alla VM proxy, che non ha un indirizzo IP pubblico. Cloud NAT consente alle VM con solo indirizzi IP privati di connettersi a internet, consentendo loro di eseguire attività come l'installazione di pacchetti software.

In Cloud Shell, crea il router Cloud.

gcloud compute routers create cloud-router-for-nat --network consumer-vpc --region us-central1

In Cloud Shell, crea il gateway NAT con il logging abilitato. Utilizzeremo la registrazione per convalidare l'accesso all'IP pubblico per l'API Frankfurter (https://api.frankfurter.app/).

gcloud compute routers nats create cloud-nat-us-central1 --router=cloud-router-for-nat --auto-allocate-nat-external-ips --nat-all-subnet-ip