1. Introducción
Aprovecha Private Service Connect para establecer un acceso seguro y privado a los modelos implementados desde Vertex AI Model Garden. En lugar de exponer un extremo público, este método te permite implementar tu modelo en un extremo privado de Vertex AI al que solo se puede acceder dentro de tu nube privada virtual (VPC).
Private Service Connect crea un extremo con una dirección IP interna dentro de tu VPC, que se conecta directamente al servicio de Vertex AI administrado por Google que aloja tu modelo. Esto permite que las aplicaciones en tu VPC y en los entornos locales (a través de Cloud VPN o Interconnect) envíen solicitudes de inferencia con IPs privadas. Todo el tráfico de red permanece en la red de Google, lo que mejora la seguridad, reduce la latencia y aísla por completo el extremo de servicio de tu modelo de la Internet pública.

Qué compilarás
En este instructivo, descargarás Gemma 3 de Model Garden, alojado en la inferencia en línea de Vertex AI como un extremo privado al que se puede acceder a través de Private Service Connect. Tu configuración integral incluirá lo siguiente:
- Modelo de Model Garden: Seleccionarás Gemma 3 de Model Garden de Vertex AI y lo implementarás en un extremo de Private Service Connect.
- Private Service Connect: Configurarás un extremo del consumidor en tu nube privada virtual (VPC) que constará de una dirección IP interna dentro de tu propia red.
- Conexión segura a Vertex AI: El extremo de PSC se dirigirá al adjunto de servicio que Vertex AI genera automáticamente para la implementación de tu modelo privado. Esto establece una conexión privada, lo que garantiza que el tráfico entre tu VPC y el extremo de servicio del modelo no atraviese la Internet pública.
- Configuración del cliente en tu VPC: Configurarás un cliente (p.ej., VM de Compute Engine) dentro de tu VPC para enviar solicitudes de inferencia al modelo implementado con la dirección IP interna del extremo de PSC.
Al final, tendrás un ejemplo funcional de un modelo de Model Garden que se entrega de forma privada y al que solo se puede acceder desde tu red de VPC designada.
Qué aprenderás
En este instructivo, aprenderás a implementar un modelo de Vertex AI Model Garden y a hacer que se pueda acceder a él de forma segura desde tu nube privada virtual (VPC) con Private Service Connect (PSC). Este método permite que tus aplicaciones dentro de tu VPC (el consumidor) se conecten de forma privada al extremo del modelo de Vertex AI (el servicio productor) sin atravesar Internet pública.
Específicamente, aprenderás lo siguiente:
- Información sobre PSC para Vertex AI: Cómo PSC habilita conexiones privadas y seguras entre el consumidor y el productor Tu VPC puede acceder al modelo de Model Garden implementado con direcciones IP internas.
- Implementación de un modelo con acceso privado: Cómo configurar un extremo de Vertex AI para que tu modelo de Model Garden use PSC, lo que lo convierte en un extremo privado.
- El rol del adjunto de servicio: Cuando implementas un modelo en un extremo privado de Vertex AI, Google Cloud crea automáticamente un adjunto de servicio en un proyecto de arrendatario administrado por Google. Este adjunto de servicio expone el servicio de publicación de modelos a las redes de consumidores.
- Cómo crear un extremo de PSC en tu VPC:
- Cómo obtener el URI único de Service Attachment de los detalles del extremo de Vertex AI implementado
- Cómo reservar una dirección IP interna dentro de la subred que elegiste en tu VPC
- Cómo crear una regla de reenvío en tu VPC que actúe como el extremo de PSC y que apunte al adjunto de servicio de Vertex AI Este extremo hace que el modelo sea accesible a través de la IP interna reservada.
- Establecimiento de conectividad privada: Cómo el extremo de PSC en tu VPC se conecta al adjunto de servicio, lo que une tu red con el servicio de Vertex AI de forma segura
- Envío privado de solicitudes de inferencia: Cómo enviar solicitudes de predicción desde recursos (como VMs de Compute Engine) dentro de tu VPC a la dirección IP interna del extremo de PSC
- Validación: Pasos para probar y confirmar que puedes enviar solicitudes de inferencia desde tu VPC al modelo de Model Garden implementado a través de la conexión privada
Cuando completes este paso, podrás alojar modelos de Model Garden a los que solo se podrá acceder desde tu infraestructura de red privada.
Requisitos
Proyecto de Google Cloud
Permisos de IAM
- Administrador de AI Platform (roles/ml.Admin)
- Administrador de red de Compute (roles/compute.networkAdmin)
- Administrador de instancias de Compute (roles/compute.instanceAdmin)
- Administrador de seguridad de Compute (roles/compute.securityAdmin)
- Administrador de DNS (roles/dns.admin)
- Usuario de túnel protegido con IAP (roles/iap.tunnelResourceAccessor)
- Administrador de Logging (roles/logging.admin)
- Administrador de Notebooks (roles/notebooks.admin)
- Administrador de IAM de proyecto (roles/resourcemanager.projectIamAdmin)
- Administrador de cuenta de servicio (roles/iam.serviceAccountAdmin)
- Administrador de Service Usage (roles/serviceusage.serviceUsageAdmin)
2. Antes de comenzar
Actualiza el proyecto para que sea compatible con el instructivo
En este instructivo, se usan variables para facilitar la implementación de la configuración de gcloud en Cloud Shell.
En Cloud Shell, haz lo siguiente:
gcloud config list project
gcloud config set project [YOUR-PROJECT-ID]
projectid=[YOUR-PROJECT-ID]
echo $projectid
Habilitación de la API
En Cloud Shell, haz lo siguiente:
gcloud services enable "compute.googleapis.com"
gcloud services enable "aiplatform.googleapis.com"
gcloud services enable "serviceusage.googleapis.com"
3. Implementar modelo
Sigue los pasos que se indican a continuación para implementar tu modelo desde Model Garden
En la consola de Google Cloud, ve a Model Garden, busca Gemma 3 y selecciónalo.

Haz clic en Opciones de implementación y selecciona Vertex AI.

En el panel Implementar en Vertex AI, selecciona Avanzado. La región y las especificaciones de la máquina predeterminadas se seleccionan en función de la capacidad disponible. Puedes cambiar estos valores, aunque el codelab está diseñado para us-central1.

En el panel Deploy on Vertex AI, asegúrate de que el acceso al extremo esté configurado como Private Service Connect y, luego, selecciona tu proyecto.

Deja todos los valores predeterminados para las demás opciones y, luego, selecciona Deploy en la parte inferior y consulta tus notificaciones para ver el estado de la implementación.

En Model Garden, selecciona la región us-central1, que proporciona el modelo y el extremo de Gemma 3. La implementación del modelo tarda aproximadamente 5 minutos.

En 30 minutos, el extremo pasará al estado "Activo" una vez que se complete el proceso.

Selecciona el extremo para obtener y anotar su ID.

Abre Cloud Shell y realiza las siguientes acciones para obtener el URI del adjunto de servicio de Private Service Connect. El consumidor usa esta cadena de URI cuando implementa un extremo de consumidor de PSC.
Dentro de Cloud Shell, actualiza el ID del extremo y, luego, ejecuta el siguiente comando.
gcloud ai endpoints describe [Endpoint ID] --region=us-central1 | grep -i serviceAttachment:
A continuación, se muestra un ejemplo.
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
Copia el contenido después de serviceAttachment en una variable llamada "Service_attachment". La necesitarás más adelante cuando crees la conexión de PSC.
user@cloudshell:$ Service_attachment=projects/o9457b320a852208e-tp/regions/us-central1/serviceAttachments/gkedpm-52065579567eaf39bfe24f25f7981d
4. Configuración del consumidor
Crea la VPC del consumidor
En Cloud Shell, haz lo siguiente:
gcloud compute networks create consumer-vpc --project=$projectid --subnet-mode=custom
Crea la subred de la VM del consumidor
En Cloud Shell, haz lo siguiente:
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
Crea la subred del extremo de PSC
gcloud compute networks subnets create pscendpoint-subnet --project=$projectid --range=10.10.10.0/28 --network=consumer-vpc --region=us-central1
5. Habilitar IAP
Para permitir que IAP se conecte a tus instancias de VM, crea una regla de firewall que cumpla con lo siguiente:
- Se aplica a todas las instancias de VM a las que deseas acceder con IAP.
- Permite el tráfico de entrada desde el rango de IP 35.235.240.0/20. Este rango contiene todas las direcciones IP que IAP usa para el reenvío de TCP.
Dentro de Cloud Shell, crea la regla de firewall de IAP.
gcloud compute firewall-rules create ssh-iap-consumer \
--network consumer-vpc \
--allow tcp:22 \
--source-ranges=35.235.240.0/20
6. Crea instancias de VM de consumidor
Dentro de Cloud Shell, crea la instancia de VM del consumidor, 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. Extremos de Private Service Connect
El consumidor crea un extremo de consumidor (regla de reenvío) con una dirección IP interna dentro de su VPC. Este extremo de PSC apunta al adjunto de servicio del productor. Los clientes dentro de la red híbrida o de VPC del consumidor pueden enviar tráfico a esta dirección IP interna para llegar al servicio del productor.
Reserva una dirección IP para el extremo del consumidor.
Dentro de Cloud Shell, crea la regla de reenvío.
gcloud compute addresses create psc-address \
--project=$projectid \
--region=us-central1 \
--subnet=pscendpoint-subnet \
--addresses=10.10.10.6
Verifica que la dirección IP esté reservada
En Cloud Shell, enumera la dirección IP reservada.
gcloud compute addresses list
Deberías ver la dirección IP 10.10.10.6 reservada.

Crea el extremo del consumidor especificando el URI del adjunto de servicio, target-service-attachment, que capturaste en el paso anterior, en la sección Implementa el modelo.
Dentro de Cloud Shell, describe el adjunto de red.
gcloud compute forwarding-rules create psc-consumer-ep \
--network=consumer-vpc \
--address=psc-address \
--region=us-central1 \
--target-service-attachment=$Service_attachment \
--project=$projectid
Verifica que el adjunto de servicio acepte el extremo
gcloud compute forwarding-rules describe psc-consumer-ep \
--project=$projectid \
--region=us-central1 \
En la respuesta, verifica que aparezca el estado "ACCEPTED" en el campo pscConnectionStatus.

8. Prueba desde la VM del consumidor
En Cloud Shell, realiza los siguientes pasos para proporcionar acceso a la VM del consumidor y acceder a la API de Vertex Model Garden:
Conéctate a la VM del consumidor a través de SSH

Vuelve a autenticarte con las credenciales predeterminadas de la aplicación y especifica los alcances de Vertex AI.
gcloud auth application-default login
--scopes=https://www.googleapis.com/auth/cloud-platform
Usa la siguiente tabla para generar un comando CURL y ajústalo según tu entorno.
Atributo | Valor |
Protocolo | HTTP |
Ubicación | us-central1 |
Extremo de predicción en línea | 2133539641536544768 |
ID del proyecto | test4-473419 |
Modelo | gemma-3-12b-it |
IP del extremo de Private Service Connect | 10.10.10.6 |
Mensajes | [{"role": "user","content": "¿Qué pesa más: 1 libra de plumas o de rocas?"}] |
Actualiza y ejecuta el comando curl según los detalles de tu entorno:
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?"}] }'
Ejemplo:
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?"}] }'
RESULTADO FINAL: ¡ÉXITO!
El resultado que deberías ver es la predicción de Gemma 3 en la parte inferior del resultado, lo que demuestra que pudiste acceder al extremo de la API de forma privada a través del extremo de 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. Limpia
Desde Cloud Shell, borra los componentes del instructivo.
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. Felicitaciones
Felicitaciones. Configuraste y validaste correctamente el acceso privado a la API de Gemma 3 alojada en Vertex AI Prediction con un extremo de Private Service Connect.
Creaste la infraestructura del consumidor, lo que incluye reservar una dirección IP interna y configurar un extremo de Private Service Connect (una regla de reenvío) dentro de tu VPC. Este extremo se conecta de forma segura al servicio de Vertex AI a través del adjunto de servicio asociado con tu modelo Gemma 3 implementado. Esta configuración permite que tus aplicaciones dentro de la VPC o las redes conectadas interactúen con la API de Gemma 3 de forma privada y segura, con una dirección IP interna, sin necesidad de que el tráfico atraviese la Internet pública.