Tutorial: Protokollieren von AWS-API-Aufrufen mit EventBridge - Amazon EventBridge

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.

Tutorial: Protokollieren von AWS-API-Aufrufen mit EventBridge

Sie können Amazon-EventBridge-Regeln verwenden, um auf API-Aufrufe eines AWS-Service zu reagieren, die von AWS CloudTrail aufgezeichnet wurden.

In diesem Tutorial erstellen Sie einen AWS CloudTrail-Trail, eine Lambda-Funktion und eine Regel in der EventBridge-Konsole. Die Regel ruft die Lambda-Funktion auf, wenn eine Amazon-EC2-Instance gestoppt wird.

Schritt 1: Erstellen eines AWS CloudTrail-Trails

Wenn Sie bereits einen Trail eingerichtet haben, gehen Sie weiter zu Schritt 2.

Sie erstellen einen Trail wie folgt:
  1. Öffnen Sie die CloudTrail-Konsole unter https://console.aws.amazon.com/cloudtrail/.

  2. Wählen Sie Trails, Create trail (Trail erstellen).

  3. Geben Sie unter Trail name einen Namen für den Trail ein.

  4. Wählen Sie für Speicherort die Option Neuen S3-Bucket erstellen aus.

  5. Geben Sie einen AWS KMS-Alias für den KMS-Schlüssel ein.

  6. Wählen Sie Next (Weiter).

  7. Wählen Sie Next (Weiter).

  8. Wählen Sie Create Trail (Trail erstellen) aus.

Schritt 2: Erstellen einer AWS Lambda-Funktion

Erstellen Sie eine Lambda-Funktion, um den API-Aufruf zu protokollieren.

So erstellen Sie eine Lambda-Funktion:
  1. Öffnen Sie die AWS Lambda-Konsole unter https://console.aws.amazon.com/lambda/.

  2. Wählen Sie Create function (Funktion erstellen).

  3. Wählen Sie Author from scratch aus.

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

  5. Behalten Sie die übrigen Optionen als Standardwerte bei und wählen Sie Funktion erstellen aus.

  6. Doppelklicken Sie auf der Registerkarte Code der Funktionsseite auf index.js.

  7. Ersetzen Sie den vorhandenen Code mit folgendem Code.

    'use strict'; exports.handler = (event, context, callback) => { console.log('LogEC2StopInstance'); console.log('Received event:', JSON.stringify(event, null, 2)); callback(null, 'Finished'); };
  8. Wählen Sie Bereitstellen aus.

Schritt 3: Erstellen einer Regel

Erstellen Sie eine Regel, damit die in Schritt 2 angelegte Lambda-Funktion ausgeführt wird, wenn Sie eine Amazon-EC2-Instance stoppen.

So erstellen Sie eine 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 Regel erstellen.

  4. Geben Sie einen Namen und eine Beschreibung für die Regel ein. Nennen Sie die Regel beispielsweise TestRule.

  5. Wählen Sie für Event Bus den Event Bus aus, den Sie dieser Regel zuordnen möchten. Wenn Sie möchten, dass diese Regel mit Ereignissen aus Ihrem eigenen Konto übereinstimmt, wählen Sie Standard aus. Wenn ein AWS-Service in Ihrem Konto ein Ereignis ausgibt, wird es stets an den Standard-Event-Bus Ihres Kontos weitergeleitet.

  6. Bei Rule type (Regeltyp) wählen Sie Rule with an event pattern (Regel mit einem Ereignismuster) aus.

  7. Wählen Sie Next (Weiter).

  8. Als Event source (Ereignisquelle) wählen Sie AWS-Services aus.

  9. Gehen Sie bei Event pattern (Ereignismuster) wie folgt vor:

    1. Wählen Sie für Ereignisquelle die Option EC2 aus der Dropdown-Liste aus.

    2. Wählen Sie für Ereignistyp die Option AWS-API-Aufruf über CloudTrail aus der Dropdown-Liste aus.

    3. Wählen Sie Spezifische Operation(en) aus und geben Sie StopInstances ein.

  10. Wählen Sie Next (Weiter).

  11. Bei Target types (Zieltypen) wählen Sie AWS-Service aus.

  12. Wählen Sie für Ziel auswählen die Option Lambda-Funktion aus der Dropdown-Liste aus.

  13. Wählen Sie für Funktion die Lambda-Funktion aus, die Sie im Abschnitt Schritt 1: Erstellen einer Lambda-Funktion erstellt haben. Wählen Sie in diesem Beispiel LogEC2StopInstance aus.

  14. Wählen Sie Next (Weiter).

  15. Wählen Sie Next (Weiter).

  16. Überprüfen Sie die Details der Regel und wählen Sie dann Create rule (Regel erstellen) aus.

Schritt 4: Testen der Regel

Sie können Ihre Regeln testen, indem Sie eine Amazon EC2-Instance mithilfe der Amazon EC2-Konsole anhalten. Warten Sie ein paar Minuten, bis die Instance gestoppt ist. Überprüfen Sie dann Ihre AWS Lambda-Metriken in der CloudWatch-Konsole, um zu prüfen, ob die Funktion ausgeführt wurde.

Testen der Regel durch Anhalten einer Instance
  1. Öffnen Sie die Amazon EC2-Konsole unter https://console.aws.amazon.com/ec2/.

  2. Starten Sie eine Instance. Weitere Informationen finden Sie unter Ausführen von Befehlen auf Linux-Instances beim Start im Amazon EC2-Benutzerhandbuch für Linux Instances.

  3. Halten Sie die Instance an. Weitere Informationen finden Sie unter Grundlagen zur automatischen Platzierung und Affinität im Amazon EC2 Benutzerhandbuch für Linux-Instances.

  4. So zeigen Sie die Ausgabe aus der Lambda-Funktion an:

    1. Öffnen Sie die CloudWatch-Konsole unter https://console.aws.amazon.com/cloudwatch/.

    2. Wählen Sie im Navigationsbereich Logs (Logs) aus.

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

    4. Wählen Sie den Namen des Protokoll-Streams aus, um die von der Funktion für die von Ihnen angehaltene Instance bereitgestellten Daten anzuzeigen.

  5. (Optional) Beenden Sie die angehaltene Instance, wenn Sie fertig sind. Weitere Informationen finden Sie unter Beenden Ihrer Instance im Amazon EC2-Benutzerhandbuch für Linux-Instances.

Schritt 5: Bestätigen des Erfolgs

Wenn Sie das Lambda-Ereignis in den CloudWatch-Protokollen sehen, haben Sie dieses Tutorial erfolgreich abgeschlossen. Wenn das Ereignis nicht in Ihren CloudWatch-Protokollen enthalten ist, beginnen Sie mit der Fehlerbehebung, indem Sie überprüfen, ob die Regel erfolgreich erstellt wurde. Wenn die Regel korrekt aussieht, überprüfen Sie, ob der Code Ihrer Lambda-Funktion korrekt ist.

Schritt 6: Bereinigen Ihrer Ressourcen

Sie können jetzt die Ressourcen, die Sie für dieses Tutorial erstellt haben, löschen, es sei denn, Sie möchten sie behalten. Durch das Löschen von AWS-Ressourcen, die Sie nicht mehr verwenden, können Sie verhindern, dass unnötige Gebühren in Ihrem AWS-Konto anfallen.

So löschen Sie die EventBridge-Regel(n)
  1. Öffnen Sie die Seite Regeln der EventBridge-Konsole.

  2. Wählen Sie die Regel(n) aus, die Sie erstellt haben.

  3. Wählen Sie Delete (Löschen).

  4. Wählen Sie Delete (Löschen).

So löschen Sie die Lambda-Funktion(en)
  1. Öffnen Sie die Seite Funktionen der Lambda-Konsole.

  2. Wählen Sie die Funktion(en) aus, die Sie erstellt haben.

  3. Wählen Sie Aktionen, Löschen aus.

  4. Wählen Sie Delete (Löschen).

So löschen Sie den/die CloudTrail-Trail(s)
  1. Öffnen Sie die Seite Trails der CloudTrail-Konsole.

  2. Wählen Sie den/die Trail(s) aus, den/die Sie erstellt haben.

  3. Wählen Sie Delete (Löschen).

  4. Wählen Sie Delete (Löschen).