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 EC2-Lebenszyklusereignisse mit einer Lambda-Ereignisfunktion
Sie können AWS Lambda es verwenden, um Lebenszyklusereignisse aus Amazon Elastic Compute Cloud zu verarbeiten und Amazon EC2 EC2-Ressourcen zu verwalten. Amazon EC2 sendet Ereignisse an Amazon EventBridge (CloudWatch Events) für Lebenszyklusereignisse, z. B. wenn sich der Status einer Instance ä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-Ereignisfunktion weitergeleitet werden.
EventBridge (CloudWatch Events) ruft Ihre Lambda-Ereignisfunktion 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 Rufen Sie eine Lambda-Ereignisfunktion nach einem Zeitplan auf. Eine Beispielfunktion, die Amazon EBS-Snapshot-Benachrichtigungen verarbeitet, finden Sie unter EventBridge Scheduler for Amazon EBS.
Sie können das AWS SDK auch verwenden, um Instances und andere Ressourcen mit der Amazon EC2 EC2-API zu verwalten.
Erteilen von Berechtigungen für EventBridge (CloudWatch Ereignisse)
Um Lebenszyklusereignisse von Amazon EC2 verarbeiten zu können, benötigt EventBridge (CloudWatch Events) die Erlaubnis, Ihre Funktion aufzurufen. Diese Berechtigung stammt aus der ressourcenbasierten Richtlinie der Funktion. Wenn Sie die Konsole EventBridge (CloudWatch Events) 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-namemy-function--source-arn 'arn:aws:events:us-east-1:12456789012:rule/*'
Wenn Ihre Funktion das AWS SDK zur Verwaltung von Amazon EC2 EC2-Ressourcen verwendet, fügen Sie der Ausführungsrolle der Funktion Amazon EC2 EC2-Berechtigungen hinzu.