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 des Status einer Auto Scaling Scaling-Gruppe mit EventBridge
Sie können eine AWS LambdaFunktion ausführen, die Ereignisse protokolliert, wenn eine Auto Scaling Scaling-Gruppe eine Amazon EC2 EC2-Instance startet oder beendet, was anzeigt, ob ein Ereignis erfolgreich war.
Weitere Informationen zu zusätzlichen Szenarien mit Amazon EC2 Auto Scaling Ereignissen finden Sie unter Verwenden EventBridge von Amazon EC2 Auto Scaling Ereignissen im AmazEC2-Auto-Scaling-Benutzerhandbuch.
In diesem Tutorial erstellen Sie eine Lambda-Funktion und in der EventBridge Konsole eine Regel, die diese Funktion aufruft, wenn eine Amazon EC2 Auto Scaling Scaling-Gruppe eine Instance startet oder beendet.
Schritte:
Voraussetzungen
Für dieses Tutorial benötigen Sie folgende Ressourcen:
Eine Auto-Scaling-Gruppe. Weitere Informationen zum Erstellen einer Auto Scaling-Gruppe finden Sie unter Erstellen einer Auto Scaling Scaling-Gruppe mit einer Startkonfiguration im Amazon EC2 EC2-Auto-Scaling-Benutzerhandbuch.
Schritt 1: Erstellen einer Lambda-Funktion
Erstellen Sie eine Lambda-Funktion, um die Skalierungsereignisse für die Auto Scaling-Gruppe zu protokollieren.
So erstellen Sie eine Lambda-Funktion:
Öffnen Sie die AWS Lambda-Konsole unter https://console.aws.amazon.com/lambda/
. -
Wählen Sie Create function (Funktion erstellen).
-
Wählen Sie Author from scratch aus.
-
Geben Sie einen Namen für die Lambda-Funktion ein. Geben Sie der Funktion beispielsweise den Namen
LogAutoScalingEvent
. -
Belassen Sie die restlichen Optionen als Standardeinstellungen und wählen Sie Funktion erstellen.
-
Doppelklicken Sie auf der Funktionsseite auf der Registerkarte Code auf index.js.
-
Ersetzen Sie den vorhandenen Code durch folgenden Code.
'use strict'; exports.handler = (event, context, callback) => { console.log('LogAutoScalingEvent'); console.log('Received event:', JSON.stringify(event, null, 2)); callback(null, 'Finished'); };
-
Wählen Sie Deploy (Bereitstellen) aus.
Schritt 2: Erstellen einer Regel
Erstellen Sie eine Regel, um die Lambda-Funktion auszuführen, die Sie in Schritt 1 erstellt haben. Die Regel wird ausgeführt, wenn Ihre Auto Scaling Scaling-Gruppe eine Instance startet oder stoppt.
So erstellen Sie eine Regel
Öffnen Sie die EventBridge Amazon-Konsole unter https://console.aws.amazon.com/events/
. -
Wählen Sie im Navigationsbereich Rules aus.
-
Wählen Sie Create rule (Regel erstellen).
-
Geben Sie einen Namen und eine Beschreibung für die Regel ein. Benennen Sie beispielsweise die Regel
TestRule
-
Wählen Sie als Event bus (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.
-
Bei Rule type (Regeltyp) wählen Sie Rule with an event pattern (Regel mit einem Ereignismuster) aus.
-
Wählen Sie Next (Weiter).
-
Als Event source (Ereignisquelle) wählen Sie AWS-Services aus.
-
Gehen Sie bei Event pattern (Ereignismuster) wie folgt vor:
-
Wählen Sie als Ereignisquelle Auto Scaling aus der Dropdownliste aus.
-
Wählen Sie als Ereignistyp die Option Instance Launch and Terminate aus der Dropdownliste aus.
-
Wählen Sie Beliebiges Instanzereignis und Beliebiger Gruppenname.
-
-
Wählen Sie Next (Weiter).
-
Bei Target types (Zieltypen) wählen Sie AWS-Service aus.
-
Wählen Sie unter Ziel auswählen die Lambda-Funktion aus der Dropdownliste aus.
-
Wählen Sie unter Funktion die Lambda-Funktion aus, die Sie im Abschnitt Schritt 1: Lambda-Funktion erstellen erstellt haben. Wählen Sie in diesem Beispiel aus
LogAutoScalingEvent
. -
Wählen Sie Next (Weiter).
-
Wählen Sie Next (Weiter).
-
Überprüfen Sie die Details der Regel und wählen Sie dann Create rule (Regel erstellen) aus.
Schritt 3: Testen der Regel
Sie können die Regel durch manuelle Skalierung einer to Auto Scaling-Gruppe testen, sodass eine Instance gestartet wird. Warten Sie einige Minuten, bis das Skalierungsereignis eintritt, und überprüfen Sie dann, ob Ihre Lambda-Funktion aufgerufen wurde.
So testen Sie die Regel mit einer Auto Scaling-Gruppe
-
So erhöhen Sie die Größe der Auto Scaling-Gruppe:
-
Öffnen Sie die Amazon EC2-Konsole unter https://console.aws.amazon.com/ec2/
. -
Wählen Sie im Navigationsbereich Auto Scaling (Auto Scaling) und Auto Scaling Groups (Auto Scaling-Gruppen) aus.
-
Aktivieren Sie das Kontrollkästchen für die Auto Scaling-Gruppe.
-
Wählen Sie auf der Registerkarte Details die Option Edit (Bearbeiten) aus. Erhöhen Sie für Desired die gewünschte Kapazität um eine Einheit. Wenn der aktuelle Wert beispielsweise 2 ist, geben Sie 3 ein. Die gewünschte Kapazität darf maximal so groß wie die Höchstgröße der Gruppe sein. Wenn Ihr neuer Wert für Desired größer ist als Max, müssen Sie Max aktualisieren. Wenn Sie fertig sind, wählen Sie Speichern.
-
-
So zeigen Sie die Ausgabe aus der Lambda-Funktion an:
Öffnen Sie die CloudWatch Konsole unter https://console.aws.amazon.com/cloudwatch/
. -
Wählen Sie im Navigationsbereich Logs (Logs) aus.
-
Wählen Sie den Namen der Protokollgruppe für Ihre 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.
-
(Optional) Wenn Sie fertig sind, können Sie die gewünschte Kapazität um eins verringern, sodass die Auto Scaling Scaling-Gruppe auf die vorherige Größe zurückgesetzt wird.
Schritt 4: Bestätigen von Erfolg
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 5: Bereinigen von 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 vonAWS -Ressourcen, die Sie nicht mehr verwenden, können Sie verhindern, dass unnötige Gebühren in IhremAWS -Konto anfallen.
Um die EventBridge Regel (n) zu löschen
-
Öffnen Sie die Regelseite
der EventBridge Konsole. -
Wählen Sie die Regel (n) aus, die Sie erstellt haben.
-
Wählen Sie Delete (Löschen).
-
Wählen Sie Delete (Löschen).
So löschen Sie die Lambda-Funktion (en):
-
Öffnen Sie die Seite Funktionen
der Lambda-Konsole. -
Wählen Sie die Funktion (en) aus, die Sie erstellt haben.
-
Wählen Sie Actions (Aktionen), Delete (Löschen) aus.
-
Wählen Sie Delete (Löschen) aus.