Monitorar eventos da AMI usando o Amazon EventBridge - Amazon Elastic Compute Cloud

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

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 ou disabled).

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": "" } }