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 EventBridge können Sie AWS Services automatisieren und auf Systemereignisse wie Probleme mit der Anwendungsverfügbarkeit oder Ressourcenänderungen reagieren.

Regeln für das Senden von Amazon RDS-Ereignissen an Amazon erstellen EventBridge

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 SNS-Thema, die Ereignisse im JSON-Format empfangen. Sie können Amazon RDS Amazon beispielsweise so konfigurieren, dass Ereignisse an Amazon gesendet werden, EventBridge wenn eine DB-Instance erstellt oder gelöscht wird. Weitere Informationen finden Sie im Amazon CloudWatch Events-Benutzerhandbuch und im EventBridge Amazon-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 Regel erstellen aus.

  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 Ziele die Option Ziel hinzufügen und wählen Sie den AWS Dienst aus, der reagieren 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 sind EventBridge Berechtigungen erforderlich, um Ereignisse an das Ziel zu senden. In diesen Fällen EventBridge kann die IAM-Rolle erstellt werden, die für die Ausführung Ihrer Veranstaltung 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 Regel erstellen aus.

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

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 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 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:
  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. Gehen Sie auf der InstanceStateChangeRDS-Seite wie folgt vor:

    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.

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

  2. Wählen Sie im Navigationsbereich Rules 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 als Quelle für Ereignisse die Option AWS Veranstaltungen oder EventBridge Partnerveranstaltungen aus.

  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 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 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 EventBridge Amazon-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 CloudWatch Amazon-Konsole weitergeleitet. Wenn Sie nicht weitergeleitet werden, klicken Sie auf Metriken anzeigen in CloudWatch.

  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.