En este documento, se explica cómo usar los Controles del servicio de VPC con Batch. Los Controles del servicio de VPC te permiten proteger los recursos y los datos de los servicios de Google Cloud mediante el aislamiento de recursos específicos en perímetros de servicio. Un perímetro de servicio bloquea las conexiones con los servicios de Google Cloud fuera del perímetro y cualquier conexión de Internet que no se permita de forma explícita.
- Si deseas configurar un perímetro de servicio de los Controles del servicio de VPC para usar Batch, consulta Configura un perímetro de servicio para Batch en este documento.
- Si el proyecto o la red usan Controles del servicio de VPC a fin de restringir el acceso a las herramientas de redes para Batch, debes configurar los trabajos por lotes a fin de que se ejecuten en el perímetro de servicio requerido. Para obtener información sobre cómo hacerlo, consulta Crea un trabajo que se ejecute en un perímetro de servicio en este documento.
Si deseas obtener más información sobre los conceptos de las herramientas de redes y cuándo configurarlas, consulta la Descripción general de las redes por lotes.
Antes de comenzar
- Si nunca usaste Batch, revisa Comienza a usar Batch y completa los requisitos previos para proyectos y usuarios a fin de habilitar Batch.
-
A fin de obtener los permisos que necesitas para usar los Controles del servicio de VPC con Batch, pídele a tu administrador que te otorgue los siguientes roles de IAM:
-
Para configurar un perímetro de servicio, haz lo siguiente:
Editor de Access Context Manager (
roles/accesscontextmanager.policyEditor
) en el proyecto -
Para crear un trabajo, sigue estos pasos:
-
Editor de trabajos por lotes (
roles/batch.jobsEditor
) en el proyecto -
Usuario de cuenta de servicio (
roles/iam.serviceAccountUser
) en la cuenta de servicio del trabajo, que es la cuenta de servicio predeterminada de Compute Engine de forma predeterminada
-
Editor de trabajos por lotes (
-
Para identificar el perímetro de servicio de un proyecto o una red, usa el lector de Access Context Manager (
roles/accesscontextmanager.policyReader
) en el proyecto. -
Para identificar la red y la subred de un trabajo, usa el Visualizador de red de Compute (
roles/compute.networkViewer
) en el proyecto.
Si quieres obtener más información para otorgar funciones, consulta Administra el acceso.
Es posible que también puedas obtener los permisos necesarios mediante funciones personalizadas, o bien otras funciones predefinidas.
-
Para configurar un perímetro de servicio, haz lo siguiente:
Editor de Access Context Manager (
-
Si creas un trabajo que se ejecuta en un perímetro de servicio, debes identificar la red que deseas usar para el trabajo. La red que especifiques para un trabajo que se ejecuta en un perímetro de servicio debe cumplir con los siguientes requisitos:
- La red es una red de nube privada virtual (VPC) que se encuentra en el mismo proyecto que el trabajo o es una red de VPC compartida que se aloja en el proyecto o se comparte con él.
- La red incluye una subred (subred) en la ubicación en la que deseas ejecutar el trabajo.
- La red se encuentra en el perímetro de servicio requerido y usa el Acceso privado a Google para permitir el acceso a los dominios de las API y los servicios que usa tu trabajo. Si quieres obtener más información, consulta Configura un perímetro de servicio para Batch en este documento.
Configura un perímetro de servicio para Batch
A fin de configurar un perímetro de servicio para Batch, haz lo siguiente:
Planifica la configuración de tu perímetro de servicio. Para obtener una descripción general de las etapas de configuración de los perímetros de servicio, consulta la documentación de los Controles del servicio de VPC para Detalles y configuración del perímetro de servicio.
Para usar Batch, el perímetro de servicio debe cumplir con los siguientes requisitos:
Servicios restringidos: Para proteger Batch dentro de un perímetro de servicio, debes incluir los servicios de Google Cloud necesarios para los trabajos de Batch en ese perímetro, como los siguientes:
- API de Batch (
batch.googleapis.com
) - API de Cloud Logging (
logging.googleapis.com
): Es obligatoria si deseas que los trabajos escriban registros en Cloud Logging. (recomendado) - API de Container Registry (
containerregistry.googleapis.com
): Es obligatoria si envías un trabajo que usa contenedores con una imagen de Container Registry. - API de Artifact Registry (
artifactregistry.googleapis.com
): Es obligatoria si envías un trabajo que usa contenedores con una imagen de Artifact Registry. - API de Filestore (
file.googleapis.com
): obligatoria si tu trabajo usa un archivo compartido de Filestore. - API de Cloud Storage (
storage.googleapis.com
): Obligatorio para algunos trabajos que usan un bucket de Cloud Storage. Obligatorio si usas una imagen para tu trabajo de Batch que no tiene preinstalado el agente de servicio de Batch.
Para aprender a habilitar cada uno de estos servicios en tu perímetro de servicio, consulta Servicios accesibles de VPC.
Para cada servicio que incluyas, excepto por Batch, también debes verificar que tu perímetro de servicio cumpla con los requisitos que se enumeran para ese servicio en la documentación Productos compatibles y limitaciones de los Controles del servicio de VPC.
- API de Batch (
Redes de VPC: Cada trabajo por lotes requiere una red de VPC, por lo que el perímetro de servicio debe incluir una red de VPC en la que se puedan ejecutar los trabajos por lotes. Para aprender a configurar una red de VPC que pueda ejecutar tus trabajos por lotes dentro de un perímetro de servicio, consulta los siguientes documentos:
- Para obtener una descripción general del uso de redes de VPC en un perímetro de servicio, consulta Administración de redes de VPC en perímetros de servicio.
- Si quieres aprender a usar el Acceso privado a Google con los Controles del servicio de VPC para configurar el acceso a los servicios de Google Cloud necesarios en los trabajos por lotes, consulta Configura la conectividad privada a los servicios y las API de Google.
- Si quieres obtener más información sobre los requisitos de red para los trabajos por lotes, consulta Descripción general de las redes de trabajo.
Crea un perímetro de servicio nuevo o actualiza uno existente para cumplir con estos requisitos.
Crea un trabajo que se ejecute en un perímetro de servicio
Cuando creas un trabajo que se ejecuta en un perímetro de servicio, también debes bloquear el acceso externo a todas las VM en las que se ejecuta un trabajo y especificar una red y subred que permitan que el trabajo acceda a las APIs requeridas.
Si deseas crear un trabajo que se ejecute en un perímetro de servicio, sigue los pasos de la documentación para crear un trabajo que bloquee el acceso externo a todas las VM y especifica una red que cumpla con los requisitos de red para un trabajo que se ejecuta en un perímetro de servicio.
¿Qué sigue?
- Si tienes problemas para crear o ejecutar un trabajo, consulta Solución de problemas.
- Obtén más información sobre las herramientas de redes.
- Obtén más información sobre cómo crear un trabajo.
- Aprende a ver trabajos y tareas.