En esta página, se describe cómo comenzar a usar Batch para Google Cloud.
Descripción general
Batch es un servicio completamente administrado que te permite programar, poner en cola y ejecutar cargas de trabajo de procesamiento por lotes en recursos de Google Cloud . Por ejemplo, considera usar Batch para cargas de trabajo de computación de alto rendimiento (HPC), aprendizaje automático (AA) y procesamiento de datos. Batch aprovisiona recursos y administra la capacidad en tu nombre, lo que permite que tus cargas de trabajo por lotes se ejecuten a gran escala.
Con Batch, no necesitas configurar ni administrar programadores de trabajos de terceros, aprovisionar ni desaprovisionar recursos, ni solicitar recursos una zona a la vez. Para ejecutar un trabajo, especifica los parámetros de los recursos que requiere tu carga de trabajo. Luego, Batch obtiene los recursos y pone el trabajo en cola para su ejecución. Batch proporciona integración nativa con otros servicios de Google Cloud para ayudar en la programación, ejecución, almacenamiento y análisis de trabajos por lotes, de modo que puedas concentrarte en enviar un trabajo y consumir los resultados.
El lote consta de los siguientes componentes:
Trabajo: Es un programa programado que ejecuta un conjunto de tareas hasta su finalización sin interacción del usuario, por lo general, para cargas de trabajo de procesamiento. Por ejemplo, un trabajo puede ser un solo secuencia de comandos de shell o un cálculo complejo de varias partes.
Específicamente, un trabajo por lotes representa un array de una o más tareas y el entorno en el que se ejecutan esas tareas. Defines el programa para el trabajo como una secuencia de uno o más ejecutables. Cada tarea ejecuta la secuencia de elementos ejecutables en los recursos del trabajo. Puedes configurar las tareas de un trabajo para que se ejecuten en paralelo o de forma secuencial.
Tarea: Una ejecución de la secuencia de elementos ejecutables de un trabajo. Cuando un trabajo tiene varias tareas, debes especificar cómo deseas que varíe cada ejecución haciendo referencia a la variable de entorno del índice de una tarea en los ejecutables del trabajo.
Ejecutable: Es una secuencia de comandos o un contenedor ejecutable que defines como parte de un trabajo.
Recursos: La infraestructura necesaria para ejecutar un trabajo. Como mínimo, solo debes especificar los recursos de procesamiento necesarios por tarea: núcleos de CPU, memoria y (si es necesario) almacenamiento adicional en el disco de arranque. De manera opcional, también puedes especificar otras opciones de recursos para el trabajo. Batch crea y borra automáticamente los recursos que cumplen con tus especificaciones durante el tiempo de ejecución del trabajo.
Específicamente, cada trabajo por lotes se ejecuta en un grupo de instancias administrado (MIG) regional, que es un grupo de una o más instancias de máquina virtual (VM) de Compute Engine coincidentes que se encuentran en una de las zonas incluidas. Cada VM tiene hardware dedicado para los núcleos de CPU y la memoria, que afectan el rendimiento de tu trabajo, y un disco de arranque, que almacena una imagen del sistema operativo (SO) y las instrucciones para ejecutar tu trabajo. Si se especifica, un trabajo también puede incluir o acceder a recursos adicionales, por ejemplo, GPU o volúmenes de almacenamiento externos. La cantidad de VMs aprovisionadas para un trabajo depende de los requisitos de hardware y las opciones de programación de tareas que especifiques.
En resumen, Batch te permite crear y ejecutar trabajos que aprovisionan y utilizan automáticamente los recursos necesarios para ejecutar sus tareas.
Para obtener más información sobre el comportamiento y las opciones de los trabajos, consulta la página Descripción general de la creación y ejecución de trabajos.
Precios
No se aplican cargos adicionales por usar Batch. Solo se te cobra el costo de los recursos subyacentes necesarios para ejecutar tus trabajos.
Para obtener más información sobre los costos asociados con Batch y cómo filtrar los informes de Facturación de Cloud para ver los costos de Batch, consulta Precios.
Restricciones
El procesamiento por lotes tiene las siguientes restricciones:
- No puedes exceder las cuotas y los límites de lotes de tu proyecto.
- Solo puedes especificar un tipo de máquina, que puede ser predefinido o personalizado, por trabajo.
- No puedes especificar más de un grupo de tareas por trabajo. Todos los trabajos tienen solo un grupo de tareas llamado
group0
.
Requisitos previos
Para comenzar a usar Batch, completa los siguientes requisitos previos:
- Si tu proyecto no usó Batch antes, habilita Batch para tu proyecto.
- Configura Batch para cada usuario nuevo.
Habilita Batch para un proyecto
Para comenzar a usar Batch con un proyecto, haz lo siguiente:
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Verify that billing is enabled for your Google Cloud project.
Asegúrate de que Batch esté habilitado para tu proyecto:
Enable the Batch, Compute Engine, and Cloud Logging APIs.
Asegúrate de que tu proyecto tenga una o más cuentas de servicio con los permisos necesarios para crear recursos y acceder a ellos para ejecutar trabajos de Batch.
Es importante destacar que a los usuarios a los que quieras permitirles crear y ejecutar trabajos de Batch en tu proyecto se les debe otorgar permiso para usar una de estas cuentas de servicio. Por lo tanto, no selecciones cuentas de servicio que tengan más permisos de los que quieres otorgar a estos usuarios.
La cuenta de servicio que usa cada trabajo de forma predeterminada es la cuenta de servicio predeterminada de Compute Engine, pero también puedes personalizar la cuenta de servicio que usa un trabajo.
A menos que planees usar solo la configuración predeterminada para las cuentas de servicio de tu trabajo, otorga los siguientes roles de IAM a las cuentas de servicio que tu proyecto use para los trabajos por lotes.
- Informante del agente por lotes (
roles/batch.agentReporter
) en el proyecto - Para permitir que los trabajos generen registros en Cloud Logging: Escritor de registros (
roles/logging.logWriter
) en el proyecto
La cuenta de servicio que usas para un trabajo también puede requerir roles adicionales según las opciones de configuración que desees usar para tus trabajos. Consulta la documentación de cada tarea para ver si se requieren permisos adicionales. Para obtener más información sobre cómo otorgar roles a las cuentas de servicio, consulta Restringe las cuentas de servicio y Administra el acceso a las cuentas de servicio.
- Informante del agente por lotes (
Asegúrate de conocer el agente de servicio de Batch de tu proyecto:
Después de crear un trabajo por lotes, se crea automáticamente el agente de servicio de Batch para tu proyecto con el siguiente nombre:
service-PROJECT_NUMBER@gcp-sa-cloudbatch.iam.gserviceaccount.com
Reemplaza
PROJECT_NUMBER
por el número de proyecto de tu proyecto.El agente de servicio de Batch recibe automáticamente el rol de IAM de agente de servicio de Google Batch (
roles/batch.serviceAgent
). Esta configuración es necesaria para que tu proyecto use Batch.Sin embargo, ciertos casos de uso, por ejemplo, ejecutar un trabajo en una red de VPC compartida, requieren que otorgues permisos adicionales al agente de servicio de Batch de tu proyecto.
Para obtener más información, consulta Agentes de servicio.
Configura Batch para un usuario nuevo
Para comenzar a usar Batch como usuario, haz lo siguiente:
Para obtener los permisos que necesitas para usar Batch, pídele a tu administrador que te otorgue los roles de IAM requeridos en el proyecto. Consulta la documentación de cada tarea para ver los permisos necesarios.
Por ejemplo, si quieres comenzar a aprender a usar Batch creando un trabajo básico, considera solicitar roles para las siguientes tareas:
- Para crear trabajos, haz lo siguiente:
- 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 enumerar y describir trabajos: Editor de trabajos por lotes (
roles/batch.jobsEditor
) o Visualizador de trabajos por lotes (roles/batch.jobsViewer
) en el proyecto - Para ver los registros de los trabajos: Visualizador de registros (
roles/logging.viewer
) en el proyecto - Para borrar trabajos: Editor de trabajos por lotes (
roles/batch.jobsEditor
) en el proyecto
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso.
- Para crear trabajos, haz lo siguiente:
Si quieres usar los ejemplos de línea de comandos para Batch, configura Google Cloud CLI de la siguiente manera. Obtén más información sobre la autenticación para Google Cloud CLI.
Instala Google Cloud CLI. Después de la instalación, inicializa Google Cloud CLI ejecutando el siguiente comando:
gcloud init
Si usas un proveedor de identidad externo (IdP), primero debes acceder a gcloud CLI con tu identidad federada.
Recomendación: Configura un proyecto predeterminado con el comando
gcloud config set project
:gcloud config set project PROJECT_ID
Reemplaza
PROJECT_ID
por el ID del proyecto de tu proyecto.
Si deseas usar los ejemplos de la API o de la biblioteca cliente para Batch, consulta Autenticación en Batch.
Obtenga asistencia
Puedes comentar Batch con la comunidad usando la etiqueta de Batch en los foros del Programa para desarrolladores de Google.
Si tienes problemas con Batch, consulta la documentación de solución de problemas.
Para obtener asistencia o enviar comentarios sobre Batch, usa los siguientes recursos:
Si tienes problemas de facturación con Google Cloud, comunícate con el equipo de asistencia para la facturación.
Si tienes un paquete de asistencia paga, comunícate directamente con el equipo de asistencia de Google Cloud si tienes problemas con Batch.
Google Cloud ofrece diferentes paquetes de asistencia para satisfacer distintas necesidades, como asistencia telefónica, cobertura las 24 horas, todos los días y acceso a un administrador de asistencia técnica. Para obtener más información, consulta Asistencia paraGoogle Cloud .
Para enviar comentarios o solicitudes de funciones sobre Batch, o para informar problemas relacionados con Batch sin un paquete de asistencia pagado, haz clic en el botón Enviar comentarios, que se encuentra al principio y al final de cada página de la documentación de Batch. Luego, selecciona una de las siguientes opciones:
- Para enviar comentarios relacionados con la documentación de Batch, selecciona "Comentarios sobre la documentación".
- Para enviar cualquier otro comentario sobre Batch, selecciona "Comentarios sobre el producto".
¿Qué sigue?
Descubre más sobre Batch:
Obtén más información para crear un trabajo.
Obtén más información sobre los productos Google Cloud relacionados: