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 Google Cloud recursos de. 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 de una 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 Google Cloud servicios para ayudar a programar, ejecutar, almacenar y analizar trabajos por lotes, de modo que puedas enfocarte en enviar un trabajo y consumir los resultados.

Batch consta de los siguientes componentes:

  • Trabajo: Es un programa programado que ejecuta un conjunto de tareas hasta completarlas sin 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.

    En particular, un trabajo de Batch representa un array de una o más tareas y el entorno para ejecutar esas tareas. Defines el programa para el trabajo 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 para el índice de una tarea en los elementos ejecutables del trabajo.

  • Elemento ejecutable: Es una secuencia de comandos o un contenedor ejecutable que defines como parte de un trabajo.

  • Recursos: Es la infraestructura necesaria para ejecutar un trabajo. Como mínimo, solo necesitas 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.

    En particular, 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 núcleos de CPU y memoria, que afectan el rendimiento de tu trabajo, y un disco de arranque, que almacena una imagen de 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 externo. 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 hay 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

Batch tiene las siguientes restricciones:

  • No puedes exceder las cuotas y los límites de Batch para tu proyecto.
  • Los trabajos solo pueden usar tipos de máquinas de las siguientes series de máquinas:
    • Uso general: C4, C4A, C4D, C3, C3D, E2, N4, N2D, N2, N1 y T2D
    • Optimizadas para procesamiento: C2, C2D y H3
    • Optimizadas para memoria: M3, M2 y M1
    • Optimizadas para aceleradores: A4, A3 Ultra, A3 Mega, A3 High, A2 y G2
  • Puedes especificar solo 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:

  1. Si tu proyecto no usó Batch antes, 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. En la Google Cloud consola de, en la página del selector de proyectos, selecciona o crea un Google Cloud proyecto de.

    Roles necesarios para seleccionar o crear un proyecto

    • Seleccionar un proyecto: Para seleccionar un proyecto, no se requiere un rol de IAM específico. Puedes seleccionar cualquier proyecto en el que se te haya otorgado un rol.
    • Crear un proyecto: Para crear un proyecto, necesitas el rol de creador de proyectos (roles/resourcemanager.projectCreator), que contiene el resourcemanager.projects.create permiso. Obtén más información para otorgar roles.

    Ir al selector de proyectos

  2. Verifica que la facturación esté habilitada para tu Google Cloud proyecto.

  3. Asegúrate de que Batch esté habilitado para tu proyecto:

    1. Habilita las APIs de Batch, Compute Engine y Cloud Logging.

      Roles necesarios para habilitar las APIs

      Para habilitar las APIs, necesitas el rol de IAM de administrador de Service Usage (roles/serviceusage.serviceUsageAdmin), que contiene el permiso serviceusage.services.enable. Obtén más información para otorgar roles.

      Habilitar las API

    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 destacar que cualquier usuario al que desees permitir crear y ejecutar trabajos de Batch en tu proyecto debe tener 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 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 qué cuenta de servicio 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 usa tu proyecto para los trabajos de Batch.

      • 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 deseas 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 cuentas de servicio, consulta Restringe las cuentas de servicio y Administra el acceso a las cuentas de servicio.

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

      Después de crear un trabajo de Batch, el agente de servicio de Batch 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.

      Al agente de servicio de Batch se le otorga 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:

  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 deseas comenzar a aprender a usar Batch creando un trabajo básico, considera solicitar roles para las siguientes tareas:

    • Para crear trabajos:
    • 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.

  2. Si deseas usar los ejemplos de la 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.

    1. Instala la Google Cloud CLI. Después de la instalación, inicializa Google Cloud CLI con el siguiente comando:

      gcloud init

      Si usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.

    2. Recomendado: Configura un proyecto predeterminado con el gcloud config set project comando:

      gcloud config set project PROJECT_ID
      

      Reemplaza PROJECT_ID por el ID del proyecto de tu proyecto.

  3. Si deseas usar los ejemplos de la API o los ejemplos de la biblioteca cliente para Batch, consulta Autentícate en Batch.

Obtenga asistencia

Puedes hablar sobre 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:

  • Para problemas de facturación con Google Cloud, comunícate con el equipo de asistencia de Facturación de Cloud.

  • Si tienes un paquete de asistencia paga, comunícate con el equipo de asistencia Google Cloud directamente para 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 Google Cloud Asistencia.

  • Para enviar comentarios o solicitudes de funciones para Batch, o para informar problemas de Batch sin un paquete de asistencia paga, haz clic en el botón Enviar comentarios, que puedes encontrar al principio y al final de cada página de 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 todos los demás comentarios sobre Batch, selecciona “Comentarios sobre el producto”.

¿Qué sigue?