Puedes configurar Vertex AI para que se empareje con Virtual Private Cloud (VPC) y se conecte directamente con determinados recursos de Vertex AI, como los siguientes:
- Entrenamiento personalizado
- Recursos compartidos de NFS para el entrenamiento personalizado
- Endpoints de inferencia privados
- Ray en Vertex AI
- Consultas online de coincidencias de vectores
- Pipelines
En esta guía se muestra cómo configurar el emparejamiento entre redes de VPC para emparejar tu red con recursos de Vertex AI. Esta guía se recomienda a los administradores de redes que ya estén familiarizados con los Google Cloudconceptos de redes.
Información general
En esta guía se explican las siguientes tareas:
- Configura el acceso privado a servicios para la VPC. De esta forma, se establece una conexión de emparejamiento entre tu VPC y la red de VPC compartida de Google.
- Ten en cuenta el intervalo de IPs que necesitas reservar para Vertex AI.
- Si procede, exporta las rutas personalizadas para que Vertex AI pueda importarlas.
Antes de empezar
- Selecciona una VPC con la que quieras emparejar los recursos de Vertex AI. Vertex AI solo se puede emparejar con una red por región a la vez.
- Selecciona o crea un Google Cloud proyecto para usarlo en Vertex AI.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Compute Engine API, Vertex AI API, and Service Networking APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. - También puedes usar VPC compartida. Si usas una VPC compartida, normalmente usas Vertex AI en un proyecto independiente del proyecto host de la VPC.Google CloudHabilita las APIs Compute Engine y Service Networking en ambos proyectos. Consulta cómo aprovisionar una VPC compartida.
- Instala la CLI de gcloud si quieres ejecutar los
gcloud
ejemplos de esta guía.
Roles obligatorios
Si no eres propietario ni editor del proyecto, asegúrate de tener el rol de administrador de redes de Compute (roles/compute.networkAdmin
), que incluye los roles necesarios para gestionar los recursos de red.
Emparejamiento con una red on-premise
Si vas a usar el emparejamiento entre redes de VPC con una red local, debes seguir estos pasos adicionales:
- Conecta tu red on-premise a tu VPC. Puedes usar un túnel VPN o una interconexión.
- Configura rutas personalizadas desde la VPC a tu red local.
- Exporta tus rutas personalizadas para que Vertex AI pueda importarlas.
Configurar el acceso privado a servicios para tu VPC
Cuando configuras el acceso a servicios privados, estableces una conexión privada entre tu red y una red propiedad de Google o de un servicio de terceros (productores de servicios). En este caso, Vertex AI es un productor de servicios. Para configurar el acceso a servicios privados, reserva un intervalo de IP para los productores de servicios y, a continuación, crea una conexión de emparejamiento con Vertex AI.
Si ya tienes una VPC con el acceso privado a servicios configurado, ve a la sección sobre cómo exportar rutas personalizadas.
- Define las variables de entorno del ID de tu proyecto, el nombre del intervalo reservado y el nombre de tu red. Si utilizas una VPC compartida, usa el ID del proyecto host de tu VPC. De lo contrario, usa el ID del proyecto que utilices para Vertex AI. Google Cloud
- Habilita las APIs necesarias. Si usas VPC compartida, consulta Usar VPC compartida con Vertex AI.
- Define un intervalo reservado con
gcloud compute addresses create
. Establece una conexión de emparejamiento entre tu proyecto host de VPC y Service Networking de Google mediante
gcloud services vpc-peerings connect
.En el caso de los puntos finales de inferencia privados, recomendamos reservar al menos un bloque
/21
para la subred de alojamiento de modelos. Si reservas un bloque más pequeño, pueden producirse errores de implementación debido a que no hay suficientes direcciones IP.PROJECT_ID=YOUR_PROJECT_ID gcloud config set project $PROJECT_ID # This is for display only; you can name the range anything. PEERING_RANGE_NAME=google-reserved-range NETWORK=YOUR_NETWORK_NAME # NOTE: `prefix-length=16` means a CIDR block with mask /16 will be # reserved for use by Google services, such as Vertex AI. gcloud compute addresses create $PEERING_RANGE_NAME \ --global \ --prefix-length=16 \ --description="peering range for Google service" \ --network=$NETWORK \ --purpose=VPC_PEERING # Create the VPC connection. gcloud services vpc-peerings connect \ --service=servicenetworking.googleapis.com \ --network=$NETWORK \ --ranges=$PEERING_RANGE_NAME \ --project=$PROJECT_ID
Más información sobre el acceso a servicios privados
.Usar VPC compartida con Vertex AI
Si usas una VPC compartida en tu proyecto, consulta cómo aprovisionar una VPC compartida y asegúrate de completar los siguientes pasos:
Habilita las APIs Compute Engine y Service Networking en el proyecto host y en el proyecto de servicio. La API Vertex AI debe estar habilitada en el proyecto de servicio.
Crea la conexión de emparejamiento de redes de VPC entre tu VPC y los servicios de Google en el proyecto host.
Durante la creación de Vertex AI, debes especificar el nombre de la red a la que quieres que Vertex AI tenga acceso a la VPC compartida.
Verifica que la cuenta de servicio o de usuario que se usa tenga el rol Usuario de red de Compute (
roles/compute.networkUser
).
Reservar intervalos de IP para Vertex AI
Cuando reservas un intervalo de direcciones IP para productores de servicios, Vertex AI y otros servicios pueden usarlo. Si te conectas con varios productores de servicios que usan el mismo intervalo, asigna un intervalo mayor para dar cabida a todos ellos y evitar que se agoten las IPs.
Consulta información sobre los intervalos de IP estimados que debes reservar para usar IPs privadas con diferentes tipos de trabajos de entrenamiento personalizado.
Si se inicia un trabajo con el siguiente parámetro, se iniciará en una red gestionada por Google que esté emparejada con tu VPC y otras redes conectadas a ella:
--network = "projects/${host_project}/global/networks/${network}"
Los trabajos que no necesiten acceder a tus redes se pueden iniciar sin esta declaración, lo que permite conservar tus asignaciones de IP.
Exportar rutas personalizadas
Si usas rutas personalizadas, debes exportarlas para que Vertex AI pueda importarlas. Si no usas rutas personalizadas, omite esta sección.
Para exportar rutas personalizadas, actualiza la conexión de emparejamiento en tu VPC. Al exportar rutas personalizadas, se envían todas las rutas estáticas y dinámicas aptas que se encuentran en tu red de VPC, como las rutas a tu red local, a las redes de los productores de servicios (Vertex AI en este caso). De esta forma, se establecen las conexiones necesarias y se permite que los trabajos de entrenamiento envíen tráfico de vuelta a tu red local.
Asegúrate de que tu red local tenga rutas de vuelta a los intervalos de direcciones IP asignados a Vertex AI para que las respuestas se enruten correctamente a Vertex AI. Por ejemplo, usa anuncios de rutas personalizadas de Cloud Router que incluyan los intervalos de direcciones IP de Vertex AI.
Más información sobre las conexiones privadas con redes locales
Consola
- Ve a la página Emparejamiento entre redes de VPC de la Google Cloud consola.
Ve a la página Emparejamiento entre redes de VPC - Selecciona la conexión de peering que quieras actualizar.
- Haz clic en Editar.
- Selecciona Exportar rutas personalizadas.
gcloud
Busca el nombre de la conexión de peering que quieras actualizar. Si tienes varias conexiones de emparejamiento, omite la marca
--format
.gcloud services vpc-peerings list \ --network=$NETWORK \ --service=servicenetworking.googleapis.com \ --project=$PROJECT_ID \ --format "value(peering)"
Actualiza la conexión de intercambio de tráfico entre redes para exportar rutas personalizadas.
gcloud compute networks peerings update PEERING-NAME \ --network=$NETWORK \ --export-custom-routes \ --project=$PROJECT_ID
Consultar el estado de tus conexiones de peering
Para comprobar que las conexiones de peering están activas, puedes enumerarlas con el siguiente comando:
gcloud compute networks peerings list --network $NETWORK
Debería ver que el estado del peering que acaba de crear es ACTIVE
.
Más información sobre las conexiones de emparejamiento activas
Solución de problemas
En esta sección se enumeran algunos problemas habituales al configurar el emparejamiento entre redes de VPC con Vertex AI.
Cuando configures Vertex AI para que use una red de VPC compartida, especifica el URI de la red de la siguiente manera.
"projects/YOUR_SHARED_VPC_HOST_PROJECT/global/networks/YOUR_SHARED_VPC_NETWORK"
Si especificas una red de VPC compartida para que la use Vertex AI, asegúrate de que todos los usuarios o cuentas de servicio de Vertex AI del proyecto de servicio tengan el rol
compute.networkUser
en tu proyecto host.Asegúrate de haber asignado un intervalo de IPs suficiente para todos los productores de servicios a los que se conecta tu red, incluido Vertex AI.
Si te aparecen los mensajes de error
IP_SPACE_EXHAUSTED
,RANGES_EXHAUSTED
oPEERING_RANGE_EXHAUSTED
, debes aumentar la cantidad de direcciones IP disponibles para la reservaservicenetworking
en tu red. Puedes añadir un nuevo intervalo a la configuración de emparejamiento de redes de VPC o eliminar algunos recursos de Vertex AI para liberar direcciones IP asignadas.Tiempos de espera de conexión: después de exportar rutas personalizadas, las conexiones de Vertex AI se dirigirán a través de tu red para llegar a los endpoints de otras redes. Sin embargo, es posible que esos endpoints no se enruten a través de tu red para enviar respuestas de vuelta a Vertex AI. Asegúrate de añadir también rutas estáticas o dinámicas en esas redes para la ruta de retorno al intervalo de IPs asignado a Vertex AI.
Errores de tiempo de espera de conexión o de host no accesible: como no se admite el peering transitivo, las conexiones de Vertex AI no podrán acceder a los endpoints de otras redes que estén emparejadas directamente con tu red, aunque la opción "Exportar rutas personalizadas" esté habilitada. Ponte en contacto con el administrador de tu red para asegurarte de que no se intenta enrutar directamente tu red de una red emparejada directamente a otra. Si es necesario, puedes sustituir uno de estos saltos de peering por una solución que admita rutas estáticas o dinámicas.
Errores de DNS Host Unreachable: si tu trabajo de Vertex AI necesita resolver nombres de host en tu VPC, asegúrate de haber completado la configuración para compartir zonas de DNS privadas con productores de servicios.
Si se produce el error
Unable to create an instance within a Shared VPC network
, consulta Solucionar problemas de Vertex AI Workbench.Si aparece el mensaje de error
For the peered network $network_name, couldn't find a free blocks in allocated IP ranges. This is needed to create the cluster.
, debes aumentar el número de intervalos asignados disponibles para el servicio. Puedes hacerlo de las siguientes formas:- Añade un nuevo intervalo asignado a tu red y añádelo a tu conexión privada
servicenetworking-googleapis-com
. Ten en cuenta que el tamaño mínimo del intervalo asignado es/18
. - Elimina los recursos de Vertex AI que no utilices para liberar las direcciones IP asignadas.
También puedes sustituir el emparejamiento de redes de VPC por una conexión de acceso a servicios privados.
- Añade un nuevo intervalo asignado a tu red y añádelo a tu conexión privada
Para obtener más información sobre cómo solucionar problemas, consulta la guía de solución de problemas de emparejamiento entre redes de VPC.
Siguientes pasos
- Consulta cómo usar IPs privadas para el entrenamiento personalizado.
- Consulta cómo usar los endpoints privados para la inferencia.
- Consulta más información sobre el emparejamiento entre redes de VPC.
- Consulta las arquitecturas de referencia y las prácticas recomendadas para diseñar una VPC.