Comment puis-je être averti lorsque des modifications sont apportées aux enregistrements de zone hébergée de Route 53 ?

Date de la dernière mise à jour : 10/04/2020

Comment recevoir une réponse par e-mail avec une notification personnalisée lorsque des ensembles d'enregistrements de ressources sont créés ou supprimés d'Amazon Route 53 ?

Brève description

Servez-vous d'un modèle d'événement personnalisé avec une règle Amazon EventBridge ou Amazon CloudWatch Events qui se déclenche lorsque l'activité d'API ChangeResourceRecordSets est inscrite dans AWS CloudTrail. Dirigez ensuite la réponse vers une rubrique Amazon SNS (Amazon Simple Notification Service).

Solution

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

Remarque : la rubrique Amazon SNS doit se trouver dans la région USA Est (Virginie du Nord). Pour plus d'informations, consultez la section Journalisation des appels d'API de Route 53 avec CloudTrail.

Utiliser Amazon EventBridge pour déclencher des notifications par e-mail

1.    Ouvrez la console EventBridge.

2.    Dans le volet de navigation, sélectionnez Règles, puis Créer une règle.

3.    Dans Name and description (Nom et description), saisissez un nom et une description pour la règle.

4.    Dans Définir le modèle, sélectionnez Modèle d'événement, puis Prédéfinir le modèle par service.

5.    Dans le menu déroulant Service provider (Fournisseur), choisissez AWS.

6.    Dans le menu déroulant Nom du service, sélectionnez Route 53.

7.    Dans le menu déroulant Type d'événement, sélectionnez Appel de l'interface de ligne de commande AWS via CloudTrail.

8.    Pour déclencher la règle pour des appels d'API spécifiques, sélectionnez Opération(s) spécifique(s).

9.    Dans la zone de texte, saisissez ChangeResourceRecordSets.

10.    Dans le menu déroulant Cible, sélectionnez Rubrique SNS.

11.    Dans le menu déroulant Topic (Rubrique), choisissez votre rubrique SNS.

12.    Développez Configurer l'entrée, puis sélectionnez Transformateur d'entrée.

13.    Copiez les chemins d'entrée suivants. Collez-les ensuite dans Input Path (Chemin d'entrée).

{
"eventTime":"$.detail.eventTime",
"hostedZone":"$.detail.requestParameters.hostedZoneId",
"userName": "$.detail.userIdentity.sessionContext.sessionIssuer.userName",
"eventID":"$.detail.eventID"
}

14.    Copiez le modèle d'entrée suivant. Collez-le ensuite dans Modèle d'entrée.

« À <eventTime>, un ou plusieurs enregistrements de Route 53 au sein de la zone hébergée <hostedZone> ont été modifiés par l'utilisateur <userName>. Pour afficher l'événement directement dans votre historique des événements et évaluer ces modifications, utilisez le lien suivant. Veuillez noter que l'événement peut prendre jusqu'à 15 minutes avant d'être disponible dans votre historique d'événement : https://console.aws.amazon.com/cloudtrail/home?region=us-east-1#/events?EventId=<eventID> »

15.    Sélectionnez Créer.

16.    Si un type d'événement est déclenché, vous recevez une notification SNS par e-mail avec les champs personnalisés renseignés de l'étape 14 contenant un lien de la console vers votre historique d'événement, similaire au lien suivant :

"At 2020-01-08T17:34:13Z, one or more Route53 records within Hosted Zone
 Z2QQOQ12345678 were modified by user exampleuser. To view the event 
directly in your Event History and review these changes, use the 
following link. Note that the event may take up to 15 minutes to 
be available in your Event History: 
https://console.aws.amazon.com/cloudtrail/home?region=us-east-1#/events?EventId=18c12bff-c379-1234-993f-41d3312342f99"

CloudWatch Events to trigger email notifications (Événements CloudWatch pour déclencher des notifications par e-mail)

1.    Ouvrez la console CloudWatch.

2.    Dans le volet de navigation, sélectionnez Règles, puis Créer une règle.

3.    Dans le menu déroulant Nom du service, sélectionnez Route 53.

4.    Dans le menu déroulant Event Type (Type d'événement), choisissez AWS API Call via CloudTrail (Appel d'API AWS via CloudTrail).

5.    Pour déclencher la règle pour des appels d'API spécifiques, sélectionnez Opération(s) spécifique(s).

6.    Dans la zone de texte, saisissez ChangeResourceRecordSets.

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

8.    Dans Select Target (Sélectionner la cible), choisissez SNS topic (Rubrique SNS).

9.    Dans le menu déroulant Targets (Cibles) choisissez SNS topic (Rubrique SNS).

10.    Dans le menu déroulant Topic (Rubrique), choisissez votre rubrique SNS.

11.    Développez Configurer l'entrée, puis sélectionnez Transformateur d'entrée.

12.    Copiez les chemins d'entrée suivants. Collez-les ensuite dans Input Path (Chemin d'entrée).

{
"eventTime":"$.detail.eventTime",
"hostedZone":"$.detail.requestParameters.hostedZoneId",
"userName": "$.detail.userIdentity.sessionContext.sessionIssuer.userName",
"eventID":"$.detail.eventID"
}

13.    Copiez le modèle d'entrée suivant. Collez-le ensuite dans Modèle d'entrée.

« À <eventTime>, un ou plusieurs enregistrements de Route 53 au sein de la zone hébergée <hostedZone> ont été modifiés par l'utilisateur <userName>. Pour afficher l'événement directement dans votre historique des événements et évaluer ces modifications, utilisez le lien suivant. Veuillez noter que l'événement peut prendre jusqu'à 15 minutes avant d'être disponible dans votre historique d'événement : https://console.aws.amazon.com/cloudtrail/home?region=us-east-1#/events?EventId=<eventID> »

14.    Choisissez Configure details (Définir les informations).

15.    Dans Configurer les détails de la règle, saisissez le nom et la description de la règle, puis choisissez Créer une règle.

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

"At 2020-01-08T17:34:13Z, one or more Route 53 records within Hosted Zone Z2QQOQ12345678 were modified by user exampleuser. To view the event directly in your Event History and review these changes, use the following link. Note that the event may take up to 15 minutes to be available in your Event History: https://console.aws.amazon.com/cloudtrail/home?region=us-east-1#/events?EventId=18c12bff-c379-4d5f-993f-41d3312342f99"

Analyse des sorties

Vous pouvez afficher des actions de modification, des noms d'enregistrements, des types d'enregistrements et des valeurs spécifiques transmises dans le cadre d'un appel d'API ChangeResourceRecordSets avec une notification SNS de rubrique. Toutefois, dans les exemples suivants, la sortie peut être difficile à analyser pour les lots présentant plusieurs modifications :

Exemple de chemins d'entrée :

{
"eventTime":"$.detail.eventTime",
"hostedZone":"$.detail.requestParameters.hostedZoneId",
"userName": "$.detail.userIdentity.sessionContext.sessionIssuer.userName",
"eventID":"$.detail.eventID",
"action":"$.detail.requestParameters.changeBatch.changes[*].action",
"recordType":"$.detail.requestParameters.changeBatch.changes[*].resourceRecordSet.type",
"recordName":"$.detail.requestParameters.changeBatch.changes[*].resourceRecordSet.name",
"value":"$.detail.requestParameters.changeBatch.changes[*].resourceRecordSet.resourceRecords[*].value"
}

Exemple de modèle d'entrée :

« À <eventTime>, le ou les enregistrements Route 53 <recordName> du ou des types d'enregistrement <recordType> au sein de la zone hébergée <hostedZone> ont été modifiés par l'utilisateur <userName>. Les valeurs d'enregistrement ont été configurées sur <value>. Pour afficher l'événement directement dans votre historique des événements et évaluer ces modifications, utilisez le lien suivant. Veuillez noter que l'événement peut prendre jusqu'à 15 minutes avant d'être disponible dans votre historique d'événement : https://console.aws.amazon.com/cloudtrail/home?region=us-east-1#/events?EventId=<eventID> »

Exemple de notification :

"At 2020-01-08T18:38:25Z, Route 53 record(s) 
[eventtest1.example.com,eventtest2.example.com,eventtest3.example.com] 
of record type(s) [A,A,A] within Hosted Zone Z2QQOQG4PLKFJ3 were 
modified by user testuser. The record values were configured to 
[1.1.1.1,2.2.2.2,3.3.3.3,4.4.4.4,5.5.5.5,6.6.6.6,10.10.10.10,15.15.15.15,20.20.20.20].
 To view the event directly in your Event History and review these 
changes, use the following link. Note that the event may 
take up to 15 minutes to be available in your Event History: 
https://console.aws.amazon.com/cloudtrail/home?region=us-east-1#/events?EventId=6ce46abc-12345678-a286-090aded68b29"

Si vous souhaitez recevoir tous les détails des modifications avec une notification SNS de rubrique et les afficher dans un format plus lisible, pensez à utiliser AWS Lambda. Par exemple, vous pouvez transmettre l'événement JSON complet à une cible de fonction Lambda pour analyser le tableau de données pour les actions, les types d'enregistrements, les noms d'enregistrements et les valeurs.