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.
Utilisation EventBridge avec les pipelines Image Builder
AWS et les services partenaires diffusent les événements sur les bus EventBridge événementiels Amazon en temps quasi réel. Vous pouvez également envoyer vos propres événements personnalisés. Les bus événementiels utilisent des règles pour acheminer chaque événement vers une ou plusieurs cibles.
Image Builder fonctionne EventBridge dans deux directions indépendantes :
-
Démarrez la création d'un pipeline à partir d'une règle. Vous pouvez définir un pipeline Image Builder comme cible de règle, afin qu'il EventBridge exécute le pipeline lorsqu'un événement correspond à la règle ou lorsqu'un calendrier se déclenche. Consultez Déclenchez la création d'un pipeline selon un calendrier et Déclencher la création d'un pipeline à partir d'un modèle d'événement.
-
Réagissez aux événements envoyés par Image Builder. Image Builder publie des événements sur le bus d'événements par défaut lorsque des modifications importantes se produisent, par exemple lorsqu'une image devient
AVAILABLEou qu'un scan détecte des CVE. Vous pouvez associer ces événements à une règle et les acheminer vers des cibles telles qu'une fonction Lambda ou une rubrique Amazon SNS pour démarrer vos propres automatisations. Consultez Réagissez aux événements envoyés par Image Builder.
Pour plus d'informations sur les événements envoyés par Image Builder et les champs de chaque événement, consultezMessages d'événements envoyés par Image Builder.
Note
Les bus événementiels le sont Region-specific. Une règle et les ressources qu'elle invoque se trouvent généralement dans la même région ; pour effectuer un routage entre les régions, ciblez un bus d'événements dans la région de destination. Image Builder publie ses événements sur le bus d'événements par défaut de la région où s'exécute la génération.
Table des matières
EventBridge termes
Les termes suivants vous aident à comprendre comment EventBridge s'intègre à vos pipelines Image Builder.
- Événement
-
Décrit une modification d'environnement susceptible d'affecter une ou plusieurs ressources de l'application. L'environnement peut être un AWS environnement, un service ou une application partenaire SaaS, ou l'une de vos applications ou services. Vous pouvez également configurer des événements planifiés sur une chronologie.
- Bus d’événement
-
Un pipeline qui reçoit des données d'événements provenant d'applications et de services.
- Source
-
Le service ou l'application qui a envoyé l'événement au bus de l'événement.
- Cible
-
Ressource ou point de terminaison EventBridge invoqué lorsqu'il correspond à une règle, fournissant les données de l'événement à la cible.
- Règle
-
Une règle correspond à des événements entrants et les envoie vers des cibles pour être traités. Une seule règle peut envoyer un événement à plusieurs cibles, qui peuvent ensuite être exécutées en parallèle. Les règles sont basées soit sur un modèle d’événement, soit sur un calendrier.
- Modèle
-
Un modèle d'événement définit la structure de l'événement et les champs auxquels une règle correspond afin de lancer l'action cible.
- Planning
-
Les règles de planification exécutent une action selon un calendrier, comme l'exécution d'un pipeline Image Builder pour actualiser une image tous les trimestres. Il existe deux types d'expressions de planification :
-
Expressions Cron : faites correspondre des critères de planification spécifiques à l'aide de la syntaxe cron qui peut définir des critères simples ; par exemple, une exécution hebdomadaire un jour spécifique. Vous pouvez également définir des critères plus complexes, comme une diffusion trimestrielle le cinquième jour du mois, entre 2 h et 4 h.
-
Expressions de taux : spécifiez un intervalle régulier lorsque la cible est invoquée, par exemple toutes les 12 heures.
-
Afficher EventBridge les règles de votre pipeline Image Builder
L'onglet EventBridge Règles de la page détaillée des pipelines d'images d'Image Builder affiche les bus d' EventBridge événements auxquels votre compte a accès, ainsi que les règles du bus d'événements sélectionné qui s'appliquent au pipeline actuel. Cet onglet renvoie également directement à la EventBridge console permettant de créer de nouvelles ressources.
Actions liées à la EventBridge console
-
Créer un bus événementiel
-
Créer une règle
Pour en savoir plus EventBridge, consultez les rubriques suivantes du guide de EventBridge l'utilisateur Amazon.
Déclenchez la création d'un pipeline selon un calendrier
Définissez un pipeline Image Builder comme cible d'une règle de EventBridge planification pour actualiser une image à une cadence régulière. L'exemple suivant crée une règle qui lance la création d'un pipeline tous les 90 jours.
Note
Un pipeline peut également comporter son propre calendrier intégré (une expression cron ou rate stockée sur le pipeline). Ce calendrier est géré par Image Builder et est distinct de toute EventBridge règle :
-
Utilisez le calendrier du pipeline pour une reconstruction récurrente simple. Il peut également gérer les builds à partir des mises à jour des dépendances et désactiver automatiquement un pipeline défaillant. Consultez
Schedulela référence de l'API EC2 Image Builder. -
Utilisez une EventBridge règle pour démarrer un build à partir d'un modèle d'événement ou pour étendre un déclencheur à plusieurs cibles.
Note
Pour en savoir plus sur les paramètres des règles d'expression de taux qui ne sont pas abordés dans cet exemple, consultez la section Expressions de taux dans le guide de EventBridge l'utilisateur Amazon.
Déclencher la création d'un pipeline à partir d'un modèle d'événement
Au lieu d'un calendrier, vous pouvez démarrer la création d'un pipeline lorsqu'un événement correspond à un modèle. Créez une règle avec un modèle d'événement, puis ajoutez votre pipeline comme cible (avec le même rôle IAM décrit dansDéclenchez la création d'un pipeline selon un calendrier).
L'exemple suivant démarre une génération chaque fois qu'une image de base spécifique devient, par exemple, AVAILABLE pour enchaîner une génération d'image dépendante une fois son image de base terminée. Le resources préfixe étend la règle à l'image de base afin qu'elle corresponde uniquement à cette image, et non à la propre sortie du pipeline dépendant :
{ "source": ["aws.imagebuilder"], "detail-type": ["EC2 Image Builder Image State Change"], "detail": { "state": { "status": ["AVAILABLE"] } }, "resources": [{ "prefix": "arn:aws:imagebuilder:us-west-2:111122223333:image/my-base-image/" }] }
Important
Étendez le modèle d'événement à l'image de base, comme le montre le resources préfixe de cet exemple. Un modèle qui correspond à chaque AVAILABLE image du compte correspond également à l'image de sortie du pipeline dépendant, ce qui redémarre le pipeline et peut créer une boucle de construction sans fin. Filtrez en fonction du nom de l'image de base ou du préfixe ARN spécifique afin que la règle corresponde uniquement à l'image souhaitée.
Pour les événements que vous pouvez associer et leurs champs, consultezMessages d'événements envoyés par Image Builder.
Réagissez aux événements envoyés par Image Builder
Image Builder publie des événements sur le bus d'événements par défaut lorsque vos ressources atteignent des points importants, par exemple, lorsqu'une image change d'état, qu'une numérisation est terminée, qu'une étape du flux de travail est interrompue pour la saisie ou qu'un pipeline est automatiquement désactivé. Vous pouvez associer ces événements à une règle et les acheminer vers une cible pour démarrer votre propre automatisation. Les modèles courants incluent :
-
Avertissez une équipe via une rubrique Amazon SNS lorsqu'une image devient
AVAILABLEouFAILED. -
Appelez une fonction Lambda pour enregistrer une nouvelle AMI dans un magasin de paramètres, démarrer des tests de conformité externes ou mettre à jour un pipeline de déploiement.
-
Alerte sur les résultats de sécurité lorsqu'un scan signale des CVE critiques.
-
Mettez en place un flux de travail d'approbation lorsqu'une étape
WaitForActiondu flux de travail interrompt une création.
Pour agir sur un événement envoyé par Image Builder, créez une règle dont le modèle d'événement correspond à l'événement source (aws.imagebuilder) et detail-type qui restreint éventuellement les champs qu'il contientdetail. Ajoutez ensuite la cible qui exécute votre automatisation.
Exemple : Notifier lorsque l'image est terminée (AVAILABLEouFAILED)
{ "source": ["aws.imagebuilder"], "detail-type": ["EC2 Image Builder Image State Change"], "detail": { "state": { "status": ["AVAILABLE", "FAILED"] } } }
Exemple : alerte uniquement lorsqu'un scan détecte des CVE critiques
Utilisez un comparateur numérique afin que les scans nets ne déclenchent pas la règle :
{ "source": ["aws.imagebuilder"], "detail-type": ["EC2 Image Builder CVE Detected"], "detail": { "finding-severity-counts": { "critical": [{ "numeric": [">", 0] }] } } }
Note
Lorsque vous faites correspondre l'EC2 Image Builder Workflow Step Waitingévénement, votre cible peut appeler SendWorkflowStepAction avec le workflow-step-execution-id nom de l'événement et un action RESUME ouSTOP. Consultez WaitForAction.