¿Cómo puedo recibir notificaciones de eventos programados de mi instancia de EC2 con EventBridge?

Última actualización:18 de enero de 2023

Quiero recibir notificaciones de Amazon EventBridge cuando haya un evento programado para mi instancia de Amazon Elastic Compute Cloud (Amazon EC2).

Descripción breve

Puede crear una regla de EventBridge para que se inicie en un evento programado para su instancia de EC2. A continuación, puede configurar las notificaciones de Amazon Simple Notification Service (Amazon SNS) para los eventos que coincidan con su patrón de eventos. También puede configurar procesamiento adicional a través de AWS Lambda.

Resolución

Importante: Antes de empezar, asegúrese de tener un tema de SNS para las notificaciones. Si no tiene uno, cree un nuevo tema de SNS y suscríbase.

Cree una regla de EventBridge que se inicie en un evento mediante la consola de EventBridge:

1.    Asigne un nombre y, opcionalmente, una descripción a la regla.

2.    En Bus de eventos, seleccione el valor predeterminado.

3.    En Rule type (Tipo de regla), elija Rule with an event pattern (Regla con un patrón de eventos).

4.    Seleccione Siguiente.

5.    En Event source (Origen del evento), elija AWS events (Eventos de AWS) o EventBridge partner events (Eventos de socio de EventBridge).

6.    (Opcional) En Sample events (Eventos de ejemplo), elija el tipo de evento.

7.    En Creation method (Método de creación), elija Use pattern form (Usar forma de patrón).

8.    En Event source (Origen del evento), elija AWS services (Servicios de AWS).

9.    En AWS service (Servicio de AWS), elija Health (Estado). Este es el nombre del servicio de AWS como origen del evento.

10.    En Event Type (Tipo de evento), elija Specific Health events (Eventos de estado específicos).

11.    Elija Specific service(s) (Servicios específicos) y, a continuación, elija EC2.

12.    Elija Specific event type category(s) (Categorías de tipos de eventos específicos) y, a continuación, elija scheduledChange.

13.    (Opcional) Para crear una regla más específica, incluya códigos de tipos de eventos específicos o recursos específicos. Al agregar una de estas opciones a la regla, se envían notificaciones para instancias o eventos específicos.

Esta configuración crea el siguiente patrón de eventos:

Nota: También puede crear su patrón de eventos copiando y pegando el siguiente código como regla. Después de elegir Create Rule (Crear regla), elija Edit (Editar) en la sección Event Pattern preview (Vista previa del patrón de eventos). Inserta el código a continuación, elija Save (Guardar) y, a continuación, proceda a crear un destino de SNS.

{
  "source": [
    "aws.health"
  ],
  "detail-type": [
    "AWS Health Event"
  ],
  "detail": {
    "service": [
      "EC2"
    ],
    "eventTypeCategory": [
      "scheduledChange"
    ]
  }
}

14.    Seleccione su destino de SNS:
Elija Add Target (Agregar destino).
Para el destino, elija SNS Topic (Tema de SNS).
En Topic (Tema), elija el tema de SNS que quiera usar para las notificaciones.

El siguiente ejemplo es un evento de EventBridge que se reenviará al destino:

{
  "version": "0",
  "id": "7fb65329-1628-4cf3-a740-95fg457h1402",
  "detail-type": "AWS Health Event",
  "source": "aws.health",
  "account": "123456789101",
  "time": "2016-06-05T06:27:57Z",
  "region": "us-east-1",
  "resources": ["i-12345678"],
  "detail": {
    "eventArn": "arn:aws:health:region::event/id",
    "service": "EC2",
    "eventTypeCode": "AWS_EC2_DEDICATED_HOST_NETWORK_MAINTENANCE_SCHEDULED",
    "eventTypeCategory": "scheduledChange",
    "startTime": "Sat, 05 Jun 2016 15:10:09 GMT",
    "eventDescription": [{
      "language": "en_US",
      "latestDescription": "A description of the event will be provided here"
    }],
    "affectedEntities": [{
      "entityValue": "i-12345678",
      "tags": {
        "stage": "prod",
        "app": "my-app"
      }
    }]
  }
}

Si su caso de uso requiere entregar campos específicos al destino, adjunte un transformador de entrada en Configure input (Configurar entrada). O bien, adjunte una función de Lambda como destino para ejecutar el procesamiento designado.