Comienza a usar Batch

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 por lotes para la computación de alto rendimiento (HPC), el aprendizaje automático (AA) y las cargas de trabajo de procesamiento de datos. La modalidad por lotes 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 tareas de terceros, aprovisionar y desaprovisionar recursos, ni solicitar recursos por zona a la vez. Para ejecutar un trabajo, especifica los parámetros para los recursos necesarios para la carga de trabajo y, luego, Batch obtiene los recursos y los pone 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 enfocarte en enviar un trabajo y consumir los resultados.

El lote consta de los siguientes componentes:

  • Tarea: Es un programa programado que ejecuta un conjunto de tareas hasta completarlas sin ninguna interacción del usuario, por lo general, para cargas de trabajo de procesamiento. Por ejemplo, un trabajo puede ser una sola 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 ejecutarán esas tareas. El programa del trabajo se define como una secuencia de uno o más elementos 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: Es una ejecución de la secuencia de elementos ejecutables de un trabajo. Cuando un trabajo tiene varias tareas, especificas 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 una tarea. 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 inicio. De manera opcional, también puedes especificar otras opciones de recursos para la tarea. Por lotes, 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 regional (MIG), 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 y la memoria de la CPU, 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, GPUs o volúmenes de almacenamiento externo. La cantidad de VMs aprovisionadas para una tarea 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 usan 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 aplica ningún costo adicional 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 un solo grupo de tareas llamado group0.

Requisitos previos

Para comenzar a usar Batch, completa los siguientes requisitos previos:

  1. Si tu proyecto nunca usó Batch, habilita Batch para tu proyecto.
  2. Configura Batch para cada usuario nuevo.

Habilita Batch para un proyecto

Para comenzar a usar Batch con un proyecto, haz lo siguiente:

  1. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  2. Make sure that billing is enabled for your Google Cloud project.

  3. Asegúrate de que el procesamiento por lotes esté habilitado para tu proyecto:

    1. Habilita las APIs de Batch con la consola deGoogle Cloud o Google Cloud CLI.

      Console

      Enable the Batch, Compute Engine, and Cloud Logging APIs.

      Enable the APIs

      gcloud

      Enable the Batch, Compute Engine, and Cloud Logging APIs:

      gcloud services enable batch.googleapis.com compute.googleapis.com logging.googleapis.com

    2. Asegúrate de que tu proyecto tenga una o más cuentas de servicio con los permisos necesarios para crear y acceder a los recursos para ejecutar trabajos de Batch.

      Es importante que a los usuarios a los que quieras permitir que creen y ejecuten trabajos por lotes en tu proyecto se les otorgue permiso para usar una de estas cuentas de servicio. Por lo tanto, no selecciones cuentas de servicio que tengan más permisos que los que deseas 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 usa 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, usa el escritor de registros (roles/logging.logWriter) en el proyecto.

      Es posible que la cuenta de servicio que uses para un trabajo también requiera roles adicionales según las opciones de configuración que quieras 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 Cómo restringir las cuentas de servicio y Cómo administrar el acceso a las cuentas de servicio.

    3. Asegúrate de conocer el agente de servicio de lotes de tu proyecto:

      Después de crear un trabajo de lotes, el agente de servicio de lotes se crea automáticamente 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 una tarea 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.

Cómo configurar lotes para un usuario nuevo

Para comenzar a usar Batch como usuario, haz lo siguiente:

  1. Para obtener los permisos que necesitas para usar Batch, pídele a tu administrador que te otorgue los roles de IAM necesarios 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, sigue estos pasos:
    • Para enumerar y describir trabajos, usa el editor de trabajos por lotes (roles/batch.jobsEditor) o el visor de trabajos por lotes (roles/batch.jobsViewer) en el proyecto.
    • Para ver los registros de las tareas, usa el visor de registros (roles/logging.viewer) en el proyecto.
    • Para borrar trabajos, usa el 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.

  2. Si quieres usar los ejemplos de la línea de comandos de Batch, configura Google Cloud CLI de la siguiente manera. Obtén más información sobre la autenticación de Google Cloud CLI.

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init

    2. Opción recomendada: Configura un proyecto predeterminado con el comando gcloud config set project:

      gcloud config set project PROJECT_ID
      

      Reemplaza PROJECT_ID por el ID de proyecto de tu proyecto.

  3. Si deseas usar los ejemplos de API o de biblioteca cliente para lotes, consulta Cómo autenticarse en lotes.

Obtenga asistencia

Puedes hablar sobre Batch con la comunidad usando la etiqueta de Batch en los foros de Cloud.

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 deasistencia de facturación.

  • Si tienes un paquete de asistencia pagada, 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 la asistencia deGoogle Cloud .

  • Para enviar comentarios o solicitudes de funciones para Batch, o para informar problemas de 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 los comentarios relacionados con la documentación de Batch, selecciona "Comentarios sobre la documentación".
    • Para todos los demás comentarios sobre Batch, selecciona “Comentarios sobre el producto”.

¿Qué sigue?