Que puis-je faire pour recevoir des notifications personnalisées par e-mail lorsqu'une ressource est créée dans mon compte AWS à l'aide du service AWS Config ?

Date de la dernière mise à jour : 19/11/2019

J'ai créé une règle Amazon CloudWatch Events pour déclencher des types d'événements de service lors que de nouvelles ressources AWS sont créées. Cependant, mais les réponses sont au format JSON. Comment puis-je recevoir une notification par e-mail avec une réponse personnalisée ?  

Brève description

Utilisez un modèle d'événement personnalisé avec la règle CloudWatch Events pour faire assurer la correspondance avec un type de ressource pris en charge par AWS Config. Ensuite, envoyez la réponse à une rubrique Amazon SNS (Amazon Simple Notification Service).

Résolution

Dans l'exemple suivant, des notifications SNS sont reçues lorsqu'une nouvelle instance Amazon Elastic Compute Cloud (Amazon EC2) est créée à l'aide du type de ressource AWS::EC2::Instance.

Remarque : vous pouvez remplacer le type de ressource pour votre service AWS spécifique.

1.    Si vous n'avez pas déjà créé de rubrique Amazon SNS, suivez les instructions pour Mise en route avec Amazon SNS.

Remarque : la rubrique Amazon SNS doit se trouver dans la même région que votre service AWS Config.

2.    Ouvrez la console CloudWatch.

3.    Dans le volet de navigation, sélectionnez Rules (Règles), puis Create rule (Créer une règle).

4.    Pour « Source de l'événement » (Source de l'événement), choisissez « Event Pattern » (Modèle de l'événement).

5.    Dans le menu déroulant « Build event pattern to match events by service » (Créer un modèle d'événement pour faire correspondre les événements par service) choisissez « Custom event pattern » (Modèle d'événement personnalisé).

6.    Dans le volet d'aperçu « Build custom event pattern » (Créer un modèle d'événement personnalisé), copiez et collez l'exemple de modèle d'événement suivant :

Remarque : vous pouvez remplacer le type de ressource EC2::Instance par d'autres ressources. Pour obtenir la liste des types de ressources disponibles, consultez la section resourceType dans les types de données AWS Config.

{
  "source": [
    "aws.config"
  ],
  "detail-type": [
    "Config Configuration Item Change"
  ],
  "detail": {
    "messageType": [
      "ConfigurationItemChangeNotification"
    ],
    "configurationItem": {
      "resourceType": [
        "AWS::EC2::Instance"
      ],
      "configurationItemStatus": [
        "ResourceDiscovered"
      ]
    }
  }
}

7.    Dans « Targets » (Cibles), sélectionnez « Add target » (Ajouter une cible).

8.    Choisissez le menu déroulant cible, puis choisissez « SNS Topic » (Rubrique SNS).

9.    Dans « Topic » (Rubrique), choisissez votre rubrique SNS.

10.   Développez « Configure input » (Définir l'entrée), puis choisissez « Input Transformer » (Transformateur d'entrée).

11.   Dans la zone de texte « Input Path » (Chemin d'entrée), copiez et collez l'exemple de chemin suivant :

{
    "awsRegion": "$.detail.configurationItem.awsRegion",
    "awsAccountId": "$.detail.configurationItem.awsAccountId",
    "resource_type": "$.detail.configurationItem.resourceType",
    "resource_ID": "$.detail.configurationItem.resourceId",
    "configurationItemCaptureTime": "$.detail.configurationItem.configurationItemCaptureTime"
}

12.   Dans la zone de texte « Input Template » (Modèle d'entrée), copiez et collez l'exemple de modèle suivant :  

"On <configurationItemCaptureTime> AWS Config service recorded a creation of a new <resource_type> with Id <resource_ID> in the account <awsAccountId> region <awsRegion>. For more details open the AWS Config console at https://console.aws.amazon.com/config/home?region=<awsRegion>#/timeline/<resource_type>/<resource_ID>/configuration"

13.   Dans « Name » (Nom), saisissez un nom pour votre règle, puis sélectionnez « Create rule » (Créer une règle).

14.    Si un type d'événement est déclenché, vous recevez une notification par e-mail SNS avec les champs personnalisés renseignés de l'étape 12, comme suit :

"On ExampleTime AWS Config service recorded a creation of a new AWS::EC2::Instance with Id ExampleID in the account AccountID region ExampleRegion. For more details open the AWS Config console at https://console.aws.amazon.com/config/home?region=*ExampleRegion*#/timeline/AWS::EC2::Instance/*ExampleID*/configuration"