Empezar a usar Batch

En esta página se describe cómo empezar a usar Batch para Google Cloud.

Información general

Batch es un servicio totalmente gestionado que te permite programar, poner en cola y ejecutar cargas de trabajo de procesamiento por lotes en recursos de Google Cloud . Por ejemplo, puedes usar Batch para cargas de trabajo de computación de alto rendimiento (HPC), aprendizaje automático (ML) y procesamiento de datos. Batch aprovisiona recursos y gestiona la capacidad en tu nombre, lo que permite que tus cargas de trabajo por lotes se ejecuten a gran escala.

Con Batch, no tienes que configurar ni gestionar programadores de trabajos de terceros, aprovisionar ni desaprovisionar recursos, ni solicitar recursos de una zona cada vez. Para ejecutar un trabajo, debes especificar los parámetros de los recursos que necesita tu carga de trabajo. A continuación, Batch obtiene los recursos y pone el trabajo en cola para su ejecución. Batch ofrece una integración nativa con otros Google Cloud servicios para facilitar la programación, la ejecución, el almacenamiento y el análisis de tareas por lotes, de modo que puedas centrarte en enviar una tarea y consumir los resultados.

Batch consta de los siguientes componentes:

  • Tarea: programa programado que ejecuta un conjunto de tareas hasta completarlas sin que el usuario tenga que hacer nada. Normalmente, se usa para cargas de trabajo computacionales. Por ejemplo, un trabajo puede ser un único script de shell o un cálculo complejo de varias partes.

    En concreto, un trabajo por lotes representa una matriz de una o varias tareas y el entorno en el que se ejecutan esas tareas. El programa de la tarea 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: una ejecución de la secuencia de elementos ejecutables de un trabajo. Cuando una tarea tiene varias tareas, puedes especificar cómo quieres que varíe cada ejecución haciendo referencia a la variable de entorno del índice de una tarea en los elementos ejecutables de la tarea.

  • Ejecutable: secuencia de comandos o contenedor ejecutable que defines como parte de una tarea.

  • Recursos: la infraestructura necesaria para ejecutar un trabajo. Como mínimo, solo tienes que especificar los recursos de computación necesarios por tarea: núcleos de CPU, memoria y (si es necesario) almacenamiento adicional en el disco de arranque. También puedes especificar otras opciones de recursos para el trabajo. Batch crea y elimina automáticamente los recursos que cumplen tus especificaciones durante el tiempo de ejecución del trabajo.

    En concreto, cada trabajo de Batch se ejecuta en un grupo de instancias gestionado (MIG) regional, que es un grupo de una o más instancias de máquina virtual (VM) de Compute Engine coincidentes, cada una de las cuales se encuentra en una de las zonas incluidas. Cada VM tiene hardware dedicado para los núcleos de CPU y la memoria, que influyen en el rendimiento de tu trabajo, y un disco de arranque, que almacena una imagen del sistema operativo (SO) e instrucciones para ejecutar tu trabajo. Si se especifica, un trabajo también puede incluir o acceder a recursos adicionales, como GPUs o volúmenes de almacenamiento externos. El número de VMs aprovisionadas para una tarea depende de los requisitos de hardware y de 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 la ejecución de trabajos.

Precios

No se te cobrará nada por usar Batch. Solo se te cobra el coste de los recursos subyacentes necesarios para ejecutar tus trabajos.

Para obtener más información sobre los costes asociados a Batch y cómo filtrar los informes de Facturación de Cloud para ver los costes de Batch, consulta la página Precios.

Restricciones

Batch tiene las siguientes restricciones:

  • No puedes superar las cuotas y los límites de lotes de tu proyecto.
  • Solo puedes especificar un tipo de máquina por tarea, que puede ser predefinido o personalizado.
  • No se puede especificar más de un grupo de tareas por trabajo. Todas las tareas tienen un solo grupo de tareas llamado group0.

Requisitos previos

Para empezar a usar Batch, debes cumplir los siguientes requisitos:

  1. Si tu proyecto no ha usado Batch antes, habilita Batch en tu proyecto.
  2. Configura Batch para cada usuario nuevo.

Habilitar Batch en un proyecto

Para empezar 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.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  2. Verify that billing is enabled for your Google Cloud project.

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

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

      Roles required to enable APIs

      To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

      Enable the APIs

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

      Es importante tener en cuenta que, para que los usuarios puedan crear y ejecutar trabajos por lotes en tu proyecto, debes concederles 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 quieras conceder 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 tengas previsto usar solo la configuración predeterminada de las cuentas de servicio de tu trabajo, concede los siguientes roles de gestión de identidades y accesos a las cuentas de servicio que tu proyecto utilice para los trabajos de Batch.

      • Reportero de agentes por lotes (roles/batch.agentReporter) en el proyecto
      • Para permitir que los trabajos generen registros en Cloud Logging: Logs Writer (roles/logging.logWriter) en el proyecto

      La cuenta de servicio que uses para un trabajo también puede requerir roles adicionales en función de las opciones de configuración que quieras usar en tus trabajos. Consulta la documentación de cada tarea para ver si se necesitan permisos adicionales. Para obtener más información sobre cómo asignar roles a cuentas de servicio, consulta los artículos Restringir cuentas de servicio y Gestionar el acceso a cuentas de servicio.

    3. Familiarízate con el agente del servicio Batch de tu proyecto:

      Después de crear un trabajo por lotes, el agente de servicio de Batch se crea automáticamente en tu proyecto con el siguiente nombre:

      service-PROJECT_NUMBER@gcp-sa-cloudbatch.iam.gserviceaccount.com
      

      Sustituye PROJECT_NUMBER por el número de proyecto de tu proyecto.

      El agente de servicio de Batch recibe automáticamente el rol de gestión de identidades y accesos Agente de servicio de Google Batch (roles/batch.serviceAgent). Esta configuración es necesaria para que tu proyecto use Batch.

      Sin embargo, en algunos casos prácticos, como ejecutar un trabajo en una red de VPC compartida, debes conceder permisos adicionales al agente de servicio de Batch de tu proyecto.

      Para obtener más información, consulta Agentes de servicio.

Configurar Batch para un nuevo usuario

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

  1. Para obtener los permisos que necesitas para usar Batch, pide a tu administrador que te conceda los roles de gestión de identidades y accesos necesarios en el proyecto. Consulta la documentación de cada tarea para ver los permisos necesarios.

    Por ejemplo, si quieres empezar a usar Batch creando un trabajo básico, puedes solicitar roles para las siguientes tareas:

    • Para crear trabajos, sigue estos pasos:
    • Para enumerar y describir trabajos: editor de trabajos por lotes (roles/batch.jobsEditor) o lector de trabajos por lotes (roles/batch.jobsViewer) en el proyecto
    • Para ver los registros de los trabajos, vaya a Visualizador de registros (roles/logging.viewer) del proyecto.
    • Para eliminar tareas: editor de tareas por lotes (roles/batch.jobsEditor) en el proyecto

    Para obtener más información sobre cómo conceder roles, consulta el artículo sobre cómo gestionar el acceso.

  2. Si quieres usar los ejemplos de línea de comandos de Batch, configura la CLI de Google Cloud siguiendo estos pasos. Más información sobre la autenticación de la CLI de Google Cloud

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

      gcloud init

      Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.

    2. Recomendación: Define un proyecto predeterminado con el comando gcloud config set project:

      gcloud config set project PROJECT_ID
      

      Sustituye PROJECT_ID por el ID del proyecto de tu proyecto.

  3. Si quieres usar los ejemplos de la API o de la biblioteca de cliente de Batch, consulta Autenticarte en Batch.

Obtener 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 sobre solución de problemas.

Para obtener asistencia o enviar comentarios sobre Batch, utiliza los siguientes recursos:

  • Si tienes problemas de facturación con Google Cloud, ponte en contacto con el equipo de Asistencia para Facturación.

  • Si tienes un paquete de asistencia de pago, ponte en contacto directamente con Google Cloud Asistencia si tienes problemas con Batch.

    Google Cloud ofrece diferentes paquetes de asistencia para satisfacer distintas necesidades, como cobertura ininterrumpida, asistencia telefónica y acceso a un gestor de asistencia técnica. Para obtener más información, consulta Google Cloud Asistencia.

  • Para enviar comentarios o solicitudes de funciones sobre Batch, o para informar de problemas de Batch sin un paquete de asistencia de pago, haz clic en el botón Enviar comentarios, que encontrarás al principio y al final de cada página de documentación de Batch. A continuación, selecciona una de las siguientes opciones:

    • Si quieres enviar comentarios sobre la documentación de Batch, selecciona "Comentarios sobre la documentación".
    • Para enviar otros comentarios sobre Batch, selecciona "Comentarios sobre el producto".

Siguientes pasos