Supervisión de los eventos de las AMI con Amazon EventBridge - Amazon Elastic Compute Cloud

Supervisión de los eventos de las AMI con Amazon EventBridge

Cuando cambia el estado de una imagen de máquina de Amazon (AMI), Amazon EC2 genera un evento que se envía a Amazon EventBridge (antes conocido como Eventos de Amazon CloudWatch). Los eventos se envían al bus de eventos en EventBridge en formato JSON de manera predeterminada. Puede utilizar Amazon EventBridge para detectar y reaccionar a estos eventos. Para ello, cree reglas en EventBridge que activen una acción como respuesta a un evento. Por ejemplo, puede crear una regla de EventBridge que detecte cuándo se ha completado el proceso de creación de la AMI y, a continuación, invoque un tema de Amazon SNS para que envíe una notificación por email.

Amazon EC2 genera un evento de EC2 AMI State Change cuando una AMI entra en alguno de los siguientes estados:

  • available

  • failed

  • deregistered

  • disabled

Los eventos se envían en la medida de lo posible.

En la siguiente tabla se enumeran las operaciones de la AMI y los estados que puede adoptar una AMI. En la tabla, indica los estados que la AMI puede adoptar cuando se ejecuta la operación correspondiente.

Operaciones de AMI available failed deregistered disabled

CopyImage

CreateImage

CreateRestoreImageTask

DeregisterImage

DisableImage

EnableImage

RegisterImage

Detalles del evento

Puede utilizar los siguientes campos del evento para crear reglas que desencadenen una acción:

"source": "aws.ec2"

Identifica que el evento es de Amazon EC2.

"detail-type": "EC2 AMI State Change"

Identifica el nombre del evento.

"detail": { "ImageId": "ami-0123456789example", "State": "available", }

Proporciona el identificador de la AMI y el estado de la AMI (available, failed, deregistered o disabled).

Para obtener más información, consulte lo siguiente en la Guía del usuario de Amazon EventBridge:

Para ver un tutorial acerca de cómo crear una función de Lambda y una regla de EventBridge que ejecute la función de Lambda, consulte Tutorial: Log the state of an Amazon EC2 instance using EventBridge en la Guía para desarrolladores de AWS Lambda.

Eventos de available

A continuación, se muestra un ejemplo de un evento que Amazon EC2 genera cuando la AMI adopta el estado available tras una operación CreateImage, CopyImage, RegisterImage, CreateRestoreImageTask o EnableImage correcta.

"State": "available" indica que la operación se ha realizado correctamente.

{ "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 de failed

A continuación, se muestra un ejemplo de un evento que Amazon EC2 genera cuando la AMI adopta el estado failed tras una operación CreateImage, CopyImage, RegisterImage, CreateRestoreImageTask con errores.

En los campos siguientes, se muestra información pertinente:

  • "State": "failed" indica que se ha producido un error en una operación.

  • "ErrorMessage": "": proporciona el motivo de la operación fallida.

{ "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 de deregistered

A continuación, se muestra un ejemplo de un evento que Amazon EC2 genera cuando la AMI adopta el estado deregistered tras una operación DeregisterImage correcta. Si la operación falla, no se genera ningún evento. Cualquier error se conoce inmediatamente porque DeregisterImage es una operación sincrónica.

"State": "deregistered" indica que la operación DeregisterImage se ha realizado correctamente.

{ "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 de disabled

A continuación, se muestra un ejemplo de un evento que Amazon EC2 genera cuando la AMI adopta el estado disabled tras una operación DisableImage correcta. Si la operación falla, no se genera ningún evento. Cualquier error se conoce inmediatamente porque DisableImage es una operación sincrónica.

"State": "disabled" indica que la operación DisableImage se ha realizado correctamente.

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