1. Introduction
Utilisez Private Service Connect pour établir un accès privé et sécurisé aux modèles déployés depuis Vertex AI Model Garden. Au lieu d'exposer un point de terminaison public, cette méthode vous permet de déployer votre modèle sur un point de terminaison Vertex AI privé accessible uniquement dans votre cloud privé virtuel (VPC).
Private Service Connect crée un point de terminaison avec une adresse IP interne dans votre VPC, qui se connecte directement au service Vertex AI géré par Google qui héberge votre modèle. Cela permet aux applications de vos environnements VPC et sur site (via Cloud VPN ou Interconnect) d'envoyer des requêtes d'inférence à l'aide d'adresses IP privées. L'ensemble du trafic réseau reste sur le réseau de Google, ce qui renforce la sécurité, réduit la latence et isole complètement le point de terminaison de diffusion de votre modèle de l'Internet public.

Ce que vous allez faire
Dans ce tutoriel, vous allez télécharger Gemma 3 depuis Model Garden, hébergé dans Vertex AI Online Inference en tant que point de terminaison privé accessible via Private Service Connect. Votre configuration de bout en bout inclura les éléments suivants :
- Modèle Model Garden : vous allez sélectionner Gemma 3 dans Vertex AI Model Garden et le déployer sur un point de terminaison Private Service Connect.
- Private Service Connect : vous configurerez un point de terminaison client dans votre cloud privé virtuel (VPC) composé d'une adresse IP interne dans votre propre réseau.
- Connexion sécurisée à Vertex AI : le point de terminaison PSC ciblera le rattachement de service généré automatiquement par Vertex AI pour le déploiement de votre modèle privé. Cela établit une connexion privée, garantissant que le trafic entre votre VPC et le point de terminaison de diffusion du modèle ne transite pas par l'Internet public.
- Configuration du client dans votre VPC : vous allez configurer un client (par exemple, VM Compute Engine) dans votre VPC pour envoyer des requêtes d'inférence au modèle déployé à l'aide de l'adresse IP interne du point de terminaison PSC.
À la fin de ce tutoriel, vous disposerez d'un exemple fonctionnel de modèle Model Garden diffusé de manière privée et accessible uniquement depuis votre réseau VPC désigné.
Points abordés
Dans ce tutoriel, vous allez apprendre à déployer un modèle depuis Vertex AI Model Garden et à le rendre accessible de manière sécurisée depuis votre cloud privé virtuel (VPC) à l'aide de Private Service Connect (PSC). Cette méthode permet à vos applications au sein de votre VPC (le consommateur) de se connecter de manière privée au point de terminaison du modèle Vertex AI (le service de production) sans transiter par l'Internet public.
Plus précisément, vous allez apprendre à :
- Comprendre PSC pour Vertex AI : comment PSC permet des connexions privées et sécurisées entre les clients et les producteurs. Votre VPC peut accéder au modèle Model Garden déployé à l'aide d'adresses IP internes.
- Déployer un modèle avec accès privé : découvrez comment configurer un point de terminaison Vertex AI pour que votre modèle Model Garden utilise PSC, ce qui en fait un point de terminaison privé.
- Rôle du rattachement de service : lorsque vous déployez un modèle sur un point de terminaison Vertex AI privé, Google Cloud crée automatiquement un rattachement de service dans un projet locataire géré par Google. Ce rattachement de service expose le service de diffusion de modèle aux réseaux consommateurs.
- Créer un point de terminaison PSC dans votre VPC :
- Comment obtenir l'URI unique du rattachement de service à partir des détails de votre point de terminaison Vertex AI déployé.
- Découvrez comment réserver une adresse IP interne dans le sous-réseau de votre choix dans votre VPC.
- Comment créer une règle de transfert dans votre VPC qui sert de point de terminaison PSC, en ciblant le rattachement de service Vertex AI. Ce point de terminaison rend le modèle accessible via l'adresse IP interne réservée.
- Établir une connectivité privée : comment le point de terminaison PSC de votre VPC se connecte au rattachement de service, en reliant votre réseau au service Vertex AI de manière sécurisée.
- Envoyer des requêtes d'inférence de manière privée : découvrez comment envoyer des requêtes de prédiction à partir de ressources (comme des VM Compute Engine) dans votre VPC vers l'adresse IP interne du point de terminaison PSC.
- Validation : étapes à suivre pour tester et confirmer que vous pouvez envoyer des requêtes d'inférence depuis votre VPC vers le modèle Model Garden déployé via la connexion privée.
Vous pourrez ainsi héberger des modèles Model Garden qui ne sont accessibles que depuis votre infrastructure réseau privée.
Prérequis
Projet Google Cloud
Autorisations IAM
- Administrateur AI Platform (roles/ml.Admin)
- Administrateur de réseaux Compute (roles/compute.networkAdmin)
- Administrateur d'instances Compute (roles/compute.instanceAdmin)
- Administrateur de sécurité de Compute (roles/compute.securityAdmin)
- Administrateur DNS (roles/dns.admin)
- Utilisateur de tunnels sécurisés par IAP (roles/iap.tunnelResourceAccessor)
- Administrateur Logging (roles/logging.admin)
- Administrateur de notebooks (roles/notebooks.admin)
- Administrateur IAM du projet (roles/resourcemanager.projectIamAdmin)
- Administrateur de compte de service (roles/iam.serviceAccountAdmin)
- Administrateur Service Usage (roles/serviceusage.serviceUsageAdmin)
2. Avant de commencer
Mettre à jour le projet pour prendre en charge le tutoriel
Ce tutoriel utilise des $variables pour faciliter l'implémentation de la configuration gcloud dans Cloud Shell.
Dans Cloud Shell, procédez comme suit :
gcloud config list project
gcloud config set project [YOUR-PROJECT-ID]
projectid=[YOUR-PROJECT-ID]
echo $projectid
Activation de l'API
Dans Cloud Shell, procédez comme suit :
gcloud services enable "compute.googleapis.com"
gcloud services enable "aiplatform.googleapis.com"
gcloud services enable "serviceusage.googleapis.com"
3. Déployer le modèle
Suivez les étapes ci-dessous pour déployer votre modèle depuis Model Garden.
Dans la console Google Cloud, accédez à Model Garden, puis recherchez et sélectionnez Gemma 3.

Cliquez sur "Options de déploiement", puis sélectionnez "Vertex AI".

Dans le volet "Déployer sur Vertex AI", sélectionnez "Avancé". La région et la spécification de la machine préremplies sont sélectionnées en fonction de la capacité disponible. Vous pouvez modifier ces valeurs, mais l'atelier de programmation est conçu pour us-central1.

Dans le volet "Déployer sur Vertex AI", assurez-vous que l'accès au point de terminaison est configuré sur Private Service Connect, puis sélectionnez votre projet.

Conservez les valeurs par défaut pour les autres options, puis sélectionnez "Déployer" en bas de l'écran et vérifiez l'état du déploiement dans vos notifications.

Dans Model Garden, sélectionnez la région "us-central1" qui fournit le modèle et le point de terminaison Gemma 3. Le déploiement du modèle prend environ cinq minutes.

Une fois l'opération terminée, le point de terminaison passera à l'état "Actif" dans les 30 minutes.

Obtenez et notez l'ID du point de terminaison en le sélectionnant.

Ouvrez Cloud Shell et procédez comme suit pour obtenir l'URI du rattachement de service Private Service Connect. Cette chaîne URI est utilisée par le consommateur lors du déploiement d'un point de terminaison consommateur PSC.
Dans Cloud Shell, mettez à jour l'ID du point de terminaison, puis exécutez la commande suivante.
gcloud ai endpoints describe [Endpoint ID] --region=us-central1 | grep -i serviceAttachment:
Vous trouverez un exemple ci-dessous. :
user@cloudshell:$ gcloud ai endpoints describe 2124795225560842240 --region=us-central1 | grep -i serviceAttachment:
Using endpoint [https://us-central1-aiplatform.googleapis.com/]
serviceAttachment: projects/o9457b320a852208e-tp/regions/us-central1/serviceAttachments/gkedpm-52065579567eaf39bfe24f25f7981d
Copiez le contenu après serviceAttachment dans une variable appelée "Service_attachment". Vous en aurez besoin plus tard pour créer la connexion PSC.
user@cloudshell:$ Service_attachment=projects/o9457b320a852208e-tp/regions/us-central1/serviceAttachments/gkedpm-52065579567eaf39bfe24f25f7981d
4. Configuration du client
Créer le VPC consommateur
Dans Cloud Shell, procédez comme suit :
gcloud compute networks create consumer-vpc --project=$projectid --subnet-mode=custom
Créer le sous-réseau de VM consommateur
Dans Cloud Shell, procédez comme suit :
gcloud compute networks subnets create consumer-vm-subnet --project=$projectid --range=192.168.1.0/24 --network=consumer-vpc --region=us-central1 --enable-private-ip-google-access
Créer le sous-réseau du point de terminaison PSC
gcloud compute networks subnets create pscendpoint-subnet --project=$projectid --range=10.10.10.0/28 --network=consumer-vpc --region=us-central1
5. Activer IAP
Pour permettre à IAP de se connecter à vos instances de VM, créez une règle de pare-feu qui :
- S'applique à toutes les instances de VM auxquelles vous souhaitez être accessible à l'aide d'IAP.
- Autorise le trafic entrant à partir de la plage d'adresses IP 35.235.240.0/20. Cette plage contient toutes les adresses IP qu'IAP utilise pour le transfert TCP.
Dans Cloud Shell, créez la règle de pare-feu IAP.
gcloud compute firewall-rules create ssh-iap-consumer \
--network consumer-vpc \
--allow tcp:22 \
--source-ranges=35.235.240.0/20
6. Créer des instances de VM consommateur
Dans Cloud Shell, créez l'instance de VM du consommateur, consumer-vm.
gcloud compute instances create consumer-vm \
--project=$projectid \
--machine-type=e2-micro \
--image-family debian-11 \
--no-address \
--shielded-secure-boot \
--image-project debian-cloud \
--zone us-central1-a \
--subnet=consumer-vm-subnet
7. Points de terminaison Private Service Connect
Le client crée un point de terminaison client (règle de transfert) avec une adresse IP interne dans son VPC. Ce point de terminaison PSC cible le rattachement de service du producteur. Les clients du réseau VPC ou hybride du consommateur peuvent envoyer du trafic vers cette adresse IP interne pour accéder au service du producteur.
Réservez une adresse IP pour le point de terminaison consommateur.
Dans Cloud Shell, créez la règle de transfert.
gcloud compute addresses create psc-address \
--project=$projectid \
--region=us-central1 \
--subnet=pscendpoint-subnet \
--addresses=10.10.10.6
Vérifiez que l'adresse IP est réservée.
Dans Cloud Shell, listez l'adresse IP réservée.
gcloud compute addresses list
L'adresse IP 10.10.10.6 doit être réservée.

Créez le point de terminaison du consommateur en spécifiant l'URI du rattachement de service, target-service-attachment, que vous avez capturé à l'étape précédente, dans la section "Déployer le modèle".
Dans Cloud Shell, décrivez le rattachement de réseau.
gcloud compute forwarding-rules create psc-consumer-ep \
--network=consumer-vpc \
--address=psc-address \
--region=us-central1 \
--target-service-attachment=$Service_attachment \
--project=$projectid
Vérifiez que le rattachement de service accepte le point de terminaison.
gcloud compute forwarding-rules describe psc-consumer-ep \
--project=$projectid \
--region=us-central1 \
Dans la réponse, vérifiez qu'un état "ACCEPTED" (ACCEPTÉ) s'affiche dans le champ pscConnectionStatus.

8. Tester à partir de la VM consommateur
Dans Cloud Shell, procédez comme suit pour autoriser la VM consommateur à accéder à l'API Vertex Model Garden.
Se connecter en SSH à la VM Consumer

Réauthentifiez-vous avec les identifiants par défaut de l'application et spécifiez les champs d'application Vertex AI.
gcloud auth application-default login
--scopes=https://www.googleapis.com/auth/cloud-platform
Utilisez le tableau ci-dessous pour générer une commande CURL, en l'ajustant en fonction de votre environnement.
Attribut | Valeur |
Protocole | HTTP |
Emplacement | us-central1 |
Point de terminaison de prédiction en ligne | 2133539641536544768 |
ID du projet | test4-473419 |
Modèle | gemma-3-12b-it |
Adresse IP du point de terminaison Private Service Connect | 10.10.10.6 |
Messages | [{"role": "user","content": "Qu'est-ce qui pèse le plus : un kilo de plumes ou un kilo de pierres ?"}] |
Mettez à jour et exécutez la commande curl en fonction des détails de vos environnements :
curl -k -v -X POST -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" -H "Content-Type: application/json" http://[PSC-IP]/v1/projects/[Project-ID]/locations/us-central1/endpoints/[Predictions Endpoint]/chat/completions -d '{"model": "google/gemma-3-12b-it", "messages": [{"role": "user","content": "What weighs more 1 pound of feathers or rocks?"}] }'
Exemple :
curl -k -v -X POST -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" -H "Content-Type: application/json" http://10.10.10.6/v1/projects/test4-473419/locations/us-central1/endpoints/2133539641536544768/chat/completions -d '{"model": "google/gemma-3-12b-it", "messages": [{"role": "user","content": "What weighs more 1 pound of feathers or rocks?"}] }'
RÉSULTAT FINAL : SUCCÈS !!!
Le résultat que vous devriez voir est une prédiction de Gemma 3 en bas de la sortie. Cela montre que vous avez pu accéder au point de terminaison de l'API de manière privée via le point de terminaison PSC.
Connection #0 to host 10.10.10.6 left intact
{"id":"chatcmpl-9e941821-65b3-44e4-876c-37d81baf62e0","object":"chat.completion","created":1759009221,"model":"google/gemma-3-12b-it","choices":[{"index":0,"message":{"role":"assistant","reasoning_content":null,"content":"This is a classic trick question! They weigh the same. One pound is one pound, regardless of the material. 😊\n\n\n\n","tool_calls":[]},"logprobs":null,"finish_reason":"stop","stop_reason":106}],"usage":{"prompt_tokens":20,"total_tokens":46,"completion_tokens":26,"prompt_tokens_details":null},"prompt_logprobs":null
9. Effectuer un nettoyage
Dans Cloud Shell, supprimez les composants du tutoriel.
gcloud ai endpoints undeploy-model ENDPOINT_ID --deployed-model-id=DEPLOYED_MODEL_ID --region=us-central1 --quiet
gcloud ai endpoints delete $ENDPOINT_ID --project=$projectid --region=us-central1 --quiet
gcloud ai models delete $MODEL_ID --project=$projectid --region=us-central1 --quiet
gcloud compute instances delete consumer-vm --zone=us-central1-a --quiet
gcloud compute forwarding-rules delete psc-consumer-ep --region=us-central1 --project=$projectid --quiet
gcloud compute addresses delete psc-address --region=us-central1 --project=$projectid --quiet
gcloud compute networks subnets delete pscendpoint-subnet consumer-vm-subnet --region=us-central1 --quiet
gcloud compute firewall-rules delete ssh-iap-consumer --project=$projectid
gcloud compute networks delete consumer-vpc --project=$projectid --quiet
gcloud projects delete $projectid --quiet
10. Félicitations
Félicitations ! Vous avez configuré et validé l'accès privé à l'API Gemma 3 hébergée sur Vertex AI Prediction à l'aide d'un point de terminaison Private Service Connect.
Vous avez créé l'infrastructure du consommateur, y compris en réservant une adresse IP interne et en configurant un point de terminaison Private Service Connect (une règle de transfert) dans votre VPC. Ce point de terminaison se connecte de manière sécurisée au service Vertex AI en ciblant le rattachement de service associé à votre modèle Gemma 3 déployé. Cette configuration permet à vos applications au sein du VPC ou des réseaux connectés d'interagir avec l'API Gemma 3 de manière privée et sécurisée, à l'aide d'une adresse IP interne, sans que le trafic n'ait à transiter par l'Internet public.