

# Pré-requisitos da Frota do EC2
<a name="ec2-fleet-prerequisites"></a>

**Topics**
+ [Modelo de execução](#ec2-fleet-prerequisites-launch-template)
+ [Função vinculada ao serviço para Frota do EC2](#ec2-fleet-service-linked-role)
+ [Conceder acesso às chaves gerenciadas pelo cliente para uso com AMIs criptografadas e snapshots do EBS](#ec2-fleet-service-linked-roles-access-to-cmks)
+ [Permissões para usuários da Frota do EC2](#ec2-fleet-iam-users)

## Modelo de execução
<a name="ec2-fleet-prerequisites-launch-template"></a>

Um modelo de inicialização especifica as informações de configuração sobre as instâncias a serem inicializadas, como o tipo de instância e a zona de disponibilidade. Para obter mais informações sobre modelos de inicialização, consulte [Armazenar os parâmetros de execução de instâncias nos modelos de execução do Amazon EC2](ec2-launch-templates.md).

## Função vinculada ao serviço para Frota do EC2
<a name="ec2-fleet-service-linked-role"></a>

O `AWSServiceRoleForEC2Fleet` concede à frota do EC2 permissão para solicitar, executar, encerrar e marcar instâncias em seu nome. O Amazon EC2 usa essa função vinculada ao serviço para concluir as seguintes ações:
+ `ec2:RunInstances` – Executar instâncias
+ `ec2:RequestSpotInstances` – Solicitação Instâncias spot.
+ `ec2:TerminateInstances` – Encerrar instâncias
+ `ec2:DescribeImages`: descrever imagens de máquina da Amazon (AMIs) para as instâncias.
+ `ec2:DescribeInstanceStatus`: descrever o status das instâncias.
+ `ec2:DescribeSubnets`: descrever as sub-redes das instâncias.
+ `ec2:CreateTags` – Adicionar tags a Frota do EC2, instâncias e volumes.

Verifique se essa função está disponível antes de usar a AWS CLI ou uma API para criar uma frota do EC2.

**nota**  
Uma Frota do EC2 `instant` não requer essa função.

Para criar a função, use o console do IAM da seguinte forma.

**Para criar a função AWSServiceRoleForEC2Fleet para Frota do EC2**

1. Abra o console do IAM em [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. No painel de navegação, escolha **Perfis**.

1. Escolha **Criar Perfil**.

1. Na página **Selecionar entidade confiável**, faça o seguinte:

   1. Em **Tipo de entidade confiável**, escolha **Serviços da AWS**.

   1. Em **Caso de uso**, para **Serviço ou caso de uso**, escolha **EC2 - Frota**.
**dica**  
Certifique-se de escolher **EC2 - Frota**. Se você escolher **EC2**, o caso de uso **EC2 - Frota** não aparecerá na lista de **Casos de uso**. O caso de uso **EC2 - Frota** criará automaticamente uma política com as permissões necessárias do IAM e sugerirá **AWSServiceRoleForEC2Fleet** como nome do perfil.

   1. Escolha **Próximo**.

1. Na página **Adicionar permissões**, escolha **Próximo**.

1. Na página **Nomear, revisar e criar**, escolha **Criar função**.

Se você não precisar mais usar Frota do EC2, é recomendável excluir a função **AWSServiceRoleForEC2Fleet**. Depois que essa função for excluída na sua conta, será possível criar a função novamente se criar outra frota.

Para obter mais informações, consulte [Perfis vinculados ao serviço](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create-service-linked-role.html) no *Guia do usuário do IAM*.

## Conceder acesso às chaves gerenciadas pelo cliente para uso com AMIs criptografadas e snapshots do EBS
<a name="ec2-fleet-service-linked-roles-access-to-cmks"></a>

Se você especificar uma [AMI criptografada](AMIEncryption.md) ou um snapshot criptografado do Amazon EBS na frota do EC2 e usar uma chave do AWS KMS para criptografia, será necessário conceder ao perfil **AWSServiceRoleForEC2Fleet** permissão para usar a chave gerenciada pelo cliente para que o Amazon EC2 possa iniciar instâncias 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 [Usar concessões](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html) e [Usar políticas de chave no AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html), no *Guia do desenvolvedor do AWS Key Management Service*.

**Para conceder as permissões para a função AWSServiceRoleForEC2Fleet para usar a chave gerenciada pelo cliente**
+ Use o comando [create-grant](https://docs.aws.amazon.com/cli/latest/reference/kms/create-grant.html) para adicionar uma concessão à chave gerenciada pelo cliente e especificar a entidade principal (a função vinculada ao serviço **AWSServiceRoleForEC2Fleet**) 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. O principal é especificado pelo parâmetro `grantee-principal` e o ARN da função vinculada ao serviço **AWSServiceRoleForEC2Fleet**.

  ```
  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/AWSServiceRoleForEC2Fleet \
      --operations "Decrypt" "Encrypt" "GenerateDataKey" "GenerateDataKeyWithoutPlaintext" "CreateGrant" "DescribeKey" "ReEncryptFrom" "ReEncryptTo"
  ```

## Permissões para usuários da Frota do EC2
<a name="ec2-fleet-iam-users"></a>

Se os usuários pretenderem criar ou gerenciar uma Frota do EC2, certifique-se de conceder a eles as permissões necessárias.

**Para criar uma frota do EC2**

1. Abra o console do IAM em [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. No painel de navegação, escolha **Policies**.

1. Escolha **Create policy (Criar política)**.

1. Na página **Create policy (Criar política)**, escolha a guia **JSON**, substitua texto pelo seguinte e escolha **Review policy (Revisar política)**.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "ec2:*"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                 "iam:ListRoles",
                 "iam:PassRole",
                 "iam:ListInstanceProfiles"
               ],
               "Resource":"arn:aws:iam::123456789012:role/DevTeam*"
           }
       ]
   }
   ```

------

   O `ec2:*` concede a um usuário permissão para chamar todas as ações de API do Amazon EC2. Para limitar o usuário a ações de API do Amazon EC2, especifique essas ações.

   O usuário deve ter permissão para chamar a ação `iam:ListRoles` para enumerar os perfis do IAM existentes, a ação `iam:PassRole` para especificar o perfil da frota do EC2 e a ação `iam:ListInstanceProfiles` para enumerar os perfis de instância existentes.

   (Opcional) Para permitir que um usuário crie perfis ou perfis de instância usando o console do IAM, também é necessário adicionar as ações a seguir à política:
   + `iam:AddRoleToInstanceProfile`
   + `iam:AttachRolePolicy`
   + `iam:CreateInstanceProfile`
   + `iam:CreateRole`
   + `iam:GetRole`
   + `iam:ListPolicies`

1. Na página **Review policy (Revisar política)**, digite um nome e uma descrição para a política e escolha **Create policy (Criar política)**.

1. Para conceder acesso, adicione as permissões aos seus usuários, grupos ou perfis:
   + Usuários e grupos no Centro de Identidade do AWS IAM:

     Crie um conjunto de permissões. Siga as instruções em [Criação de um conjunto de permissões](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html) no *Guia do usuário do Centro de Identidade do AWS IAM*.
   + Usuários gerenciados no IAM com provedor de identidades:

     Crie um perfil para a federação de identidades. Siga as instruções em [Criando um perfil para um provedor de identidades de terceiros (federação)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html) no *Guia do Usuário do IAM*.
   + Usuários do IAM:
     + Crie um perfil que seu usuário possa assumir. Siga as instruções em [Criação de um perfil para um usuário do IAM](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html) no *Guia do usuário do IAM*.
     + (Não recomendado) Vincule uma política diretamente a um usuário ou adicione um usuário a um grupo de usuários. Siga as instruções em [Adição de permissões a um usuário (console)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) no *Guia do usuário do IAM*.