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: Den Status einer Auto Scaling Scaling-Gruppe protokollieren mit EventBridge
Sie können eine AWS LambdaFunktion ausführen, die Ereignisse protokolliert, wenn eine Auto Scaling Scaling-Gruppe eine EC2 Amazon-Instance startet oder beendet, die anzeigt, ob ein Ereignis erfolgreich war.
Informationen zu weiteren Szenarien, in denen Amazon EC2 Auto Scaling Scaling-Ereignisse verwendet werden, finden Sie unter Verwenden EventBridge zur Auto Scaling Scaling-Ereignissen im Amazon EC2 Auto Scaling 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
Zum Durcharbeiten dieses Tutorials benötigen Sie die folgenden Ressourcen:
Eine Auto-Scaling-Gruppe Weitere Informationen zum Erstellen einer solchen Gruppe finden Sie unter Erstellen einer Auto Scaling Scaling-Gruppe mithilfe einer Startkonfiguration im Amazon EC2 Auto Scaling Scaling-Benutzerhandbuch.
Schritt 1: Erstellen einer Lambda-Funktion
Erstellen Sie eine Lambda-Funktion, um die Skalierungsereignisse für die Auto Scaling-Gruppe zu protokollieren.
Eine Lambda-Funktion erstellen
Öffnen Sie die AWS Lambda Konsole unter https://console.aws.amazon.com/lambda/
. -
Wählen Sie Funktion erstellen.
-
Wählen Sie Von Grund auf neu schreiben aus.
-
Geben Sie einen Namen für die Lambda-Funktion ein. Geben Sie der Funktion beispielsweise den Namen
LogAutoScalingEvent
. -
Behalten Sie die übrigen Optionen als Standardwerte bei und wählen Sie Funktion erstellen aus.
-
Doppelklicken Sie auf der Registerkarte Code der Funktionsseite auf index.js.
-
Ersetzen Sie den vorhandenen Code mit folgendem 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-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 Regel erstellen aus.
-
Geben Sie einen Namen und eine Beschreibung für die Regel ein. Nennen Sie die Regel beispielsweise
TestRule
. -
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.
-
Bei Rule type (Regeltyp) wählen Sie Rule with an event pattern (Regel mit einem Ereignismuster) aus.
-
Wählen Sie Weiter aus.
-
Als Event source (Ereignisquelle) wählen Sie AWS -Services aus.
-
Gehen Sie bei Event pattern (Ereignismuster) wie folgt vor:
-
Wählen Sie für Ereignisquelle die Option Auto Scaling aus der Dropdown-Liste aus.
-
Wählen Sie für Ereignistyp die Option Instance starten und beenden aus der Dropdown-Liste aus.
-
Wählen Sie Beliebiges Instance-Ereignis und Beliebiger Gruppenname aus.
-
-
Wählen Sie Weiter aus.
-
Bei Target types (Zieltypen) wählen Sie AWS -Service aus.
-
Wählen Sie für Ziel auswählen die Option Lambda-Funktion aus der Dropdown-Liste aus.
-
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
LogAutoScalingEvent
aus. -
Wählen Sie Weiter.
-
Wählen Sie 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, damit das Aufskalierungsereignis eintritt. Dann können Sie überprüfen, ob die 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 EC2 Amazon-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 Protokolle 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 verringern, sodass die Auto-Scaling-Gruppe auf die vorherige Größe zurückgesetzt wird.
Schritt 4: 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 5: 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. Indem Sie AWS Ressourcen löschen, die Sie nicht mehr verwenden, verhindern Sie, dass Ihr AWS Konto unnötig belastet wird.
Um die EventBridge Regel (n) zu löschen
-
Öffnen Sie die Seite Regeln
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 Aktionen, Löschen aus.
-
Wählen Sie Löschen.