Erstellen einer Regel, die bei einem Amazon Aurora-Ereignis ausgelöst wird - Amazon Aurora

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 reagieren, z. B. Probleme mit der Anwendungsverfügbarkeit oder Ressourcenänderungen.

Tutorial: Protokollieren von Statusänderungen an einer DB-Instance mit Amazon EventBridge

Sie können eine AWS Lambda-Funktion erstellen, die die Statusänderungen einer -Instance 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.

Schritt 1: Erstellen einer 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:
  1. Öffnen Sie die AWS Lambda-Konsole unter https://console.aws.amazon.com/lambda/.

  2. 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.

  3. Wählen Sie Von Grund auf neu schreiben aus.

  4. Gehen Sie auf der Seite Create function (Funktion erstellen) wie folgt vor:

    1. Geben Sie einen Namen und eine Beschreibung für die Lambda-Funktion ein. Geben Sie der Funktion beispielsweise den Namen RDSInstanceStateChange.

    2. Wählen Sie in Runtime Node.js 16x aus.

    3. Wählen Sie für Architecture (Architektur) x86_64 aus.

    4. 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.

    5. Wählen Sie Funktion erstellen.

  5. Machen Sie auf der Seite RDSInstanceStateChange Folgendes:

    1. In Code-Quelle wählen Sie index.js.

    2. Im Ausschnitt index.js löschen Sie den vorhandenen Code.

    3. Geben Sie den folgenden Code ein:

      console.log('Loading function'); exports.handler = async (event, context) => { console.log('Received event:', JSON.stringify(event)); };
    4. 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.

So erstellen Sie die EventBridge-Regel
  1. Öffnen Sie die Amazon EventBridge-Konsole unter https://console.aws.amazon.com/events/.

  2. Wählen Sie im Navigationsbereich Regeln aus.

  3. Wählen Sie Regel erstellen aus.

  4. Geben Sie einen Namen und eine Beschreibung für die Regel ein. Geben Sie z. B. ei RDSInstanceStateChangeRule.

  5. Wählen Sie Rule with an event pattern 8Regel mit einem Ereignismuster) und dann Next (Weiter) aus.

  6. Wählen Sie für Ereignisquelle AWS-Ereignisse oder EventBridge-Partnerereignisse.

  7. Scrollen Sie nach unten zum Abschnitt Event pattern (Ereignismuster).

  8. Wählen Sie für Ereignisquelle die Option AWS-Services aus.

  9. Wählen Sie für AWS-Service die Option Relational Database Service (RDS) aus.

  10. Für Ereignistyp wählen Sie RDS DB-Instance-Ereignis.

  11. Übernehmen Sie das Standard-Ereignismuster. Wählen Sie anschließend Weiter.

  12. Bei Zieltypen wählen Sie AWS-Service aus.

  13. Für Select a target (Ein Ziel auswählen), wählen die Option Lambda function (Lambda-Funktion) aus.

  14. Wählen Sie für Function (Funktion) die Lambda-Funktion aus, die Sie erstellt haben. Wählen Sie anschließend Weiter.

  15. Wählen Sie in Configure tags (Tags konfigurieren) Next (Weiter) aus.

  16. Ü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
  1. Öffnen Sie die Amazon-RDS-Konsole unter https://console.aws.amazon.com/rds/.

  2. Stopp einer RDS-DB-Instance.

  3. Öffnen Sie die Amazon EventBridge-Konsole unter https://console.aws.amazon.com/events/.

  4. Wählen Sie im Navigationsbereich Rules (Regeln), den Namen der von Ihnen erstellten Regel aus.

  5. Wählen Sie unter Regeldetails die Option Überwachung aus.

    Sie werden zur Amazon CloudWatch-Konsole umgeleitet. Wenn Sie nicht weitergeleitet werden, klicken Sie auf Die Metriken in CloudWatch anzeigen.

  6. 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.

  7. Wählen Sie im Navigationsbereich Log groups (Protokollgruppen) aus.

  8. Wählen Sie den Namen der Protokollgruppe für die Lambda-Funktion aus (/aws/lambda/function-name).

  9. 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 Überblick über Ereignisse für Aurora.

  10. (Optional) Zum Abschluss können Sie die Amazon-RDS-Konsole öffnen und die von Ihnen gestoppte Instance starten.