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 utilizzare AWS Lambda per elaborare gli eventi del ciclo di vita da Amazon Elastic Compute Cloud e gestire le risorse Amazon EC2. Amazon EC2 invia gli eventi ad Amazon EventBridge (Eventi CloudWatch) per eventi del ciclo di vita, ad esempio quando un'istanza cambia stato, quando viene completata una snapshot del volume di Amazon Elastic Block Store o quando un'istanza spot è pianificata per essere terminata. È 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 di evento da 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 una funzione di esempio che elabora le notifiche di snapshot Amazon EBS, consulta Pianificatore EventBridge per Amazon EBS.
È inoltre possibile utilizzare l'SDK AWS per gestire istanze e altre risorse con l'API Amazon EC2.
Concessione di autorizzazioni a EventBridge (Eventi CloudWatch)
Per elaborare gli eventi del ciclo di vita da Amazon EC2, EventBridge (CloudWatch Events) deve disporre dell'autorizzazione per richiamare la funzione. Questa autorizzazione proviene dalla policy basata sulle risorse della funzione. Se si utilizza la console EventBridge (CloudWatch Events) per configurare un trigger di evento, 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 un'istruzione, utilizzare il comando add-permission della 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/*'
Se la funzione utilizza l'SDK AWS per gestire le risorse Amazon EC2, aggiungere le autorizzazioni Amazon EC2 al ruolo di esecuzione della funzione.