Surveiller des événements d’AMI à l’aide d’Amazon EventBridge
Lorsque l’état d’une Amazon Machine Image (AMI) change, Amazon EC2 génère un événement envoyé à Amazon EventBridge (anciennement connu sous le nom Amazon CloudWatch Events). Les événements sont envoyés au bus d’événements EventBridge par défaut au format JSON. Vous pouvez utiliser Amazon EventBridge pour détecter et réagir à ces événements. Pour ce faire, créez des règles dans EventBridge qui déclenchent une action en réponse à un événement. Par exemple, vous pouvez créer une règle EventBridge qui détecte quand le processus de création de l’AMI est terminé, puis appelle une rubrique Amazon SNS pour vous envoyer une notification par e-mail.
Amazon EC2 génère un événement de EC2 AMI State Change lorsqu’une AMI entre dans l’un des états suivants :
-
available -
failed -
deregistered -
disabled
Les événements sont générés sur la base du meilleur effort.
Le tableau suivant répertorie les opérations d’AMI et les états dans lesquels une AMI peut basculer. Dans le tableau, Oui indique les états dans lesquels l’AMI peut basculer lors de l’exécution de l’opération correspondante.
| Opérations de l’AMI | available | failed | deregistered | disabled |
|---|---|---|---|---|
CopyImage |
Oui |
Oui |
||
|
CreateImage |
Oui |
Oui |
||
|
CreateRestoreImageTask |
Oui |
Oui |
||
DeregisterImage |
Oui |
|||
|
DisableImage |
Oui |
|||
|
EnableImage |
Oui |
|||
RegisterImage |
Oui |
Oui |
EC2 AMI State ChangeÉvénements
Détails de l’événement
Vous pouvez utiliser les champs suivants dans l’événement afin de créer des règles qui déclenchent une action :
"source": "aws.ec2"-
Identifie que l’événement provient de Amazon EC2.
"detail-type": "EC2 AMI State Change"-
Identifie le nom de l’événement.
"detail": { "ImageId": "ami-0abcdef1234567890", "State": "available", }-
Fournit l’identifiant de l’AMI et l’état de l’AMI (
available,failed,deregistered, oudisabled).
Pour plus d’informations, consultez la section suivante dans le Guide de l’utilisateur Amazon EventBridge. :
Pour obtenir un didacticiel sur la création d’une fonction Lambda et d’une règle EventBridge qui exécute la fonction Lambda, consultez le Didacticiel : journaliser l’état d’une instance Amazon EC2 à l’aide d’EventBridge dans le Guide du développeur AWS Lambda.
availableÉvénements
Voici un exemple d’événement généré par Amazon EC2 lorsque l’AMI bascule dans l’état available après une opération CreateImage, CopyImage, RegisterImage, CreateRestoreImageTask ou EnableImage réussie.
"State": "available" indique que l’opération a réussi.
{ "version": "0", "id": "example-9f07-51db-246b-d8b8441bcdf0", "detail-type": "EC2 AMI State Change", "source": "aws.ec2", "account": "012345678901", "time": "yyyy-mm-ddThh:mm:ssZ", "region": "us-east-1", "resources": ["arn:aws:ec2:us-east-1::image/ami-0abcdef1234567890"], "detail": { "RequestId": "example-9dcc-40a6-aa77-7ce457d5442b", "ImageId": "ami-0abcdef1234567890", "State": "available", "ErrorMessage": "" } }
failedÉvénements
Voici un exemple d’événement généré par Amazon EC2 lorsque l’AMI bascule dans l’état failed après l’échec d’une opération CreateImage, CopyImage, RegisterImage ou CreateRestoreImageTask.
Les champs suivants fournissent des informations pertinentes :
-
"State": "failed": indique que l’opération a échoué. -
"ErrorMessage": "": indique la raison de l’échec de l’opération.
{ "version": "0", "id": "example-9f07-51db-246b-d8b8441bcdf0", "detail-type": "EC2 AMI State Change", "source": "aws.ec2", "account": "012345678901", "time": "yyyy-mm-ddThh:mm:ssZ", "region": "us-east-1", "resources": ["arn:aws:ec2:us-east-1::image/ami-0abcdef1234567890"], "detail": { "RequestId": "example-9dcc-40a6-aa77-7ce457d5442b", "ImageId": "ami-0abcdef1234567890", "State": "failed", "ErrorMessage": "Description of failure" } }
deregisteredÉvénements
Voici un exemple d’événement généré par Amazon EC2 lorsque l’AMI bascule dans l’état deregistered après une opération DeregisterImage réussie. Si l’opération échoue, aucun événement n’est généré. Tout échec est immédiatement connu, car DeregisterImage est une opération synchrone.
"State": "deregistered" indique que l’opération DeregisterImage a réussi.
{ "version": "0", "id": "example-9f07-51db-246b-d8b8441bcdf0", "detail-type": "EC2 AMI State Change", "source": "aws.ec2", "account": "012345678901", "time": "yyyy-mm-ddThh:mm:ssZ", "region": "us-east-1", "resources": ["arn:aws:ec2:us-east-1::image/ami-0abcdef1234567890"], "detail": { "RequestId": "example-9dcc-40a6-aa77-7ce457d5442b", "ImageId": "ami-0abcdef1234567890", "State": "deregistered", "ErrorMessage": "" } }
disabledÉvénements
Voici un exemple d’événement généré par Amazon EC2 lorsque l’AMI bascule dans l’état disabled après une opération DisableImage réussie. Si l’opération échoue, aucun événement n’est généré. Tout échec est immédiatement connu, car DisableImage est une opération synchrone.
"State": "disabled" indique que l’opération DisableImage a réussi.
{ "version": "0", "id": "example-9f07-51db-246b-d8b8441bcdf0", "detail-type": "EC2 AMI State Change", "source": "aws.ec2", "account": "012345678901", "time": "yyyy-mm-ddThh:mm:ssZ", "region": "us-east-1", "resources": ["arn:aws:ec2:us-east-1::image/ami-0abcdef1234567890"], "detail": { "RequestId": "example-9dcc-40a6-aa77-7ce457d5442b", "ImageId": "ami-0abcdef1234567890", "State": "disabled", "ErrorMessage": "" } }