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

Última actualización: 19-01-2022

Quiero recibir notificaciones de Amazon EventBridge cuando haya un evento programado para mi instancia de Amazon Elastic Compute Cloud (Amazon EC2). ¿Cómo puedo hacer esto?

Descripción corta

Puede crear una regla de EventBridge para que se desencadene 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 desencadene un evento mediante la consola de EventBridge:

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

2.    En Define pattern (Definir patrón), elija Event Pattern (Patrón de eventos).

3.    En Event matching pattern (Patrón de coincidencia de eventos), elija Pre-defined by service (Predefinido por servicio).

4.    En Service provider (Proveedor de servicios), elija AWS.

5.    En Service name (Nombre del servicio), elija Health (Estado).

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

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

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

9.    (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"
    ]
  }
}

10.    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.