En este documento se explica cómo usar Controles de Servicio de VPC con Batch. Controles de Servicio de VPC te permite proteger los recursos y los datos de los Google Cloud servicios aislando recursos específicos en perímetros de servicio. Un perímetro de servicio bloquea las conexiones con Google Cloud servicios que están fuera del perímetro y las conexiones de Internet que no se hayan permitido explícitamente.
- Para configurar un perímetro de servicio de Controles de Servicio de VPC para usar Batch, consulta Configurar un perímetro de servicio para Batch en este documento.
- Si tu proyecto o red usa Controles de Servicio de VPC para restringir el acceso a la red de Batch, debes configurar tus trabajos de Batch para que se ejecuten en el perímetro de servicio necesario. Para saber cómo hacerlo, consulta Crear un trabajo que se ejecute en un perímetro de servicio en este documento.
Para obtener más información sobre los conceptos de redes y cuándo configurar las redes, consulta la información general sobre las redes por lotes.
Antes de empezar
- Si no has usado Batch antes, consulta el artículo Empezar a usar Batch y habilita Batch completando los requisitos previos para proyectos y usuarios.
-
Para obtener los permisos que necesitas para usar Controles de Servicio de VPC con Batch, pide a tu administrador que te conceda los siguientes roles de IAM:
-
Para configurar un perímetro de servicio, haz lo siguiente:
Editor del Administrador de contextos de acceso (
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 de forma predeterminada es la cuenta de servicio predeterminada de Compute Engine
-
Editor de trabajos por lotes (
-
Para identificar el perímetro de servicio de un proyecto o una red, haz lo siguiente:
Lector del Administrador de contextos de acceso (
roles/accesscontextmanager.policyReader
) en el proyecto -
Para identificar la red y la subred de un trabajo, haz lo siguiente:
Lector de red de Compute (
roles/compute.networkViewer
) en el proyecto
Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.
También puedes conseguir los permisos necesarios a través de roles personalizados u otros roles predefinidos.
-
Para configurar un perímetro de servicio, haz lo siguiente:
Editor del Administrador de contextos de acceso (
-
Si creas un trabajo que se ejecuta en un perímetro de servicio, debes identificar la red que quieres usar para el trabajo. La red que especifique para un trabajo que se ejecute en un perímetro de servicio debe cumplir los siguientes requisitos:
- La red es una red de nube privada virtual (VPC) que está en el mismo proyecto que el trabajo o es una red de VPC compartida que está alojada en el proyecto del trabajo o se comparte con él.
- La red incluye una subred en la ubicación en la que quieres ejecutar el trabajo.
- La red está en el perímetro de servicio necesario y usa Acceso privado de Google para permitir el acceso a los dominios de las APIs y los servicios que usa tu trabajo. Para obtener más información, consulta el artículo Configurar un perímetro de servicio para Batch de este documento.
Configurar un perímetro de servicio para Batch
Para configurar un perímetro de servicio para Batch, sigue estos pasos:
Planifica la configuración de tu perímetro de servicio. Para obtener una descripción general de las fases de configuración de los perímetros de servicio, consulta la documentación de Controles de Servicio de VPC sobre los detalles y la configuración de los perímetros de servicio.
Para usar Batch, el perímetro de servicio debe cumplir los siguientes requisitos:
Servicios restringidos: para proteger Batch dentro de un perímetro de servicio, debes incluir los servicios que se requieran para tus trabajos de Batch en ese perímetro, como los siguientes: Google Cloud
- API Batch (
batch.googleapis.com
) - API de Cloud Logging (
logging.googleapis.com
): es obligatoria si quieres que tus trabajos escriban registros en Cloud Logging. (Recomendado) - API de Container Registry (
containerregistry.googleapis.com
): obligatoria si envías un trabajo que usa contenedores con una imagen de Container Registry. - API de Artifact Registry (
artifactregistry.googleapis.com
): 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 recurso compartido de archivos de Filestore. - API de Cloud Storage (
storage.googleapis.com
): necesaria para algunos trabajos que usan un cubo de Cloud Storage. Obligatorio si usas una imagen para tu trabajo por lotes que no tenga el agente de servicio de Batch preinstalado.
Para saber cómo habilitar cada uno de estos servicios en tu perímetro de servicio, consulta Servicios accesibles de VPC.
Por cada servicio que incluyas que no sea Batch, también debes verificar que tu perímetro de servicio cumpla los requisitos que se indican en la documentación Productos y limitaciones compatibles con Controles de Servicio de VPC.
- API Batch (
Redes de VPC: cada trabajo de Batch requiere una red de VPC, por lo que tu perímetro de servicio debe incluir una red de VPC en la que se puedan ejecutar los trabajos de Batch. Para saber cómo configurar una red de VPC que pueda ejecutar tus trabajos de Batch dentro de un perímetro de servicio, consulta los siguientes documentos:
- Para obtener una descripción general sobre el uso de redes de VPC en un perímetro de servicio, consulta Gestión de redes de VPC en perímetros de servicio.
- Para saber cómo usar Acceso privado a Google con Controles de Servicio de VPC para configurar el acceso a los Google Cloud servicios que necesitan tus trabajos de Batch, consulta Configurar la conectividad privada a las APIs y los servicios de Google.
- Para obtener más información sobre los requisitos de red de los trabajos por lotes, consulta el artículo Información general sobre las redes de los trabajos.
Cree un perímetro de servicio o actualice uno que ya tenga para cumplir estos requisitos.
Crear 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 de todas las VMs en las que se ejecuta el trabajo y especificar una red y una subred que permitan que el trabajo acceda a las APIs necesarias.
Para crear un trabajo que se ejecute en un perímetro de servicio, sigue los pasos que se indican en la documentación sobre cómo crear un trabajo que bloquee el acceso externo a todas las VMs y especifica una red que cumpla los requisitos de red de un trabajo que se ejecute en un perímetro de servicio.
Siguientes pasos
- Si tienes problemas para crear o ejecutar un trabajo, consulta la sección Solución de problemas.
- Más información sobre las redes
- Más información sobre cómo crear un trabajo
- Consulta cómo ver trabajos y tareas.