AWS Batch puestos de trabajo como EventBridge objetivos - AWS Batch

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

AWS Batch puestos de trabajo como EventBridge objetivos

Amazon EventBridge ofrece una transmisión casi en tiempo real de los eventos del sistema que describen los cambios en los recursos de Amazon Web Services. Normalmente, AWS Batch en Amazon Elastic Container Service, Amazon Elastic Kubernetes Service AWS y Fargate, los trabajos están disponibles como destinos. EventBridge Con reglas sencillas, puede hacer coincidir los eventos y enviar AWS Batch trabajos en respuesta a ellos. Para obtener más información, consulte ¿Qué es EventBridge? en la Guía del EventBridge usuario de Amazon.

También se pueden utilizar EventBridge para programar acciones automatizadas que se invoquen en determinados momentos utilizando cron o puntuando expresiones. Para obtener más información, consulta Cómo crear una EventBridge regla de Amazon que se ejecute según un cronograma en la Guía del EventBridge usuario de Amazon.

Para obtener información sobre cómo crear una regla que se ejecute cuando un evento coincida con un patrón de eventos, consulta Cómo crear EventBridge reglas de Amazon que reaccionen a los eventos en la Guía del EventBridge usuario de Amazon.

Los casos de uso más comunes de los AWS Batch trabajos como EventBridge objetivo incluyen los siguientes casos de uso:

  • Un trabajo programado se produce a intervalos de tiempo regulares. Por ejemplo, un trabajo de cron solo se realiza durante las horas de bajo uso, cuando las instancias puntuales de spot de Amazon EC2 son menos costosas.

  • Un AWS Batch trabajo se ejecuta en respuesta a una operación de API en la que se ha iniciado sesión CloudTrail. Por ejemplo, se envía un trabajo cada vez que se carga un objeto en un bucket de Amazon S3 específico. Cada vez que esto ocurre, el transformador EventBridge de entrada pasa el depósito y el nombre clave del objeto a AWS Batch los parámetros.

    nota

    En este escenario, todos los AWS recursos relacionados deben estar en la misma región. Esto incluye recursos como el bucket, la EventBridge regla y los CloudTrail registros de Amazon S3.

Para poder enviar AWS Batch trabajos con EventBridge reglas y objetivos, el EventBridge servicio necesita varios permisos para AWS Batch ejecutarlos. Al crear una regla en la EventBridge consola que especifica un AWS Batch trabajo como destino, también puede crear este rol. Para obtener más información sobre la entidad principal de servicio y los permisos de IAM necesarios para este rol, consulte Rol de IAM de EventBridge.

Crear un AWS Batch trabajo programado

El siguiente procedimiento explica cómo crear un AWS Batch trabajo programado y el rol de EventBridge IAM requerido.

Para crear un AWS Batch trabajo programado con EventBridge
nota

Este procedimiento funciona para todos los trabajos AWS Batch de Amazon ECS, Amazon EKS y AWS Fargate.

  1. Abre la EventBridge consola de Amazon en https://console.aws.amazon.com/events/.

  2. En la barra de navegación, selecciona la Región de AWS que deseas usar.

  3. En el panel de navegación, seleccione Reglas.

  4. Elija Crear regla.

  5. En Nombre, especifique un nombre único para el entorno de computación. El nombre puede contener hasta 64 caracteres. Puede contener letras mayúsculas y minúsculas, números, guiones (-) y guiones bajos (_).

    nota

    Una regla no puede tener el mismo nombre que otra regla de la misma región y del mismo bus de eventos.

  6. (Opcional) En Descripción, introduzca una descripción para la regla.

  7. En Bus de eventos, elija el bus de eventos que desea asociar a esta regla. Si desea que esta regla coincida con eventos procedentes de su cuenta, seleccione predeterminado. Cuando un Servicio de AWS elemento de tu cuenta emite un evento, siempre va al bus de eventos predeterminado de tu cuenta.

  8. (Opcional) Desactive la regla en el bus seleccionado si no desea ejecutarla inmediatamente.

  9. En Tipo de regla, elija Programación.

  10. Seleccione Continuar para crear la regla o Siguiente.

  11. En Programar patrón, realice una de las siguientes acciones:

    • Elija Un horario detallado que se ejecute a una hora específica, como las 8:00 a. m. PST el primer lunes de cada mes y después introduzca la expresión cron. Para obtener más información, consulte Cron Expressions en la Guía del EventBridge usuario de Amazon.

    • Elija un horario que se ejecute a un ritmo regular, por ejemplo, cada 10 minutos. y, a continuación, introduzca una expresión de frecuencia.

  12. Elija Siguiente.

  13. En Tipos de destino, elija Servicio de AWS.

  14. En Seleccione un objetivo, elija Cola de trabajos por lotes. A continuación, configure lo siguiente:

    • Cola de trabajos: introduzca el nombre de recurso de Amazon (ARN) de la cola de trabajos en la que va a programar el trabajo.

    • Definición de trabajo: introduzca el nombre y la revisión o el ARN completo de la definición de trabajo que va a utilizar para el trabajo.

    • Nombre de trabajo: introduzca un nombre para el trabajo.

    • Tamaño de la matriz: (opcional) introduzca un tamaño de matriz para que el trabajo ejecute más de una copia. Para obtener más información, consulte Trabajos de matrices.

    • Intentos de trabajo: (opcional) introduzca el número de veces que se debe reintentar el trabajo si se produce un error. Para obtener más información, consulte Reintentos automáticos de trabajo.

  15. Para los tipos de objetivos de cola de trabajos por lotes, EventBridge necesita permiso para enviar eventos al destino. EventBridge puede crear la función de IAM necesaria para que se ejecute la regla. Realice una de las acciones siguientes:

    • Para crear un rol de IAM automáticamente, elija Crear un nuevo rol para este recurso específico.

    • Para utilizar un rol de IAM que haya creado antes, elija Usar rol existente.

  16. (Opcional) Amplíe Configuración adicional.

    1. En Configurar la entrada de destino, elija cómo se procesa el texto de un evento antes de pasarlo al destino.

    2. En Antigüedad máxima del evento, especifique el intervalo de tiempo durante el que se guardan los eventos sin procesar.

    3. En Intentos de reintento, introduzca el número de veces que se volverá a intentar un evento.

    4. En Cola de mensajes fallidos, elija una opción para gestionar los eventos no procesados. Si es necesario, especifique la cola de Amazon SQS que se utilizará como la cola de mensajes fallidos.

  17. (Opcional) Elija Agregar otro destino para agregar otro destino para esta regla.

  18. Elija Siguiente.

  19. (Opcional) En Etiquetas, elija Añadir nueva etiqueta para añadir una etiqueta de recurso a la regla. Para obtener más información, consulta las EventBridge etiquetas de Amazon.

  20. Elija Siguiente.

  21. En Revisar y crear, revise los pasos de configuración. Si necesita realizar cambios, elija Editar. Cuando haya terminado, seleccione Crear regla.

Para obtener más información sobre la creación de reglas, consulta Cómo crear una EventBridge regla de Amazon que se ejecute según un cronograma en la Guía del EventBridge usuario de Amazon.

Crear una regla con un patrón de evento

El siguiente procedimiento explica cómo crear una regla con un patrón de evento.

Para crear una regla que envíe el evento a un objetivo cuando el evento coincida con un patrón definido
nota

Este procedimiento funciona para todos los trabajos AWS Batch de Amazon ECS, Amazon EKS y AWS Fargate.

  1. Abre la EventBridge consola de Amazon en https://console.aws.amazon.com/events/.

  2. En la barra de navegación, selecciona la Región de AWS que deseas usar.

  3. En el panel de navegación, seleccione Reglas.

  4. Elija Crear regla.

  5. En Nombre, especifique un nombre único para el entorno de computación. El nombre puede contener hasta 64 caracteres. Puede contener letras mayúsculas y minúsculas, números, guiones (-) y guiones bajos (_).

    nota

    Una regla no puede tener el mismo nombre que otra regla de la misma región y del mismo bus de eventos.

  6. (Opcional) En Descripción, introduzca una descripción para la regla.

  7. En Bus de eventos, elija el bus de eventos que desea asociar a esta regla. Si desea que esta regla coincida con eventos procedentes de su cuenta, seleccione predeterminado. Cuando un Servicio de AWS elemento de tu cuenta emite un evento, siempre va al bus de eventos predeterminado de tu cuenta.

  8. (Opcional) Desactive la regla en el bus seleccionado si no desea ejecutarla inmediatamente.

  9. En Tipo de regla, elija Regla con un patrón de evento.

  10. Elija Siguiente.

  11. En Origen del evento, selecciona AWS evento o eventos EventBridge asociados.

  12. (Opcional) En Ejemplo de evento:

    1. En Ejemplo de tipo de evento, elija eventos de AWS .

    2. En Eventos de muestra, elija Cambiar estado de trabajo por lotes.

  13. En Método de creación, elija Usar forma de patrón.

  14. En Patrón de eventos:

    1. En Origen del evento, elija Servicios de AWS.

    2. En Servicio de AWS, elija Lote.

    3. En Tipo de evento, elija Cambio de estado de trabajo por lotes.

  15. Elija Siguiente.

  16. En Tipos de destino, elija Servicio de AWS.

  17. En Elegir un tipo de destino, elija un tipo de destino. Por ejemplo, elija Cola de trabajos por lotes. A continuación, especifique lo siguiente:

    • Cola de trabajos: introduzca el nombre de recurso de Amazon (ARN) de la cola de trabajos en la que va a programar el trabajo.

    • Definición de trabajo: introduzca el nombre y la revisión o el ARN completo de la definición de trabajo que va a utilizar para el trabajo.

    • Nombre de trabajo: introduzca un nombre para el trabajo.

    • Tamaño de la matriz: (opcional) introduzca un tamaño de matriz para que el trabajo ejecute más de una copia. Para obtener más información, consulte Trabajos de matrices.

    • Intentos de trabajo: (opcional) introduzca el número de veces que se debe reintentar el trabajo si se produce un error. Para obtener más información, consulte Reintentos automáticos de trabajo.

  18. Para los tipos de objetivos de cola de trabajos por lotes, EventBridge necesita permiso para enviar eventos al destino. EventBridge puede crear la función de IAM necesaria para que se ejecute la regla. Realice una de las acciones siguientes:

    • Para crear un rol de IAM automáticamente, elija Crear un nuevo rol para este recurso específico.

    • Para utilizar un rol de IAM que haya creado antes, elija Usar función existente.

  19. (Opcional) Amplíe Configuración adicional.

    1. En Configurar la entrada de destino, elija cómo se procesa el texto de un evento.

    2. En Antigüedad máxima del evento, especifique el intervalo de tiempo durante el que se guardan los eventos sin procesar.

    3. En Intentos de reintento, introduzca el número de veces que se volverá a intentar un evento.

    4. En Cola de mensajes fallidos, elija una opción para gestionar los eventos no procesados. Si es necesario, especifique la cola de Amazon SQS que se utilizará como la cola de mensajes fallidos.

  20. (Opcional) Elija Agregar otro destino para agregar otro destino para esta regla.

  21. Elija Siguiente.

  22. (Opcional) En Etiquetas, elija Añadir nueva etiqueta para añadir una etiqueta de recurso. Para obtener más información, consulta las EventBridge etiquetas de Amazon en la Guía del EventBridge usuario de Amazon.

  23. Elija Siguiente.

  24. En Revisar y crear, revise los pasos de configuración. Si necesita realizar cambios, elija Editar. Cuando haya terminado, elija Crear regla.

    Para obtener más información sobre la creación de reglas, consulta Cómo crear EventBridge reglas de Amazon que reaccionen a los eventos en la Guía del EventBridge usuario de Amazon.

Pasar la información del evento a un AWS Batch objetivo según un cronograma mediante el transformador EventBridge de entrada

Puede usar el transformador EventBridge de entrada para pasar la información del evento al AWS Batch enviar un trabajo. Esto puede resultar especialmente valioso si se invocan trabajos como resultado de otra información sobre eventos de AWS . Un ejemplo es la carga de un objeto en un bucket de Amazon S3. También puede usar una definición de trabajo con valores de sustitución de parámetros en el comando del contenedor. El transformador EventBridge de entrada puede proporcionar los valores de los parámetros en función de los datos del evento.

A continuación, se crea un objetivo de AWS Batch evento que analiza la información del evento que lo inicia y la transforma en un parameters objeto. Cuando se ejecuta el trabajo, los parámetros del evento que se desencadena se pasan al comando del contenedor del trabajo.

nota

En este escenario, todos los AWS recursos (como los depósitos, EventBridge las reglas y los CloudTrail registros de Amazon S3) deben estar en la misma región.

Para crear un AWS Batch objetivo que utilice el transformador de entrada
  1. Abre la EventBridge consola de Amazon en https://console.aws.amazon.com/events/.

  2. En la barra de navegación, selecciona la Región de AWS que deseas usar.

  3. En el panel de navegación, seleccione Reglas.

  4. Elija Crear regla.

  5. En Nombre, especifique un nombre único para el entorno de computación. El nombre puede contener hasta 64 caracteres. Puede contener letras mayúsculas y minúsculas, números, guiones (-) y guiones bajos (_).

    nota

    Una regla no puede tener el mismo nombre que otra regla en el mismo bus de eventos Región de AWS y en el mismo.

  6. (Opcional) En Descripción, introduzca una descripción para la regla.

  7. En Bus de eventos, elija el bus de eventos que desea asociar a esta regla. Si desea que esta regla coincida con eventos procedentes de su cuenta, seleccione predeterminado. Cuando un Servicio de AWS elemento de tu cuenta emite un evento, siempre va al bus de eventos predeterminado de tu cuenta.

  8. (Opcional) Desactive la regla en el bus seleccionado si no desea ejecutarla inmediatamente.

  9. En Tipo de regla, elija Programación.

  10. Seleccione Continuar para crear la regla o Siguiente.

  11. En Programar patrón, realice una de las siguientes acciones:

    • Elija Un horario detallado que se ejecute a una hora específica, como las 8:00 a. m. PST el primer lunes de cada mes y después introduzca la expresión cron. Para obtener más información, consulte Cron Expressions en la Guía del EventBridge usuario de Amazon.

    • Elija un horario que se ejecute a un ritmo regular, por ejemplo, cada 10 minutos. y, a continuación, introduzca una expresión de frecuencia.

  12. Elija Siguiente.

  13. En Tipos de destino, elija Servicio de AWS.

  14. En Seleccione un objetivo, elija Cola de trabajos por lotes. A continuación, configure lo siguiente:

    • Cola de trabajos: introduzca el nombre de recurso de Amazon (ARN) de la cola de trabajos en la que va a programar el trabajo.

    • Definición de trabajo: introduzca el nombre y la revisión o el ARN completo de la definición de trabajo que va a utilizar para el trabajo.

    • Nombre de trabajo: introduzca un nombre para el trabajo.

    • Tamaño de la matriz: (opcional) introduzca un tamaño de matriz para que el trabajo ejecute más de una copia. Para obtener más información, consulte Trabajos de matrices.

    • Intentos de trabajo: (opcional) introduzca el número de veces que se debe reintentar el trabajo si se produce un error. Para obtener más información, consulte Reintentos automáticos de trabajo.

  15. Para los tipos de objetivos de cola de trabajos por lotes, EventBridge necesita permiso para enviar eventos al destino. EventBridge puede crear la función de IAM necesaria para que se ejecute la regla. Realice una de las acciones siguientes:

    • Para crear un rol de IAM automáticamente, elija Crear un nuevo rol para este recurso específico.

    • Para utilizar un rol de IAM que haya creado antes, elija Usar rol existente.

  16. (Opcional) Amplíe Configuración adicional.

  17. En la sección Ajustes adicionales, en Configurar entrada de destino, elija Transformador de entrada.

  18. Elija Configurar transformador de entrada.

  19. (Opcional) En Ejemplo de evento:

    1. En Ejemplo de tipo de evento, elija eventos de AWS .

    2. En Eventos de muestra, elija Cambiar estado de trabajo por lotes.

  20. En la sección Transformador de entrada de destino en Ruta de entrada, especifique los valores que se van a analizar del evento que se desencadena. Por ejemplo, para analizar el evento Cambiar estado de trabajo por lotes, utilice el siguiente formato JSON.

    { "instance": "$.detail.jobId", "state": "$.detail.status" }
  21. En Plantilla, introduzca lo siguiente.

    { "instance": <jobId> , "status": <status> }
  22. Seleccione Confirmar.

  23. En Antigüedad máxima del evento, especifique el intervalo de tiempo durante el que se guardan los eventos sin procesar.

  24. En Intentos de reintento, introduzca el número de veces que se volverá a intentar un evento.

  25. En Cola de mensajes fallidos, elija una opción para gestionar los eventos no procesados. Si es necesario, especifique la cola de Amazon SQS que se utilizará como la cola de mensajes fallidos.

  26. (Opcional) Elija Agregar otro destino para agregar otro destino para esta regla.

  27. Elija Siguiente.

  28. (Opcional) En Etiquetas, elija Añadir nueva etiqueta para añadir una etiqueta de recurso. Para obtener más información, consulta las EventBridge etiquetas de Amazon en la Guía del EventBridge usuario de Amazon.

  29. Elija Siguiente.

  30. En Revisar y crear, revise los pasos de configuración. Si necesita realizar cambios, elija Editar. Cuando haya terminado, elija Crear regla.