Configurer la connectivité de Vertex AI à d'autres réseaux

Assurez-vous de bien connaître le contenu de la page Appairage de réseaux VPC avant de lire ce guide.

Par défaut, la configuration d'appairage permet seulement au réseau Vertex AI appairé d'atteindre les points de terminaison de vos sous-réseaux locaux. L'exportation de routes personnalisées permet au réseau du producteur d'atteindre d'autres réseaux pour lesquels votre réseau dispose de routes statiques ou dynamiques.

Comme l'appairage transitif n'est pas accepté, les connexions de Vertex AI ne peuvent pas atteindre les points de terminaison d'autres réseaux directement appairés à votre réseau, même si l'option "Exporter des routes personnalisées" est activée. Dans l'exemple présenté dans le schéma suivant, les paquets peuvent traverser la connexion d'appairage 1, mais pas la connexion d'appairage 2.

Avec appairage transitif

Pour permettre à Vertex AI d'atteindre le réseau utilisateur 2, remplacez la connexion d'appairage 2 par le VPN 2, comme illustré dans le schéma suivant.

Sans appairage transitif

L'activation des routes personnalisées dans la connexion d'appairage 1 permet aux paquets IP du réseau Vertex AI d'atteindre le réseau utilisateur 2.

Pour autoriser la redirection des paquets de réponse du réseau utilisateur 2 vers le réseau Vertex AI, la route de retour doit également figurer dans la table de routage du réseau utilisateur 2. Les routes VPN sont échangées à l'aide du protocole BGP (Border Gateway Protocol) sur des routeurs cloud. Nous pouvons personnaliser la configuration BGP du réseau utilisateur 1 pour annoncer une route vers la plage 10.1.0.0/16 du réseau Vertex AI à son réseau utilisateur 2 appairé.

Notez que vous pouvez modifier les deux côtés de la configuration BGP du VPN 1 pour permettre au réseau sur site et au réseau Vertex AI d'apprendre les routes qui les relient. Étant donné qu'il n'y a pas de tentative de transmission de paquets de chemin de transfert à partir du réseau Vertex AI, ni de paquets de réponse via des connexions d'appairage séquentielles associées à un réseau unique, aucune de ces tentatives de transfert n'est explicitement bloquée.

Configurer la connectivité de Vertex AI à Internet

Si aucun réseau n'est spécifié lors du lancement d'une charge de travail, celle-ci s'exécute dans un projet producteur distinct géré par Google.

Si un réseau est spécifié, la charge de travail s'exécute dans un projet producteur qui est appairé au projet client.

Par défaut, le réseau Vertex AI dispose de sa propre route vers Internet et le réseau du producteur dispose de sa propre route par défaut vers Internet.

Pour forcer le routage des connexions sortantes du réseau producteur via votre réseau, vous pouvez activer VPC Service Controls pour les appairages. Notez qu'il s'agit d'une configuration distincte de VPC Service Controls.

L'activation de VPC Service Controls pour les appairages entraîne les modifications suivantes dans le réseau Vertex AI :

  • Suppression de la route Internet par défaut
  • Création d'une route pour l'adresse 199.36.153.4/30 de destination avec un saut suivant de la passerelle Internet par défaut
  • Création d'une zone gérée privée de Cloud DNS pour *.googleapis.com avec les enregistrements appropriés pour mapper les noms d'hôte à l'une de ces quatre adresses
  • Autorisation d'utiliser cette zone pour le réseau VPC servicenetworking

Cette modification vous permet d'exporter la route par défaut de votre réseau afin de vous assurer que les connexions sortantes vers Internet sont acheminées via votre réseau VPC. Elle vous permet également d'appliquer les règles nécessaires au trafic sortant de Vertex AI.

Utiliser VPC Service Controls

Si un réseau est spécifié pour la charge de travail et que VPC Service Controls est activé, la charge de travail s'exécute dans un réseau producteur qui est appairé au projet client et soumis aux mêmes règles que le réseau consommateur.

Si ces règles bloquent le trafic sortant, la charge de travail ne pourra pas non plus accéder à Internet. Dans ce cas, vous devez suivre les étapes de la section précédente pour forcer le trafic sortant de la charge de travail à transiter par une instance NAT de votre réseau VPC.

Configurer la connectivité depuis Vertex AI à l'aide de proxys

Un autre modèle de contrôle des adresses IP sortantes de Vertex AI consiste à forcer les connexions sortantes des charges de travail à passer par un proxy Web que vous contrôlez. Cela permet également d'inspecter la conformité des connexions sortantes.

Toutefois, l'utilisation d'un proxy tiers oblige l'utilisateur à gérer le certificat du proxy pour les réclamations portant sur l'authentification. En outre, ces proxys peuvent ne pas proposer de liste de suites de chiffrement qui s'entrecroise avec celle attendue par les SDK et les API Vertex AI.

Google Cloud propose désormais un proxy Web sécurisé pour faciliter le processus. Vous pouvez maintenant suivre le guide de démarrage rapide Déployer une instance de proxy Web sécurisé et adapter vos charges de travail afin qu'elles l'utilisent pour les connexions sortantes. Ces connexions semblent provenir de l'adresse IP source du proxy.

Si la bibliothèque KFP n'est pas déjà installée dans l'image du composant, le pipeline tente de l'installer avant d'exécuter du code dans lequel vous avez peut-être spécifié un proxy.

Si le pipeline dépend du proxy pour installer les packages à partir d'Internet, cette tentative échoue et une erreur semblable à celle-ci peut s'afficher :

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

Dans ce cas, lorsque vous ne parvenez pas à installer KFP avant d'exécuter le code, vous devez utiliser une image sur laquelle KFP est déjà installé.

Vous pouvez ajouter KFP à n'importe quelle image de base et la "push" vers votre dépôt.

L'exemple Dockerfile suivant ajoute KFP à l'image de base python:3.8.

FROM python:3.8
RUN pip install kfp==2.7.0

Vous pouvez ensuite configurer le pipeline @component pour utiliser cette image :

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

Une fois le composant de pipeline en cours d'exécution, votre code peut installer librement d'autres packages en passant par le proxy. L'exemple suivant installe numpy à l'aide d'un proxy à l'adresse http://10.10.10.10:443.

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

Configurer des listes d'autorisation pour l'accès aux API

Pour les transactions entre les charges de travail Vertex AI et les API Google, vous devez autoriser l'accès des charges de travail aux plages d'adresses IP utilisées par les API Google. Pour ce faire, vous pouvez exécuter le script fourni pour renvoyer les adresses IP des domaines par défaut.