Comment recevoir des notifications lorsque des modifications sont apportées aux enregistrements de zone hébergée de Route 53 ?

Dernière mise à jour : 09/09/2022

Comment faire pour recevoir un 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

Vous pouvez utiliser 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 enregistrée dans AWS CloudTrail. Dirigez ensuite la réponse vers une rubrique Amazon Simple Notification Service (Amazon SNS).

Solution

Si vous n'avez pas déjà créé de rubrique Amazon SNS avec un abonnement par e-mail, veuillez suivre les instructions de la section Démarrage avec Amazon SNS. Cette rubrique et cet abonnement seront utilisés ultérieurement. Cet article divise la tâche en trois parties :

  • Création d'une règle EventBridge afin de correspondre aux appels d'API Route 53 capturés par CloudTrail
  • Association de la règle EventBridge à une cible SNS pour la notification par e-mail
  • Configuration du transformateur d'entrée sur la cible afin que la notification puisse être personnalisée en un message lisible par l'utilisateur

Pour recevoir une notification lorsque des modifications sont apportées aux enregistrements de zone hébergée Route 53, veuillez suivre l'ensemble des étapes pour chaque tâche.

Création d'une règle EventBridge

Route 53 est un service mondial AWS disponible uniquement dans la région USA Est (Virginie du Nord). La règle EventBridge doit être créée dans la région USA Est (Virginie du Nord).

1.    Ouvrez la console EventBridge.

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

3.    Dans les champs Name (Nom) et Description, saisissez un nom ainsi qu'une description pour la règle. Afin de recevoir des événements de la part des services AWS, sélectionnez Enable the rule on the selected eventbus (Activer la règle sur le bus d'événements sélectionné).

4.    Sélectionnez Rule with a event pattern (Règle avec un modèle d'événement). Ensuite, sélectionnez Next (Suivant).

5.    Sélectionnez AWS Events or EventBridge partner events (Événements AWS ou événements partenaires EventBridge).

6.    Sous Event pattern (Modèle d'événement), sélectionnez les paramètres suivants :

Pour Event source (Source d'événement), sélectionnez AWS services (Services AWS)
Pour AWS service (Service AWS), sélectionnez Route 53
Pour Event Type (Type d'événement), sélectionnez AWS API Call via CloudTrail (Appel d'API AWS via CloudTrail)

7.    Sélectionnez Specific Operation(s) (Opération(s) spécifique(s)), puis saisissez ChangeResourceRecordSets dans le champ. Ainsi, les événements seront limités à ne correspondre que pour la création, la suppression ou la mise à jour des ensembles d'enregistrements de ressources.

Le modèle d'événement suivant apparaît :

{
  "source": ["aws.route53"],
  "detail-type": ["AWS API Call via CloudTrail"],
  "detail": {
    "eventSource": ["route53.amazonaws.com"],
    "eventName": ["ChangeResourceRecordSets"]
  }
}

8.    Sélectionnez Next (Suivant) afin de passer à l'étape suivante.

Association de cible SNS à la règle EventBridge

1.     Dans la section Target types (Types de cible), sélectionnez AWS Service (Service AWS).

2.    Dans la liste déroulante Select a target (Sélectionner une cible), cliquez sur SNS topic (Rubrique SNS).

3.    Dans la liste déroulante Topic (Rubrique), choisissez la rubrique SNS que vous avez créée précédemment.

Configuration du transformateur d'entrée pour personnaliser la notification SNS

Par défaut, EventBridge transmet l'intégralité de l'événement CloudTrail à la cible. La rubrique SNS envoie ensuite une notification au format JSON non formaté. Il peut en résulter une difficulté en ce qui concerne la lecture et la compréhension du contenu.

En utilisant le transformateur d'entrée, des champs spécifiques de l'événement entrant peuvent être sélectionnés puis intégrés dans un message plus lisible par l'utilisateur. Input Path (Chemin d'entrée) identifie les champs souhaités.

Pour cet exemple, eventTime, hostedZone, username et eventID sont inclus dans la notification. Les champs peuvent être modifiés afin de correspondre à votre cas d'utilisation. Input Template (Modèle d'entrée) contient le corps du message de la notification ainsi que des espaces réservés qui seront mis à jour dynamiquement avec les champs souhaités.

1.    Développez la liste déroulante Additional settings (Paramètres supplémentaires). Dans la liste déroulante Configure target input (Configurer l'entrée cible), sélectionnez Input transformer (Transformateur d'entrée).

2.    Sélectionnez Configure input transformer (Configurer le transformateur d'entrée).

3.    Dans le champ Input path (Chemin d'entrée), collez le texte suivant :

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

4.    Dans le champ Template (Modèle), collez le texte suivant :

"At <eventTime>, one or more Route 53 records within Hosted Zone <hostedZone> were modified by user <userName>. 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=<eventID>"

6.    Cliquez sur Confirm (Confirmer).

7.    (Facultatif) Ajoutez des identifications à la règle EventBridge. Ensuite, sélectionnez Next (Suivant).

8.    Vérifiez la configuration de la règle. Ensuite, sélectionnez Create rule (Créer une règle).

Une fois la règle créée, toute modification apportée aux ensembles de ressources Route 53 entraînera une notification similaire à la suivante :

"At 2022-08-16T21:02:46Z, one or more Route 53 records within Hosted Zone ZB3A123456789 were modified by user Admin. 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=04d08662-537e-4424-97c2-8bc796943b75"