O uso doAWS Lambdacom o Amazon EC2 - AWS Lambda

O uso doAWS Lambdacom o Amazon EC2

Você pode usar oAWS Lambdapara processar eventos de ciclo de vida do Amazon Elastic Compute Cloud e gerenciar recursos do Amazon EC2. O Amazon EC2 envia eventos para a Amazon EventBridge (CloudWatch Events) para eventos do ciclo de vida, como quando uma instância muda de estado, quando um snapshot de volume do Amazon Elastic Block Store é concluído ou quando uma instância spot está programada para ser encerrada. Você configura EventBridge (CloudWatch Eventos) para encaminhar esses eventos para uma função Lambda para processamento.

EventBridge (CloudWatch Events) invoca sua função Lambda de forma assíncrona com o documento do evento do Amazon EC2.

exemplo evento do ciclo de vida da instância
{ "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" } }

Para obter detalhes sobre a configuração de eventos em EventBridge (CloudWatch Eventos), consulteUso do AWS Lambda com o Amazon EventBridge (CloudWatch Events). Para ver um exemplo de função que processa notificações de snapshots do Amazon EBS, consulte Amazon EventBridge (CloudWatch Events) for Amazon EBS no Guia do usuário do Amazon EC2 para instâncias Linux.

Você também pode usar o AWS SDK para gerenciar instâncias e outros recursos com a API do Amazon EC2.

Permissões

Para processar eventos de ciclo de vida do Amazon EC2 EventBridge , CloudWatch (Events) precisa de permissão para invocar sua função. Essa permissão vem da política baseada em recursos da função. Se você usar o console EventBridge (CloudWatch Eventos) para configurar um acionador de evento, o console atualizará a política baseada em recursos em seu nome. Caso contrário, adicione uma instrução como a seguinte:

exemplo instrução de política baseada em recursos para notificações de ciclo de vida do 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/*" } } }

Para adicionar uma instrução, use o comando add-permission da 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 sua função usar o AWS SDK para gerenciar recursos do Amazon EC2, adicione permissões do Amazon EC2 à função de execução da função.