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, Sí indica los estados que la AMI puede adoptar cuando se ejecuta la operación correspondiente.
Operaciones de AMI | available | failed | deregistered | disabled |
---|---|---|---|---|
CopyImage |
Sí |
Sí |
||
CreateImage |
Sí |
Sí |
||
CreateRestoreImageTask |
Sí |
Sí |
||
DeregisterImage |
Sí |
|||
DisableImage |
Sí |
|||
EnableImage |
Sí |
|||
RegisterImage |
Sí |
Sí |
Eventos de EC2 AMI State Change
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
odisabled
).
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": "" } }