AWS Batch les emplois en tant que EventBridge cibles - AWS Batch

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

AWS Batch les emplois en tant que EventBridge cibles

Amazon EventBridge fournit un flux d'événements système en temps quasi réel décrivant les modifications apportées aux ressources Amazon Web Services. Généralement, AWS Batch sur Amazon Elastic Container Service, Amazon Elastic Kubernetes Service AWS et Fargate, les jobs sont disponibles en tant que cibles. EventBridge À l'aide de règles simples, vous pouvez faire correspondre les événements et soumettre AWS Batch des offres d'emploi en réponse à ces événements. Pour plus d'informations, voir Qu'est-ce que c'est EventBridge ? dans le guide de EventBridge l'utilisateur Amazon.

Vous pouvez également l'utiliser EventBridge pour planifier des actions automatisées qui sont invoquées à certains moments à l'aide cron ou à l'évaluation d'expressions. Pour plus d'informations, consultez la section Création d'une EventBridge règle Amazon exécutée selon un calendrier dans le guide de EventBridge l'utilisateur Amazon.

Pour plus d'informations sur la création d'une règle qui s'exécute lorsqu'un événement correspond à un modèle d'événement, consultez la section Création de EventBridge règles Amazon qui réagissent aux événements dans le guide de EventBridge l'utilisateur Amazon.

Les cas d'utilisation courants des AWS Batch jobs en tant que EventBridge cible incluent les cas d'utilisation suivants :

  • Une tâche planifiée est exécutée à intervalles réguliers. Par exemple, une cron tâche est exécutée uniquement pendant les heures de faible utilisation, lorsque les instances Spot Amazon EC2 sont moins chères.

  • Une AWS Batch tâche s'exécute en réponse à une opération d'API connectée CloudTrail. Par exemple, une tâche est soumise chaque fois qu'un objet est chargé dans un compartiment Amazon S3 spécifié. Chaque fois que cela se produit, le transformateur EventBridge d'entrée transmet le nom du compartiment et de la clé de l'objet aux AWS Batch paramètres.

    Note

    Dans ce scénario, toutes les AWS ressources associées doivent se trouver dans la même région. Cela inclut des ressources telles que le compartiment, la EventBridge règle et les CloudTrail journaux Amazon S3.

Avant de pouvoir soumettre AWS Batch des tâches avec des EventBridge règles et des cibles, le EventBridge service a besoin de plusieurs autorisations pour exécuter AWS Batch des tâches. Lorsque vous créez une règle dans la EventBridge console qui spécifie une AWS Batch tâche comme cible, vous pouvez également créer ce rôle. Pour en savoir plus sur le principal de service et les autorisations IAM nécessaires pour ce rôle, consultez EventBridge Rôle IAM.

Création d'une AWS Batch tâche planifiée

La procédure suivante explique comment créer une AWS Batch tâche planifiée et le rôle EventBridge IAM requis.

Pour créer une AWS Batch tâche planifiée avec EventBridge
Note

Cette procédure fonctionne pour toutes AWS Batch les tâches Amazon ECS, Amazon EKS et AWS Fargate.

  1. Ouvrez la EventBridge console Amazon à l'adresse https://console.aws.amazon.com/events/.

  2. Dans la barre de navigation, sélectionnez le Région AWS à utiliser.

  3. Dans le volet de navigation, choisissez Règles.

  4. Choisissez Créer une règle.

  5. Dans Nom, spécifiez un nom unique pour votre environnement informatique. Le nom peut contenir jusqu'à 64 caractères. Il peut contenir des lettres majuscules et minuscules, des chiffres, des traits d'union (-) et des traits de soulignement (_).

    Note

    Une règle ne peut pas avoir le même nom qu’une autre règle de la même région et sur le même bus d’événement.

  6. (Facultatif) Dans Description, entrez une description pour la règle.

  7. Pour Event bus (Bus d'événement), sélectionnez le bus d'événement que vous souhaitez associer à cette règle. Si vous souhaitez que cette règle mette en correspondance les événements en provenance de votre compte, sélectionnez Par défaut. Lorsqu'un événement Service AWS de votre compte est émis, il est toujours redirigé vers le bus d'événements par défaut de votre compte.

  8. (Facultatif) Désactivez la règle sur le bus sélectionné si vous ne souhaitez pas l'exécuter immédiatement.

  9. Pour Rule type (Type de règle), choisissez Schedule (Planifier).

  10. Choisissez Continuer pour créer une règle ou Suivant.

  11. Pour Schedule pattern (Planifier le modèle), effectuez l'une des étapes suivantes :

    • Choisissez Un calendrier détaillé qui s’exécute à une heure précise, à 8 h 00 PST le premier lundi de chaque mois, puis entrez une expression cron. Pour plus d'informations, consultez la section Cron Expressions dans le guide de EventBridge l'utilisateur Amazon.

    • Choisissez Un horaire qui fonctionne à un rythme régulier, par exemple toutes les 10 minutes. puis entrez une expression de taux.

  12. Choisissez Suivant.

  13. Pour Target types (Types de cibles), choisissez Service AWS.

  14. Pour Sélectionner une cible, choisissez Batch job queue. Configurez ensuite les éléments suivants :

    • Job queue (File d'attente de tâches) : saisissez l'Amazon Resource Name (ARN) de la file d'attente de tâches où programmer votre tâche.

    • Job definition (Définition de tâche) : saisissez le nom et la révision ou l'ARN complet de la définition de tâche à utiliser pour la tâche.

    • Job name (Nom de la tâche ): saisissez un nom pour votre tâche.

    • Array size (Taille du tableau) : (facultatif) saisissez une taille de tableau pour que votre tâche exécute plusieurs copies. Pour plus d’informations, consultez Emplois Array.

    • Job attempts (Tentatives d'exécution de tâche) : (facultatif) saisissez le nombre de nouvelles tentatives pour votre tâche en cas d'échec. Pour plus d’informations, consultez Nouvelles tentatives de travail automatisées.

  15. Pour les types de cibles de file d'attente de tâches EventBridge Batch, une autorisation est requise pour envoyer des événements à la cible. EventBridge peut créer le rôle IAM nécessaire à l'exécution de votre règle. Effectuez l’une des actions suivantes :

    • Pour créer un rôle IAM automatiquement, sélectionnez Create a new role for this specific resource.

    • Pour utiliser un rôle IAM que vous avez déjà créé, choisissez Utiliser un rôle existant.

  16. (Facultatif) Développez Additional settings (Paramètres supplémentaires).

    1. Pour Configurer la saisie cible, choisissez le mode de traitement du texte d'un événement avant qu'il ne soit transmis à la cible.

    2. Pour Âge maximal de l'événement, spécifiez l'intervalle de temps pendant lequel les événements non traités sont conservés.

    3. Pour Réessayer, entrez le nombre de tentatives renouvelées pour un événement.

    4. Pour la file d'attente de lettres mortes, choisissez une option concernant la manière dont les événements non traités sont gérés. Si nécessaire, spécifiez la file d'attente Amazon SQS à utiliser comme file d'attente de lettres mortes.

  17. (Facultatif) Sélectionnez Add another target (Ajouter une autre cible) pour ajouter une nouvelle cible pour cette règle.

  18. Choisissez Suivant.

  19. (Facultatif) Pour les balises, choisissez Ajouter une nouvelle balise pour ajouter une étiquette de ressource pour la règle. Pour plus d'informations, consultez Amazon EventBridge tags.

  20. Choisissez Suivant.

  21. Pour Réviser et créer, passez en revue les étapes de configuration. Si vous devez apporter des modifications, choisissez Modifier. Lorsque vous avez terminé, choisissez Créer une règle.

Pour plus d'informations sur la création de règles, consultez la section Création d'une EventBridge règle Amazon exécutée selon un calendrier dans le guide de EventBridge l'utilisateur Amazon.

Création d'une règle avec un modèle d'événement

La procédure suivante explique comment créer une règle avec un modèle d'événement.

Pour créer une règle qui envoie l'événement à une cible lorsqu'il correspond à un modèle défini
Note

Cette procédure fonctionne pour toutes AWS Batch les tâches Amazon ECS, Amazon EKS et AWS Fargate.

  1. Ouvrez la EventBridge console Amazon à l'adresse https://console.aws.amazon.com/events/.

  2. Dans la barre de navigation, sélectionnez le Région AWS à utiliser.

  3. Dans le volet de navigation, choisissez Règles.

  4. Choisissez Créer une règle.

  5. Dans Nom, spécifiez un nom unique pour votre environnement informatique. Le nom peut contenir jusqu'à 64 caractères. Il peut contenir des lettres majuscules et minuscules, des chiffres, des traits d'union (-) et des traits de soulignement (_).

    Note

    Une règle ne peut pas avoir le même nom qu’une autre règle de la même région et sur le même bus d’événement.

  6. (Facultatif) Dans Description, entrez une description pour la règle.

  7. Pour Event bus (Bus d'événement), sélectionnez le bus d'événement que vous souhaitez associer à cette règle. Si vous souhaitez que cette règle mette en correspondance les événements en provenance de votre compte, sélectionnez Par défaut. Lorsqu'un événement Service AWS de votre compte est émis, il est toujours redirigé vers le bus d'événements par défaut de votre compte.

  8. (Facultatif) Désactivez la règle sur le bus sélectionné si vous ne souhaitez pas l'exécuter immédiatement.

  9. Pour Type de règle, choisissez Règle avec un modèle d’événement.

  10. Choisissez Suivant.

  11. Pour Event Source, choisissez un AWS événement ou des événements EventBridge partenaires.

  12. (Facultatif) Pour un exemple d'événement :

    1. Dans Exemple de type d'événement, sélectionnez AWS événements.

    2. Pour Sample events, choisissez Batch Job State Change.

  13. Pour Méthode de création, choisissez Utiliser le formulaire d’événement.

  14. Pour le modèle d'événement :

    1. Pour Event source (Source d’événement), choisissez Services AWS.

    2. Pour Service AWS, choisissez Batch.

    3. Pour Type d'événement, choisissez Batch Job State Change.

  15. Choisissez Suivant.

  16. Pour Target types (Types de cibles), choisissez Service AWS.

  17. Pour Sélectionner une cible, choisissez un type de cible. Par exemple, choisissez Batch job queue. Spécifiez ensuite les éléments suivants :

    • Job queue (File d'attente de tâches) : saisissez l'Amazon Resource Name (ARN) de la file d'attente de tâches où programmer votre tâche.

    • Job definition (Définition de tâche) : saisissez le nom et la révision ou l'ARN complet de la définition de tâche à utiliser pour la tâche.

    • Job name (Nom de la tâche ): saisissez un nom pour votre tâche.

    • Array size (Taille du tableau) : (facultatif) saisissez une taille de tableau pour que votre tâche exécute plusieurs copies. Pour plus d’informations, consultez Emplois Array.

    • Job attempts (Tentatives d'exécution de tâche) : (facultatif) saisissez le nombre de nouvelles tentatives pour votre tâche en cas d'échec. Pour plus d’informations, consultez Nouvelles tentatives de travail automatisées.

  18. Pour les types de cibles de file d'attente de tâches EventBridge Batch, une autorisation est requise pour envoyer des événements à la cible. EventBridge peut créer le rôle IAM nécessaire à l'exécution de votre règle. Effectuez l’une des actions suivantes :

    • Pour créer un rôle IAM automatiquement, choisissez Create a new role for this specific resource.

    • Pour utiliser un rôle IAM que vous avez créé auparavant, choisissez Utiliser le rôle existant.

  19. (Facultatif) Développez Additional settings (Paramètres supplémentaires).

    1. Pour Configurer la saisie cible, choisissez le mode de traitement du texte d'un événement.

    2. Pour Âge maximal de l'événement, spécifiez l'intervalle de temps pendant lequel les événements non traités sont conservés.

    3. Pour Réessayer, entrez le nombre de tentatives renouvelées pour un événement.

    4. Pour la file d'attente de lettres mortes, choisissez une option concernant la manière dont les événements non traités sont gérés. Si nécessaire, spécifiez la file d'attente Amazon SQS à utiliser comme file d'attente de lettres mortes.

  20. (Facultatif) Choisissez Ajouter une autre cible pour ajouter une cible supplémentaire.

  21. Choisissez Suivant.

  22. (Facultatif) Pour les balises, choisissez Ajouter une nouvelle balise pour ajouter une étiquette de ressource. Pour plus d'informations, consultez les EventBridge balises Amazon dans le guide de EventBridge l'utilisateur Amazon.

  23. Choisissez Suivant.

  24. Pour Réviser et créer, passez en revue les étapes de configuration. Si vous devez apporter des modifications, choisissez Modifier. Lorsque vous avez terminé, choisissez Créer une règle.

    Pour plus d'informations sur la création de règles, consultez la section Création de EventBridge règles Amazon qui réagissent aux événements dans le guide de EventBridge l'utilisateur Amazon.

Transmission des informations d'événement à une AWS Batch cible selon un calendrier à l'aide du transformateur EventBridge d'entrée

Vous pouvez utiliser le transformateur EventBridge d'entrée pour transmettre des informations sur les événements AWS Batch lors de la soumission d'une tâche. Cela peut être particulièrement utile si vous invoquez des tâches à la suite d'autres informations relatives à un AWS événement. Le téléchargement d'un objet dans un compartiment Amazon S3 en est un exemple. Vous pouvez également utiliser une définition de tâche avec des valeurs de substitution de paramètres dans la commande du conteneur. Le transformateur EventBridge d'entrée peut fournir les valeurs des paramètres en fonction des données d'événement.

Ensuite, vous créez une cible d' AWS Batch événement qui analyse les informations de l'événement qui le lance et les transforme en parameters objet. Lorsque la tâche s'exécute, les paramètres de l'événement déclencheur sont transmis à la commande du conteneur de tâches.

Note

Dans ce scénario, toutes les AWS ressources (telles que les compartiments, les EventBridge règles et les CloudTrail journaux Amazon S3) doivent se trouver dans la même région.

Pour créer une AWS Batch cible utilisant le transformateur d'entrée
  1. Ouvrez la EventBridge console Amazon à l'adresse https://console.aws.amazon.com/events/.

  2. Dans la barre de navigation, sélectionnez le Région AWS à utiliser.

  3. Dans le volet de navigation, choisissez Règles.

  4. Choisissez Créer une règle.

  5. Dans Nom, spécifiez un nom unique pour votre environnement informatique. Le nom peut contenir jusqu'à 64 caractères. Il peut contenir des lettres majuscules et minuscules, des chiffres, des traits d'union (-) et des traits de soulignement (_).

    Note

    Une règle ne peut pas porter le même nom qu'une autre règle du même bus Région AWS d'événements ou du même bus d'événements.

  6. (Facultatif) Dans Description, entrez une description pour la règle.

  7. Pour Event bus (Bus d'événement), sélectionnez le bus d'événement que vous souhaitez associer à cette règle. Si vous souhaitez que cette règle mette en correspondance les événements en provenance de votre compte, sélectionnez Par défaut. Lorsqu'un événement Service AWS de votre compte est émis, il est toujours redirigé vers le bus d'événements par défaut de votre compte.

  8. (Facultatif) Désactivez la règle sur le bus sélectionné si vous ne souhaitez pas l'exécuter immédiatement.

  9. Pour Rule type (Type de règle), choisissez Schedule (Planifier).

  10. Choisissez Continuer pour créer une règle ou Suivant.

  11. Pour Schedule pattern (Planifier le modèle), effectuez l'une des étapes suivantes :

    • Choisissez Un calendrier détaillé qui s’exécute à une heure précise, à 8 h 00 PST le premier lundi de chaque mois, puis entrez une expression cron. Pour plus d'informations, consultez la section Cron Expressions dans le guide de EventBridge l'utilisateur Amazon.

    • Choisissez Un horaire qui fonctionne à un rythme régulier, par exemple toutes les 10 minutes. puis entrez une expression de taux.

  12. Choisissez Suivant.

  13. Pour Target types (Types de cibles), choisissez Service AWS.

  14. Pour Sélectionner une cible, choisissez Batch job queue. Configurez ensuite les éléments suivants :

    • Job queue (File d'attente de tâches) : saisissez l'Amazon Resource Name (ARN) de la file d'attente de tâches où programmer votre tâche.

    • Job definition (Définition de tâche) : saisissez le nom et la révision ou l'ARN complet de la définition de tâche à utiliser pour la tâche.

    • Job name (Nom de la tâche ): saisissez un nom pour votre tâche.

    • Array size (Taille du tableau) : (facultatif) saisissez une taille de tableau pour que votre tâche exécute plusieurs copies. Pour plus d’informations, consultez Emplois Array.

    • Job attempts (Tentatives d'exécution de tâche) : (facultatif) saisissez le nombre de nouvelles tentatives pour votre tâche en cas d'échec. Pour plus d’informations, consultez Nouvelles tentatives de travail automatisées.

  15. Pour les types de cibles de file d'attente de tâches EventBridge Batch, une autorisation est requise pour envoyer des événements à la cible. EventBridge peut créer le rôle IAM nécessaire à l'exécution de votre règle. Effectuez l’une des actions suivantes :

    • Pour créer un rôle IAM automatiquement, sélectionnez Create a new role for this specific resource.

    • Pour utiliser un rôle IAM que vous avez déjà créé, choisissez Utiliser un rôle existant.

  16. (Facultatif) Développez Additional settings (Paramètres supplémentaires).

  17. Dans la section Additional settings (Réglages supplémentaires), pour Configure target input (Configurer l'entrée cible), choisissez Input Transformer (Transformateur d'entrée).

  18. Choisissez Configure input transformer (Configurer le transformateur d'entrée).

  19. (Facultatif) Pour un exemple d'événement :

    1. Dans Exemple de type d'événement, sélectionnez AWS événements.

    2. Pour Sample events, choisissez Batch Job State Change.

  20. Dans la section Target input transformer (Transformateur d'entrée cible), pour Input path (Chemin d'entrée), spécifiez les valeurs à analyser depuis l'événement déclencheur. Par exemple, pour analyser l'événement Batch Job State Change, utilisez le format JSON suivant.

    { "instance": "$.detail.jobId", "state": "$.detail.status" }
  21. Pour Modèle, entrez ce qui suit.

    { "instance": <jobId> , "status": <status> }
  22. Choisissez Confirmer.

  23. Pour Âge maximal de l'événement, spécifiez l'intervalle de temps pendant lequel les événements non traités sont conservés.

  24. Pour Réessayer, entrez le nombre de tentatives renouvelées pour un événement.

  25. Pour la file d'attente de lettres mortes, choisissez une option concernant la manière dont les événements non traités sont gérés. Si nécessaire, spécifiez la file d'attente Amazon SQS à utiliser comme file d'attente de lettres mortes.

  26. (Facultatif) Choisissez Ajouter une autre cible pour ajouter une cible supplémentaire.

  27. Choisissez Suivant.

  28. (Facultatif) Pour les balises, choisissez Ajouter une nouvelle balise pour ajouter une étiquette de ressource. Pour plus d'informations, consultez les EventBridge balises Amazon dans le guide de EventBridge l'utilisateur Amazon.

  29. Choisissez Suivant.

  30. Pour Réviser et créer, passez en revue les étapes de configuration. Si vous devez apporter des modifications, choisissez Modifier. Lorsque vous avez terminé, choisissez Créer une règle.