Função vinculada ao serviço para solicitações de instâncias spot - Amazon Elastic Compute Cloud

Função vinculada ao serviço para solicitações de instâncias spot

O Amazon EC2 usa funções vinculadas ao serviço para as permissões necessárias para chamar outros produtos da AWS em seu nome. O perfil vinculado ao serviço é um tipo exclusivo de perfil do IAM vinculado diretamente ao AWS service (Serviço da AWS). Os perfis vinculados a serviços oferecem uma maneira segura de delegar permissões a outros Serviços da AWS, pois somente o serviço vinculado pode assumir uma função vinculada ao serviço. Para obter mais informações, consulte Perfis vinculados ao serviço no Guia do usuário do IAM.

O Amazon EC2 usa a função vinculada ao serviço denominada AWSServiceRoleForEC2Spot para executar e gerenciar Instâncias spot em seu nome.

Permissões concedidas pelo AWSServiceRoleForEC2Spot

O Amazon EC2 usa AWSServiceRoleForEC2Spot para concluir as ações a seguir:

  • ec2:DescribeInstances – Descrever instâncias spot

  • ec2:StopInstances – Parar instâncias spot

  • ec2:StartInstances – Iniciar instâncias spot

Criar a função vinculada ao serviço

Na maioria das circunstâncias, você não precisa criar manualmente uma função vinculada ao serviço. O Amazon EC2 cria a função AWSServiceRoleForEC2Spot vinculada ao serviço na primeira vez que você solicita uma instância spot usando o console.

Se você tinha uma solicitação de instância spot ativa antes de outubro de 2017, quando o Amazon EC2 começou a oferecer suporte a essa função vinculada ao serviço, o Amazon EC2 criou a função AWSServiceRoleForEC2Spot em sua conta da AWS. Para obter mais informações, consulte Uma nova função apareceu na minha conta no Guia do usuário do IAM.

Se você usar a AWS CLI ou uma API para solicitar uma instância spot, deverá assegurar que essa função existe.

Para criar AWSServiceRoleForEC2Spot usando o console
  1. Abra o console do IAM em https://console.aws.amazon.com/iam/.

  2. No painel de navegação, selecione Roles.

  3. Selecione Create role.

  4. Na página Select type of trusted entity (Selecionar tipo de entidade confiável), escolha EC2, EC2 - Spot Instances (EC2 - instâncias spot), Next: Permissions (Próximo: permissões).

  5. Na próxima página, escolha Next:Review (Próximo: revisar).

  6. Na página Review (Revisar), selecione Create role (Criar função).

Para criar AWSServiceRoleForEC2Spot usando a AWS CLI

Use o comando create-service-linked-role da seguinte forma.

aws iam create-service-linked-role --aws-service-name spot.amazonaws.com

Se você não precisar mais usar Instâncias spot, é recomendável excluir a função AWSServiceRoleForEC2Spot. Depois que essa função for excluída da sua conta, o Amazon EC2 criará a função novamente se você solicitar Instâncias spot.

Conceder acesso às chaves gerenciadas pelo cliente para uso com AMIs criptografadas e snapshots do EBS

Se você especificar uma AMI criptografada ou um snapshot do Amazon EBS criptografado para suas instâncias spot e usar uma chave gerenciada pelo cliente para criptografia, deverá conceder à função AWSServiceRoleForEC2Spot permissão para usar a chave gerenciada pelo cliente de forma que o Amazon EC2 consiga executar instâncias spot em seu nome. Para isso, adicione uma concessão à chave gerenciada pelo cliente, conforme exibido no procedimento a seguir.

Durante a definição de permissões, as concessões são uma alternativa às políticas de chave. Para obter mais informações, consulte Uso de concessões e Uso de políticas de chave no AWS KMS, no Guia do desenvolvedor do AWS Key Management Service.

Para conceder as permissões para a função AWSServiceRoleForEC2Spot para usar a chave gerenciada pelo cliente
  • Use o comando create-grant para adicionar uma concessão à chave gerenciada pelo cliente e especificar a entidade principal (a função vinculada ao serviço AWSServiceRoleForEC2) que recebe permissão para executar as operações permitidas pela concessão. A chave gerenciada pelo cliente é especificada pelo parâmetro key-id e o ARN da chave gerenciada pelo cliente. A entidade principal é especificada pelo parâmetro grantee-principal e pelo ARN da função vinculada ao serviço AWSServiceRoleForEC2Spot.

    aws kms create-grant \ --region us-east-1 \ --key-id arn:aws:kms:us-east-1:444455556666:key/1234abcd-12ab-34cd-56ef-1234567890ab \ --grantee-principal arn:aws:iam::111122223333:role/aws-service-role/spot.amazonaws.com/AWSServiceRoleForEC2Spot \ --operations "Decrypt" "Encrypt" "GenerateDataKey" "GenerateDataKeyWithoutPlaintext" "CreateGrant" "DescribeKey" "ReEncryptFrom" "ReEncryptTo"