Comment recevoir des notifications d'événements planifiés pour mon instance EC2 à l'aide d'EventBridge ?

Date de la dernière mise à jour : 19/01/2022

Je veux recevoir des notifications d'Amazon EventBridge lorsqu'il y a un événement planifié pour mon instance Amazon Elastic Compute Cloud (Amazon EC2). Comment procéder ?

Brève description

Vous pouvez créer une règle EventBridge qui se déclenchera sur un événement planifié pour votre instance EC2. Ensuite, vous pouvez configurer les notifications Amazon Simple Notification Service (Amazon SNS) pour les événements correspondant à votre modèle d'événement. Vous pouvez également configurer un traitement ultérieur via AWS Lambda.

Solution

Important : avant de commencer, assurez-vous de disposer d'une rubrique SNS pour les notifications. Si vous n'en avez pas, créez une nouvelle rubrique SNS et abonnez-vous.

Créez une règle EventBridge qui se déclenche lors d'un événement à l'aide de la console EventBridge :

1.    Attribuez un nom et éventuellement une description à la règle.

2.    Pour Define Pattern (Définir le modèle), choisissez Event pattern (Modèle d'événement).

3.    Pour Event matching pattern (Modèle de correspondance d'événement), choisissez Pre-defined by service (Prédéfini par service).

4.    Pour Service provider (Fournisseur de services), choisissez AWS.

5.    Pour Service Name (Nom du service), choisissez Health.

6.    Pour Event Type (Type d'événement), choisissez Specific Health events (Événements Health spécifiques).

7.    Choisissez Specific service(s) (Services spécifiques), puis EC2.

8.    Choisissez Specific event type category(s) (Catégories de type d'événement spécifique), puis scheduledChange.

9.    (Facultatif) Pour créer une règle plus spécifique, incluez un Specific event type code(s) (Codes de type d'événement spécifiques) ou Specific resource(s) (Ressources spécifiques). En ajoutant l'une de ces options à la règle, les notifications sont envoyées pour des événements ou des instances spécifiques.

Ces paramètres créent le modèle d'événement suivant :

Remarque : vous pouvez également créer votre modèle d'événement en copiant et collant le code suivant en tant que règle. Après avoir choisi Create Rule (Créer la règle), choisissez Edit (Modifier) dans la section Event Pattern preview (Aperçu du modèle d'événement). Insérez le code ci-dessous, choisissez Save (Enregistrer), puis créez une cible SNS.

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

10.    Sélectionnez votre cible SNS :
Choisissez Add Target (Ajouter une cible).
Pour la cible, choisissez SNS topic (Rubrique SNS).
Pour Topic (Rubrique), choisissez la rubrique SNS que vous voulez utiliser pour les notifications.

L'exemple suivant est un événement EventBridge qui sera transmis à la cible :

{
  "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 votre cas d'utilisation exige de fournir des champs spécifiques à la cible, attachez alors un Input Transformer (Transformateur d'entrée) sous Configure input (Configurer l'entrée). Vous pouvez également attacher une fonction Lambda comme cible pour exécuter un traitement désigné.