View a markdown version of this page

Verarbeiten Sie Amazon EC2-Lebenszyklusereignisse mit einer Lambda-Funktion - AWS Lambda

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.

Verarbeiten Sie Amazon EC2-Lebenszyklusereignisse mit einer Lambda-Funktion

Sie können AWS Lambda es verwenden, um Lebenszyklusereignisse aus Amazon Elastic Compute Cloud zu verarbeiten und Amazon EC2-Ressourcen zu verwalten. Amazon EC2 sendet Ereignisse an Amazon EventBridge (CloudWatch Events) für Lebenszyklusereignisse, z. B. wenn eine Instance ihren Status ändert, wenn ein Amazon Elastic Block Store-Volume-Snapshot abgeschlossen ist oder wenn die Beendigung einer Spot-Instance geplant ist. Sie konfigurieren EventBridge (CloudWatch Events) so, dass diese Ereignisse zur Verarbeitung an eine Lambda-Funktion weitergeleitet werden.

EventBridge (CloudWatch Events) ruft Ihre Lambda-Funktion asynchron mit dem Ereignisdokument von Amazon EC2 auf.

Beispiel Instance-Lebenszyklusereignis
{ "version": "0", "id": "b6ba298a-7732-2226-xmpl-976312c1a050", "detail-type": "EC2 Instance State-change Notification", "source": "aws.ec2", "account": "111122223333", "time": "2019-10-02T17:59:30Z", "region": "us-east-1", "resources": [ "arn:aws:ec2:us-east-1:111122223333:instance/i-0c314xmplcd5b8173" ], "detail": { "instance-id": "i-0c314xmplcd5b8173", "state": "running" } }

Einzelheiten zur Konfiguration von Ereignissen finden Sie unter Aufrufen einer Lambda-Funktion nach einem Zeitplan. Eine Beispielfunktion, die Amazon EBS-Snapshot-Benachrichtigungen verarbeitet, finden Sie unter Scheduler for Amazon EBS. EventBridge

Sie können das AWS SDK auch verwenden, um Instances und andere Ressourcen mit der Amazon EC2-API zu verwalten.

Erteilen von Berechtigungen für EventBridge (CloudWatch Ereignisse)

Um Lebenszyklusereignisse von Amazon EC2 zu verarbeiten, benötigt EventBridge (CloudWatch Events) die Erlaubnis, Ihre Funktion aufzurufen. Diese Berechtigung stammt aus der ressourcenbasierten Richtlinie der Funktion. Wenn Sie die EventBridge (CloudWatch Events) -Konsole verwenden, um einen Event-Trigger zu konfigurieren, aktualisiert die Konsole die ressourcenbasierte Richtlinie in Ihrem Namen. Andernfalls fügen Sie eine Anweisung wie die folgende hinzu:

Beispiel Ressourcenbasierte Richtlinienanweisung für Amazon-EC2-Lebenszyklusbenachrichtigungen
{ "Sid": "ec2-events", "Effect": "Allow", "Principal": { "Service": "events.amazonaws.com" }, "Action": "lambda:InvokeFunction", "Resource": "arn:aws:lambda:us-east-1:12456789012:function:my-function", "Condition": { "ArnLike": { "AWS:SourceArn": "arn:aws:events:us-east-1:12456789012:rule/*" } } }

Verwenden Sie den Befehl, um eine Anweisung hinzuzufügen. add-permission AWS CLI

aws lambda add-permission --action lambda:InvokeFunction --statement-id ec2-events \ --principal events.amazonaws.com --function-name my-function --source-arn 'arn:aws:events:us-east-1:12456789012:rule/*'

Wenn Ihre Funktion das AWS SDK zur Verwaltung von Amazon EC2-Ressourcen verwendet, fügen Sie der Ausführungsrolle der Funktion Amazon EC2-Berechtigungen hinzu.