Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Erstellen einer Regel, die bei einem Amazon Aurora-Ereignis ausgelöst wird
Mit Amazon EventBridge können Sie AWS Services automatisieren und auf Systemereignisse wie Probleme mit der Anwendungsverfügbarkeit oder Ressourcenänderungen reagieren.
Tutorial: Statusänderungen der DB-Instance mithilfe von Amazon protokollieren EventBridge
In diesem Tutorial erstellen Sie eine AWS Lambda Funktion, die die Statusänderungen für eine protokolliert. Anschließend erstellen Sie eine Regel, die die Funktion ausführt, sobald eine Statusänderung einer vorhandenen RDS-DB-Instance stattfindet. Das Tutorial geht davon aus, dass Sie eine kleine laufende Test-Instance haben, die Sie vorübergehend herunterfahren können.
Wichtig
Führen Sie dieses Tutorial nicht für eine laufende Produktions-DB-Instance durch.
Themen
Schritt 1: Erstellen Sie eine AWS Lambda Funktion
Erstellen Sie eine Lambda-Funktion, um die Statusänderungsereignisse zu protokollieren. Sie geben diese Funktion beim Erstellen der Regel an.
So erstellen Sie eine Lambda-Funktion:
Öffnen Sie die AWS Lambda Konsole unter https://console.aws.amazon.com/lambda/
. -
Wenn Sie noch nicht mit Lambda gearbeitet haben, wird Ihnen eine Willkommensseite angezeigt. Wählen Sie Get Started Now. Andernfalls, wählen Sie Create function (Funktion erstellen) aus.
-
Wählen Sie Von Grund auf neu schreiben aus.
-
Gehen Sie auf der Seite Create function (Funktion erstellen) wie folgt vor:
-
Geben Sie einen Namen und eine Beschreibung für die Lambda-Funktion ein. Geben Sie der Funktion beispielsweise den Namen
RDSInstanceStateChange
. -
Wählen Sie in Runtime Node.js 16x aus.
-
Wählen Sie für Architecture (Architektur) x86_64 aus.
-
Führen Sie für Execution role (Ausführungsrolle) einen der folgenden Schritte aus:
-
Wählen Sie Create a new role with basic Lambda permissions (Eine neue Rolle mit den grundlegenden Lambda-Berechtigungen erstellen) aus.
-
Wählen Sie für Execution role (Ausführungsrolle) die Option Use an existing role (Vorhandene Rolle verwenden) aus. Wählen Sie die Rolle aus.
-
-
Wählen Sie Funktion erstellen.
-
-
Gehen Sie auf der InstanceStateChangeRDS-Seite wie folgt vor:
-
In Code-Quelle wählen Sie index.js.
-
Im Ausschnitt index.js löschen Sie den vorhandenen Code.
-
Geben Sie den folgenden Code ein:
console.log('Loading function'); exports.handler = async (event, context) => { console.log('Received event:', JSON.stringify(event)); };
-
Wählen Sie Deploy (Bereitstellen) aus.
-
Schritt 2: Erstellen einer Regel
Erstellen Sie eine Regel, damit die Lambda-Funktion ausgeführt wird, wenn Sie eine Amazon RDS-Instance starten.
Um die EventBridge Regel zu erstellen
Öffnen Sie die EventBridge Amazon-Konsole unter https://console.aws.amazon.com/events/
. -
Wählen Sie im Navigationsbereich Rules aus.
-
Wählen Sie Regel erstellen aus.
-
Geben Sie einen Namen und eine Beschreibung für die Regel ein. Geben Sie z. B. ei
RDSInstanceStateChangeRule
. -
Wählen Sie Rule with an event pattern 8Regel mit einem Ereignismuster) und dann Next (Weiter) aus.
-
Wählen Sie als Quelle für Ereignisse die Option AWS Veranstaltungen oder EventBridge Partnerveranstaltungen aus.
-
Scrollen Sie nach unten zum Abschnitt Event pattern (Ereignismuster).
-
Wählen Sie für Ereignisquelle die Option AWS-Services aus.
-
Wählen Sie für AWS -Service die Option Relational Database Service (RDS) aus.
-
Für Ereignistyp wählen Sie RDS DB-Instance-Ereignis.
-
Übernehmen Sie das Standard-Ereignismuster. Wählen Sie anschließend Weiter.
-
Bei Target types (Zieltypen) wählen Sie AWS -Service aus.
-
Für Select a target (Ein Ziel auswählen), wählen die Option Lambda function (Lambda-Funktion) aus.
-
Wählen Sie für Function (Funktion) die Lambda-Funktion aus, die Sie erstellt haben. Wählen Sie anschließend Weiter.
-
Wählen Sie in Configure tags (Tags konfigurieren) Next (Weiter) aus.
-
Überprüfen Sie die Schritte in Ihrer Regel. Wählen Sie dann Create rule (Regel erstellen) aus.
Schritt 3: Testen der Regel
Um Ihre Regel zu testen, fahren Sie eine RDS-DB-Instance herunter. Warten Sie einige Minuten, bis die Instance heruntergefahren wurde, und prüfen Sie dann, ob Ihre Lambda-Funktion aufgerufen wurde.
Testen der Regel durch Anhalten einer DB-Instance
Öffnen Sie die Amazon-RDS-Konsole unter https://console.aws.amazon.com/rds/
. -
Stopp einer RDS-DB-Instance.
Öffnen Sie die EventBridge Amazon-Konsole unter https://console.aws.amazon.com/events/
. -
Wählen Sie im Navigationsbereich Rules (Regeln), den Namen der von Ihnen erstellten Regel aus.
-
Wählen Sie unter Regeldetails die Option Überwachung aus.
Sie werden zur CloudWatch Amazon-Konsole weitergeleitet. Wenn Sie nicht weitergeleitet werden, klicken Sie auf Metriken anzeigen in CloudWatch.
-
In Alle Metriken wählen Sie den Namen der Regel aus, die Sie erstellt haben.
Das Diagramm sollte darauf hinweisen, dass die Regel aufgerufen wurde.
-
Wählen Sie im Navigationsbereich Log groups (Protokollgruppen) aus.
-
Wählen Sie den Namen der Protokollgruppe für die Lambda-Funktion aus (/aws/lambda/
function-name
). -
Wählen Sie den Namen des Protokoll-Streams aus, um die von der Funktion für die von Ihnen gestartete Instance bereitgestellten Daten anzuzeigen. Das empfangene Ergebnis sollte in etwa wie folgt aussehen:
{ "version": "0", "id": "12a345b6-78c9-01d2-34e5-123f4ghi5j6k", "detail-type": "RDS DB Instance Event", "source": "aws.rds", "account": "111111111111", "time": "2021-03-19T19:34:09Z", "region": "us-east-1", "resources": [ "arn:aws:rds:us-east-1:111111111111:db:testdb" ], "detail": { "EventCategories": [ "notification" ], "SourceType": "DB_INSTANCE", "SourceArn": "arn:aws:rds:us-east-1:111111111111:db:testdb", "Date": "2021-03-19T19:34:09.293Z", "Message": "DB instance stopped", "SourceIdentifier": "testdb", "EventID": "RDS-EVENT-0087" } }
Weitere Beispiele für RDS-Ereignisse im JSON-Format finden Sie unter Übersicht der Ereignisse für Aurora.
-
(Optional) Zum Abschluss können Sie die Amazon RDS-Konsole öffnen und die von Ihnen gestoppte Instance starten.