Configura la connettività da Vertex AI ad altre reti

Assicurati di avere familiarità con il materiale relativo ai peering VPC prima di leggere questa guida.

Per impostazione predefinita, la configurazione del peering consente alla rete Vertex AI connessa in peering di raggiungere solo gli endpoint nelle sottoreti locali. L'esportazione delle route personalizzate consente alla rete del produttore di raggiungere altre reti a cui la tua rete ha route statiche o dinamiche.

Poiché il peering transitivo non è supportato, le connessioni da Vertex AI non sono in grado di raggiungere gli endpoint in altre reti direttamente in peering con la tua rete, anche se è attiva l'opzione "Esporta route personalizzate". Nell'esempio mostrato nel diagramma seguente, i pacchetti possono attraversare la connessione di peering 1, ma non la connessione di peering 2.

Con il peering transitivo

Per consentire a Vertex AI di raggiungere la rete utente 2, sostituisci Connessione di peering 2 con VPN 2 come mostrato nel diagramma seguente.

Senza peering transitivo

L'abilitazione di route personalizzate nella connessione di peering 1 consente l'invio di pacchetti IP Vertex AI per raggiungere la rete utente 2.

Per consentire il reindirizzamento dei pacchetti di risposta dalla rete utente 2 alla rete Vertex AI, la route di ritorno deve esistere anche nella tabella di routing per la rete utente 2. Le route VPN vengono scambiate utilizzando il protocollo BGP (Border Gateway Protocol) sui router Cloud, possiamo personalizzare la configurazione BGP nell'utente 1 per pubblicizzare una route all'intervallo della rete Vertex AI di 10.1.0.0/16 alla rispettiva rete di utenti peer 2.

Tieni presente che puoi modificare entrambi i lati della configurazione BGP della VPN 1 per consentire la rete on-premise e la rete Vertex AI per apprendere le route tra loro. Poiché non c'è alcun tentativo di trasmettere i pacchetti del percorso di forwarding da Vertex AI né i pacchetti di risposta su connessioni di peering sequenziale rispetto alla rete su una singola rete, nessuno di questi tentativi di inoltro viene bloccato esplicitamente.

Configura la connettività da Vertex AI a internet

Se non viene specificata alcuna rete durante il lancio di un carico di lavoro, questo viene eseguito in un progetto di produzione gestito da Google distinto.

Se viene specificata una rete, il carico di lavoro viene eseguito in un progetto producer connesso in peering progetto consumer.

Per impostazione predefinita, la rete Vertex AI ha il proprio percorso per internet e la rete del produttore ha il proprio percorso predefinito per internet.

Per forzare il routing delle connessioni in uscita dalla rete del producer rete, puoi abilitare Controlli di servizio VPC per i peering. Tieni presente che si tratta di una configurazione separata Controlli di servizio VPC.

L'abilitazione dei Controlli di servizio VPC per i peering determina le seguenti modifiche al Rete Vertex AI:

  • Elimina la route internet predefinita.
  • Crea una route per la destinazione 199.36.153.4/30 con l'hop successivo del gateway internet predefinito.
  • Crea una zona privata gestita di Cloud DNS per *.googleapis.com con le app appropriate per mappare i nomi host a uno di questi quattro indirizzi.
  • Autorizza l'utilizzo di questa zona per la rete VPC servicenetworking.

Dopo aver apportato questa modifica, puoi esportare la route predefinita dalla tua rete per assicurarti che le connessioni in uscita a internet vengano instradate tramite la tua rete VPC. Questa modifica ti consente inoltre di applicare eventuali criteri necessari al traffico in uscita da Vertex AI.

Utilizzo dei Controlli di servizio VPC

Se è specificata una rete per il carico di lavoro e Controlli di servizio VPC è abilitato, il carico di lavoro viene eseguito in una rete producer connessa in peering con il consumer progetto ed è soggetto alle stesse politiche della rete del consumatore.

Se questi criteri bloccano il traffico in uscita, in modo analogo il carico di lavoro non sarà essere in grado di connettersi a internet. In questo caso, devi seguire i passaggi descritti nella sezione precedente per forzare il traffico in uscita dal carico di lavoro a passare attraverso un'istanza NAT nella rete VPC.

Configura la connettività da Vertex AI utilizzando i proxy

Un altro pattern per controllare l'IP in uscita da Vertex AI è per forzare le connessioni in uscita dai carichi di lavoro attraverso un proxy web che controllo. Ciò consente inoltre di verificare la conformità delle connessioni in uscita.

Tuttavia, l'utilizzo di un proxy di terze parti obbliga l'utente a gestire per i reclami relativi all'autenticazione. Inoltre, questi proxy potrebbero non proporre un elenco di suite di crittografia che si intersecano con le aspettative degli SDK e delle API Vertex AI.

Google Cloud ora offre un Secure Web Proxy per semplificare questo pattern. Ora puoi seguire la guida rapida Deployment di un'istanza di proxy web sicuro e adattare i carichi di lavoro per utilizzarli per le connessioni in uscita. Queste connessioni sembreranno provenire dall'indirizzo IP di origine del proxy.

Se la libreria KFP non è già installata nell'immagine del componente, la pipeline tenta di installarla prima di eseguire qualsiasi codice in cui potresti aver specificato un proxy.

Se la pipeline dipende dal proxy per installare i pacchetti da internet, questo tentativo non andrà a buon fine e potresti visualizzare un errore simile al seguente:

Could not find a version that satisfies the requirement kfp==2.7.0

In questi casi, quando non riesci a installare KFP prima di eseguire il codice, devi utilizzare un'immagine con KFP già installato.

Puoi aggiungere KFP a qualsiasi immagine di base ed eseguirne il push nel repository.

Il seguente esempio di Dockerfile aggiunge KFP all'immagine di base python:3.8.

FROM python:3.8
RUN pip install kfp==2.7.0

Puoi quindi configurare la pipeline @component per utilizzare questa immagine:

@component(base_image="$PATH_TO_YOUR_REPOSITORY:YOUR_IMAGE")

Quando il componente della pipeline è in esecuzione, il codice può installare liberamente altre pacchetti utilizzando il proxy. L'esempio seguente installa numpy utilizzando un proxy all'indirizzo https://10.10.10.10:443.

import subprocess
subprocess.call(['pip', 'install', '--proxy', 'https://10.10.10.10:443', 'numpy'])`

Configura liste consentite per l'accesso API

Per le transazioni tra i carichi di lavoro Vertex AI e le API di Google, devi: consentire l'accesso dai carichi di lavoro agli intervalli IP utilizzati dalle API di Google. Per farlo, puoi eseguire lo script fornito per restituire gli indirizzi IP per i domini predefiniti.