Erstellen einer Regel, die bei einem Amazon RDS-Ereignis ausgelöst wird - Amazon Relational Database Service

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 RDS-Ereignis ausgelöst wird

Mit Amazon CloudWatch Events und Amazon EventBridge können Sie AWS-Services automatisieren und auf Systemereignisse reagieren, z. B. Probleme mit der Anwendungsverfügbarkeit oder Ressourcenänderungen.

Erstellen von Regeln, um Amazon RDS-Ereignisse an CloudWatch Events zu senden

Sie können einfache Regeln schreiben, um anzugeben, welche Amazon-RDS-Ereignisse Sie interessieren und welche automatisierten Aktionen zu ergreifen sind, wenn ein Ereignis mit einer Regel übereinstimmt. Sie können eine Vielzahl von Zielen festlegen, z. B. eine AWS Lambda-Funktion oder ein Amazon-SNS-Thema, die Ereignissen im JSON-Format erhalten. Sie können Amazon RDS beispielsweise so konfigurieren, dass Ereignisse an CloudWatch Events oder Amazon EventBridge gesendet werden, wenn eine DB-Instance erstellt oder gelöscht wird. Weitere Informationen finden Sie im Amazon-CloudWatch-Events-Benutzerhandbuch und dem Amazon-EventBridge-Benutzerhandbuch.

So erstellen Sie eine Regel, die bei einem Ereignis ausgelöst wird:
  1. Öffnen Sie die CloudWatch-Konsole unter https://console.aws.amazon.com/cloudwatch/.

  2. Wählen Sie im Navigationsbereich unter Events (Ereignisse) die Option Rules (Regeln) aus.

  3. Wählen Sie Create rule (Regel erstellen).

  4. Führen Sie für Ereignisquelle folgende Schritte aus:

    1. Wählen Sie Event Pattern aus.

    2. Wählen Sie für Service Name (Servicename) die Option Relational Database Service (RDS) aus.

    3. Wählen Sie unter Event Type (Ereignistyp) den Amazon-RDS-Ressourcentyp aus, der das Ereignis auslöst. Wenn beispielsweise eine DB-Instance das Ereignis auslöst, wählen Sie RDS DB Instance Event (RDS-DB-Instance-Ereignis) aus.

  5. Wählen Sie für Targets (Ziele) die Option Add Target (Ziel hinzufügen) aus, und wählen Sie dann den AWS-Service aus, der agieren soll, wenn ein Ereignis des ausgewählten Typs erkannt wird.

  6. Geben Sie in die anderen Felder in diesem Abschnitt Informationen ein, die für diesen Zieltyp spezifisch sind, sofern vorhanden.

  7. Für viele Zieltypen benötigt CloudWatch Events Berechtigungen zum Senden von Ereignissen an das Ziel. In diesen Fällen kann CloudWatch Events die IAM-Rolle erstellen, die zum Ausführen des Ereignisses erforderlich ist:

    • Um automatisch eine IAM-Rolle zu erstellen, wählen Sie Create a new role for this specific resource (Eine neue Rolle für diese spezifische Ressource erstellen).

    • Wenn Sie eine zuvor erstellte IAM-Rolle verwenden möchten, wählen Sie Use existing role (Vorhandene Rolle verwenden).

  8. Optional können Sie die Schritte 5 bis 7 wiederholen, um ein weiteres Ziel für diese Regel hinzuzufügen.

  9. Wählen Sie Configure details. Geben Sie für Rule definition einen Namen und eine Beschreibung für die Regel ein.

    Der Regelname muss innerhalb dieser Region eindeutig sein.

  10. Wählen Sie Create rule (Regel erstellen).

Weitere Informationen finden Sie im Amazon CloudWatch-Benutzerhandbuch unter Erstellen einer CloudWatch Events-Regel, die bei einem Ereignis ausgelöst wird.

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 Amazon-RDS-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 Author from scratch 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 Create function (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 Rules aus.

  3. Wählen Sie Create rule (Regel erstellen).

  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 Event source (Ereignisquelle) AWS events or EventBridge partner events (-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 Next (Weiter).

  12. Bei Target types (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 Next (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 Amazon RDS.

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