Perfil de operador do Lambda para instâncias gerenciadas do Lambda
Quando você usa as instâncias gerenciadas do Lambda, o Lambda precisa de permissões para gerenciar a capacidade computacional em sua conta. O perfil de operador fornece essas permissões por meio de políticas do IAM que permitem que o Lambda gerencie instâncias do EC2 no provedor de capacidade.
O Lambda assume o perfil de operador ao realizar essas operações de gerenciamento, da mesma forma que o Lambda assume um perfil de execução quando sua função é executada.
Criação de um perfil de operador
É possível criar um perfil de operador no console do IAM ou com a AWS CLI. O perfil deve incluir:
-
Política de permissões: concede permissões para gerenciar provedores de capacidade e recursos associados
-
Política de confiança: permite que o serviço do Lambda (
lambda.amazonaws.com) assuma o perfil.
Política de permissões
O perfil de operador precisa de permissões para gerenciar os provedores de capacidade e os recursos computacionais subjacentes. No mínimo, o perfil exige as permissões na política gerenciada AWSLambdaManagedEC2ResourceOperator
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:RunInstances", "ec2:CreateTags", "ec2:AttachNetworkInterface" ], "Resource": [ "arn:aws:ec2:*:*:instance/*", "arn:aws:ec2:*:*:network-interface/*", "arn:aws:ec2:*:*:volume/*" ], "Condition": { "StringEquals": { "ec2:ManagedResourceOperator": "scaler.lambda.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "ec2:DescribeAvailabilityZones", "ec2:DescribeCapacityReservations", "ec2:DescribeInstances", "ec2:DescribeInstanceStatus", "ec2:DescribeInstanceTypeOfferings", "ec2:DescribeInstanceTypes", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:RunInstances", "ec2:CreateNetworkInterface" ], "Resource": [ "arn:aws:ec2:*:*:subnet/*", "arn:aws:ec2:*:*:security-group/*" ] }, { "Effect": "Allow", "Action": [ "ec2:RunInstances" ], "Resource": [ "arn:aws:ec2:*:*:image/*" ], "Condition": { "StringEquals": { "ec2:Owner": "amazon" } } } ] }
Política de confiança
A política de confiança permite que o Lambda assuma o perfil do operador:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "lambda.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Perfil vinculado ao serviço para instâncias gerenciadas do Lambda
Para gerenciar com responsabilidade o ciclo de vida das instâncias gerenciadas do Lambda, o Lambda exige acesso persistente para encerrar as instâncias gerenciadas em sua conta. O Lambda usa um perfil vinculado ao serviço (SLR) do AWS Identity and Access Management (IAM) para realizar essas operações.
Criação automática: o perfil vinculado ao serviço é criado automaticamente na primeira vez que você cria um provedor de capacidade. O usuário que cria o primeiro provedor de capacidade deve ter a permissão iam:CreateServiceLinkedRole para a entidade principal lambda.amazonaws.com.
Permissões: o perfil vinculado ao serviço concede ao Lambda as permissões a seguir em instâncias gerenciadas:
-
ec2:TerminateInstances: para encerrar instâncias no final de seu ciclo de vida -
ec2:DescribeInstances: para enumerar instâncias gerenciadas
Exclusão: é possível somente excluir esse perfil vinculado ao serviço depois de excluir todos os provedores de capacidade de instâncias gerenciadas do Lambda em sua conta.
Para obter mais informações sobre funções vinculadas ao serviço, consulte Uso de perfis vinculados ao serviço para o Lambda.