Monitorar eventos da AMI usando o Amazon EventBridge
Quando o estado de uma imagem de máquina da Amazon (AMI) muda, o Amazon EC2 gera um evento que é enviado para o Amazon EventBridge (anteriormente conhecido como Amazon CloudWatch Events). Os eventos são enviados para o barramento de eventos do EventBridge padrão no formato JSON. É possível usar o Amazon EventBridge para detectar e reagir a esses eventos. Você faz isso criando regras no EventBridge que acionem uma ação em resposta a um evento. Por exemplo, é possível criar uma regra do EventBridge que detecte quando o processo de criação da AMI foi concluído e, em seguida, invoque um tópico do Amazon SNS para enviar uma notificação por email para você.
O Amazon EC2 gera um evento EC2 AMI State Change
quando uma AMI entra em qualquer um dos seguintes estados:
-
available
-
failed
-
deregistered
-
disabled
Os eventos são gerados com base no melhor esforço.
A tabela abaixo mostra as operações da AMI e os estados que podem ser atribuídos a ela. Na tabela, Sim indica os estados que podem ser atribuídos à AMI ao executar a operação correspondente.
Operações da AMI | available | failed | deregistered | disabled |
---|---|---|---|---|
CopyImage |
Sim |
Sim |
||
CreateImage |
Sim |
Sim |
||
CreateRestoreImageTask |
Sim |
Sim |
||
DeregisterImage |
Sim |
|||
DisableImage |
Sim |
|||
EnableImage |
Sim |
|||
RegisterImage |
Sim |
Sim |
Eventos do EC2 AMI State Change
Detalhes do evento
Você pode usar os seguintes campos no evento para criar regras que acionem uma ação:
"source": "aws.ec2"
-
Identifica que o evento é do Amazon EC2.
"detail-type": "EC2 AMI State Change"
-
Identifica o nome do evento.
"detail": { "ImageId": "ami-0123456789example", "State": "available", }
-
Fornece o ID e o estado da AMI (
available
,failed
,deregistered
oudisabled
).
Para obter mais informações, consulte os seguintes tópicos no Guia do usuário do Amazon EventBridge:
Para obter um tutorial sobre como criar uma função do Lambda e uma regra do EventBridge que execute a função do Lambda, consulte Tutorial: Log the state of an Amazon EC2 instance using EventBridge no Guia do desenvolvedor do AWS Lambda.
Eventos do available
Veja a seguir um exemplo de um evento que o Amazon EC2 gera quando a AMI entra no estado available
após uma operação de CreateImage
, CopyImage
, RegisterImage
, CreateRestoreImageTask
ou EnableImage
com êxito.
"State": "available"
indica que a operação teve êxito.
{ "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-0123456789example"], "detail": { "RequestId": "example-9dcc-40a6-aa77-7ce457d5442b", "ImageId": "ami-0123456789example", "State": "available", "ErrorMessage": "" } }
Eventos do failed
Veja a seguir um exemplo de um evento que o Amazon EC2 gera quando a AMI entra no estado failed
após uma operação de CreateImage
, CopyImage
, RegisterImage
ou CreateRestoreImageTask
com êxito.
Os campos a seguir fornecem informações pertinentes:
-
"State": "failed"
: indica que a operação falhou. -
"ErrorMessage": ""
: Fornece o motivo da operação com falha.
{ "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-0123456789example"], "detail": { "RequestId": "example-9dcc-40a6-aa77-7ce457d5442b", "ImageId": "ami-0123456789example", "State": "failed", "ErrorMessage": "Description of failure" } }
Eventos do deregistered
Veja a seguir um exemplo de um evento que o Amazon EC2 gera quando a AMI entra no estado deregistered
após uma operação de DeregisterImage
com êxito. Se a operação falhar, nenhum evento será gerado. Qualquer falha será conhecida imediatamente, pois DeregisterImage
é uma operação síncrona.
"State": "deregistered"
indica que a operação DeregisterImage
teve êxito.
{ "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-0123456789example"], "detail": { "RequestId": "example-9dcc-40a6-aa77-7ce457d5442b", "ImageId": "ami-0123456789example", "State": "deregistered", "ErrorMessage": "" } }
Eventos do disabled
Veja a seguir um exemplo de um evento que o Amazon EC2 gera quando a AMI entra no estado disabled
após uma operação de DisableImage
com êxito. Se a operação falhar, nenhum evento será gerado. Qualquer falha será conhecida imediatamente, pois DisableImage
é uma operação síncrona.
"State": "disabled"
indica que a operação DisableImage
teve êxito.
{ "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-0123456789example"], "detail": { "RequestId": "example-9dcc-40a6-aa77-7ce457d5442b", "ImageId": "ami-0123456789example", "State": "disabled", "ErrorMessage": "" } }