Wie kann ich benachrichtigt werden, wenn Änderungen an den Datensätze der gehosteten Zone in Route 53 vorgenommen werden?

Lesedauer: 4 Minute
0

Wie kann ich eine E-Mail-Antwort mit einer benutzerdefinierten Benachrichtigung erhalten, wenn Ressourcen-Datensätze in Amazon Route 53 erstellt oder gelöscht werden?

Kurzbeschreibung

Sie können ein benutzerdefiniertes Ereignismuster mit einer Regel in Amazon EventBridge oder Amazon CloudWatch Events verwenden, die ausgelöst wird, wenn die API-Aktivität ChangeResourceRecordSets in AWS CloudTrail protokolliert wird. Dann leiten Sie die Antwort an ein Thema des Amazon Simple Notification Service (Amazon SNS) weiter.

Lösung

Wenn Sie noch kein Thema in Amazon SNS mit einem E-Mail-Abonnement erstellt haben, folgen Sie der Anleitung unter Erste Schritte mit Amazon SNS. Dieses Thema und dieses Abonnement werden später verwendet. Dieser Artikel unterteilt die Aufgabe in drei Teile:

  • Erstellen Sie eine EventBridge-Regel, die den von CloudTrail erfassten API-Aufrufen von Route 53 entspricht
  • Ordnen Sie der EventBridge-Regel ein SNS-Ziel für die E-Mail-Benachrichtigung zu
  • Konfigurieren Sie den Eingabe-Transformator auf dem Ziel, sodass die Benachrichtigung in eine von Menschen lesbare Nachricht umgewandelt werden kann

Um benachrichtigt zu werden, wenn Änderungen an den Einträgen der gehosteten Zone von Route 53 vorgenommen werden, befolgen Sie alle Schritte für jede Aufgabe.

Eine EventBridge-Regel erstellen

Route 53 ist ein globaler AWS-Service, der nur in USA Ost (Nord-Virginia) verfügbar ist. Die EventBridge-Regel muss in USA Ost (Nord-Virginia) erstellt werden.

1.    Öffnen Sie die EventBridge-Konsole.

2.    Wählen Sie im Navigationsbereich Regeln und dann Regel erstellen aus.

3.    Geben Sie in den Feldern Name und Beschreibung einen Namen und eine Beschreibung für die Regel ein. Um Ereignisse von AWS-Services zu empfangen, wählen Sie die Option Regel auf dem ausgewählten Ereignis-Bus aktivieren aus.

4.    Wählen Sie Regel mit einem Ereignismuster aus. Wählen Sie dann Weiter.

5.    Wählen Sie AWS-Ereignis oder EventBridge-Partnerereignis aus.

6.    Wählen Sie unter Ereignismuster Folgendes aus:

Wählen Sie als Ereignisquelle AWS-Services aus. Als AWS-Service wählen Sie Route 53 als Ereignistyp und dann AWS API-Aufruf über CloudTrail

7.    Wählen Sie Spezifische Operation(en) und geben Sie ChangeResourceRecordSets in das entsprechende Feld ein. Dadurch werden Ereignisse darauf beschränkt, Einträge nur beim Erstellen, Löschen oder Aktualisieren von Ressourcen-Datensätzen abzugleichen.

Das folgende Ereignismuster wird angezeigt:

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

8.    Wählen Sie Weiter, um mit dem nächsten Schritt fortzufahren.

SNS-Ziel mit EventBridge-Regel verknüpfen

1.    Wählen Sie im Abschnitt Zieltypen die Option AWS Service aus.

2.    Wählen Sie in der Dropdown-Liste unter Ziel auswählen die Option SNS-Thema aus.

3.    Wählen Sie in der Dropdown-Liste unter Thema das SNS-Thema aus, das Sie zuvor erstellt haben.

Konfigurieren des Eingabe-Transformators, um eine SNS-Benachrichtigung anzupassen

Standardmäßig leitet EventBridge das gesamte CloudTrail-Ereignis an das Ziel weiter. Das SNS-Thema übermittelt dann eine Benachrichtigung als unformatiertes JSON. Es kann schwierig sein, den Inhalt zu lesen und schnell zu verstehen.

Mithilfe des Eingabe-Transformators können bestimmte Felder im eingehenden Ereignis ausgewählt und dann in eine besser lesbare Nachricht integriert werden. Der Eingabepfad ermittelt die gewünschten Felder.

In diesem Beispiel sind eventTime, hostedZone, username und eventID in der Benachrichtigung enthalten. Die Felder können an Ihren Anwendungsfall angepasst werden. Die Eingabevorlage enthält den Haupttext der Benachrichtigung sowie Platzhalter, die dynamisch mit den gewünschten Feldern aktualisiert werden.

1.    Erweitern Sie die Dropdown-Liste Zusätzliche Einstellungen. Wählen Sie in der Dropdown-Liste Zieleingabe konfigurieren die Option Eingabe-Transformator aus.

2.    Wählen Sie Eingabe-Transformator konfigurieren aus.

3.    Fügen Sie in das Feld Eingabepfad den folgenden Text ein:

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

4.    Fügen Sie in das Feld Vorlage den folgenden Text ein:

"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.    Wählen Sie Bestätigen.

7.    (Optional) Fügen Sie der EventBridge-Regel Tags hinzu. Wählen Sie dann Weiter.

8.    Überprüfen Sie die Regel-Konfiguration. Wählen Sie dann Regel erstellen aus.

Nachdem die Regel erstellt wurde, führen alle Änderungen an Ressourcensätzen von Route 53 zu einer Benachrichtigung, die der folgenden ähnelt:

"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"

Ähnliche Informationen

Wie kann ich ein benutzerdefiniertes Ereignismuster für eine EventBridge-Regel erstellen?

Wie richte ich mithilfe des Eingabe-Transformators von Menschen lesbare EventBridge-Benachrichtigungen für API-Aufrufe ein?

Tutorial: Verwendung des Eingabe-Transformator, um Weiterleitungen von EventBridge an das Ereignisziel anzupassen

Tutorial: AWS API-Aufrufe mit EventBridge protokollieren

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 2 Jahren