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 solo alla rete Vertex AI in peering per raggiungere gli endpoint nelle subnet locali. L'esportazione di route personalizzate consente alla rete del producer di raggiungere altre reti a cui la tua rete presenta route statiche o dinamiche.

Poiché il peering transitivo non è supportato, le connessioni da Vertex AI non è in grado di raggiungere gli endpoint in altre reti che sono direttamente connesse in peering verso la rete, anche con l'opzione "Esporta route personalizzate" in un bucket in cui è abilitato il controllo delle versioni. Nell'esempio mostrato nel diagramma seguente i pacchetti possono attraversare la connessione di peering 1, ma non Connessione in peering n. 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 routing dei pacchetti di risposta dalla rete utente n.2 alla Rete Vertex AI, la route di ritorno deve esistere anche nella tabella di routing per la rete utente n. 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 all'avvio di un carico di lavoro, quest'ultimo viene eseguito in un ambiente Progetto producer gestito da Google.

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 una propria route a internet e la rete del produttore ha una propria route predefinita a 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 la zona all'utilizzo della rete VPC servicenetworking.

Con questa modifica applicata, puoi esportare la route predefinita dalla tua rete per garantire che le connessioni in uscita verso internet vengano instradate attraverso la rete VPC. Questa modifica ti consente anche di applicare i 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, anche il carico di lavoro non sarà essere in grado di connettersi a internet. In questo caso, devi seguire la procedura descritta nella sezione precedente per forzare il traffico in uscita dal carico di lavoro a passare attraverso un NAT nella tua 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 anche di controllare 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 proxy web sicuro per facilitare 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, il parametro la tua pipeline tenta di installarla prima di eseguire qualsiasi codice in cui ha 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, se non riesci a installare KFP prima di eseguire 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 questo, puoi eseguire lo script fornito per restituire gli indirizzi IP per i domini predefiniti.