View a markdown version of this page

Elaborare gli eventi del ciclo di vita di Amazon EC2 con una funzione Lambda - AWS Lambda

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Elaborare gli eventi del ciclo di vita di Amazon EC2 con una funzione Lambda

Puoi utilizzarla AWS Lambda per elaborare gli eventi del ciclo di vita da Amazon Elastic Compute Cloud e gestire le risorse Amazon EC2. Amazon EC2 invia eventi ad Amazon EventBridge (Events) per CloudWatch eventi del ciclo di vita, ad esempio quando un'istanza cambia stato, quando viene completato uno snapshot di un volume di Amazon Elastic Block Store o quando è pianificata la chiusura di un'istanza Spot. È possibile configurare EventBridge (CloudWatch Events) per inoltrare tali eventi a una funzione Lambda per l'elaborazione.

EventBridge (CloudWatch Events) richiama la funzione Lambda in modo asincrono con il documento dell'evento di Amazon EC2.

Esempio Evento del ciclo di vita dell'istanza
{ "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" } }

Per informazioni dettagliate sulla configurazione degli eventi, consulta Richiamo di una funzione Lambda su una pianificazione. Per un esempio di funzione che elabora le notifiche istantanee di Amazon EBS, consulta Scheduler for Amazon EBS. EventBridge

Puoi anche utilizzare l' AWS SDK per gestire istanze e altre risorse con l'API Amazon EC2.

Concessione delle autorizzazioni a (Eventi) EventBridge CloudWatch

Per elaborare gli eventi del ciclo di vita da Amazon EC2, EventBridge (CloudWatch Events) necessita dell'autorizzazione per richiamare la funzione. Questa autorizzazione proviene dalla policy basata sulle risorse della funzione. Se utilizzi la console EventBridge (CloudWatch Events) per configurare un trigger di eventi, la console aggiorna la policy basata sulle risorse per tuo conto. In caso contrario, aggiungere un'istruzione come la seguente:

Esempio Dichiarazione della policy basata sulle risorse per le notifiche del ciclo di vita di Amazon EC2
{ "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/*" } } }

Per aggiungere una dichiarazione, usa il comando. 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/*'

Se la tua funzione utilizza l' AWS SDK per gestire le risorse Amazon EC2, aggiungi le autorizzazioni Amazon EC2 al ruolo di esecuzione della funzione. Definizione delle autorizzazioni della funzione Lambda con un ruolo di esecuzione