

# Como criar uma tarefa do Linux no Amazon ECS para o Fargate
<a name="getting-started-fargate"></a>

O Amazon Elastic Container Service (Amazon ECS) é um serviço de gerenciamento de contêineres altamente escalável e rápido que facilita a execução, a interrupção e o gerenciamento de contêineres. É possível hospedar os contêineres em uma infraestrutura sem servidor gerenciada pelo Amazon ECS ao iniciar serviços ou tarefas no AWS Fargate. Para obter mais informações sobre o Fargate, consulte [Arquitetura da AWS Fargate para o Amazon ECS](AWS_Fargate.md).

Começar a usar o Amazon ECS no AWS Fargate utilizando o Fargate para as tarefas nas regiões em que o Amazon ECS é compatível com o AWS Fargate.

Conclua as tarefas a seguir para começar a usar o Amazon ECS no AWS Fargate.

## Pré-requisitos
<a name="first-run-linux-prereqs"></a>

Antes de começar, conclua as etapas em [Configuração para usar o Amazon ECS](get-set-up-for-amazon-ecs.md) e verifique se o usuário do IAM tem as permissões especificadas no exemplo de política do IAM de `AdministratorAccess`.

O console tenta criar automaticamente o perfil do IAM de execução da tarefa, o que é obrigatório para tarefas do Fargate. Para garantir que o console possa criar esse perfil do IAM, uma das opções a seguir deve ser verdadeira:
+ O usuário tem acesso de administrador. Para obter mais informações, consulte [Configuração para usar o Amazon ECS](get-set-up-for-amazon-ecs.md).
+ O usuário tem as permissões do IAM para criar uma função do serviço. Para obter mais informações, consulte [Criar uma função para delegar permissões a um serviço da AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html).
+ Um usuário com acesso de administrador criou manualmente a função de execução da tarefa, de maneira que ela esteja disponível na conta a ser usada. Para obter mais informações, consulte [Função do IAM de execução de tarefas do Amazon ECS](task_execution_IAM_role.md).

**Importante**  
O grupo de segurança selecionado ao criar um serviço com sua definição de tarefa deve ter a porta 80 aberta para tráfego de entrada. Adicione a regras de entrada a seguir ao seu grupo de segurança. Para obter informações sobre como criar um grupo de segurança, consulte [Criar um grupo de segurança para sua instância do Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-security-group.html) no *Guia do usuário do Amazon EC2*.  
Type (Tipo): HTTP
Protocolo: TCP
Intervalo de porta: 80
Origem: Qualquer lugar (`0.0.0.0/0`)

## Etapa 1: criar um cluster
<a name="get-started-fargate-cluster"></a>

Crie um cluster que use a VPC padrão.

Antes de começar, atribua a permissão apropriada do IAM. Para obter mais informações, consulte [Exemplos de clusters do Amazon ECS](security_iam_id-based-policy-examples.md#IAM_cluster_policies).

1. Abra o console em [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2).

1. Na barra de navegação, selecione a Região a ser usada.

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

1. Na página **Clusters**, escolha **Create Cluster** (Criar cluster).

1. Em **Cluster configuration** (Configuração do cluster), em **Cluster name** (Nome do cluster), insira um nome exclusivo.

   O nome pode conter até 255 letras (minúsculas e maiúsculas), números e hifens.

1. (Opcional) Para ativar o Container Insights, expanda **Monitoring** (Monitoramento) e, em seguida, ative **Use Container Insights** (Usar o Conteiner Insights).

1. (Opcional) Para ajudar a identificar seu cluster, expanda **Tags** (Etiquetas) e configure suas etiquetas.

   [Adicionar uma tag] Selecione **Add tag** (Adicionar tag) e faça o seguinte:
   + Em **Key (Chave)**, insira o nome da chave.
   + Em **Value (Valor)**, insira o valor da chave.

   [Remover uma tag] Escolha **Remover** à direita da chave e do valor da tag.

1. Escolha **Criar**.

## Etapa 2: criar uma definição de tarefa
<a name="get-started-fargate-task-def"></a>

Uma definição de tarefa é como um guia para seu aplicativo. Sempre que você iniciar uma tarefa no Amazon ECS, especifique uma definição de tarefa. Dessa maneira, o serviço sabe qual imagem do Docker usar para os contêineres, quantos contêineres usar na tarefa e a alocação de recursos para cada contêiner.

1. No painel de navegação, selecione **Definições de tarefas**.

1. Escolha **Create new Task Definition** (Criar nova definição de tarefa), **Create new revision with JSON** (Criar nova revisão com JSON).

1. Copie e cole o exemplo de definição de tarefa a seguir na caixa e escolha **Save (Salvar)**.

   ```
   {
       "family": "sample-fargate", 
       "networkMode": "awsvpc", 
       "containerDefinitions": [
           {
               "name": "fargate-app", 
               "image": "public.ecr.aws/docker/library/httpd:latest", 
               "portMappings": [
                   {
                       "containerPort": 80, 
                       "hostPort": 80, 
                       "protocol": "tcp"
                   }
               ], 
               "essential": true, 
               "entryPoint": [
                   "sh",
   		"-c"
               ], 
               "command": [
                   "/bin/sh -c \"echo '<html> <head> <title>Amazon ECS Sample App</title> <style>body {margin-top: 40px; background-color: #333;} </style> </head><body> <div style=color:white;text-align:center> <h1>Amazon ECS Sample App</h1> <h2>Congratulations!</h2> <p>Your application is now running on a container in Amazon ECS.</p> </div></body></html>' >  /usr/local/apache2/htdocs/index.html && httpd-foreground\""
               ]
           }
       ], 
       "requiresCompatibilities": [
           "FARGATE"
       ], 
       "cpu": "256", 
       "memory": "512"
   }
   ```

1. Escolha **Criar**.

## Etapa 3: criar um serviço
<a name="create-linux-service"></a>

Crie um serviço usando a definição de tarefa.

1. No painel de navegação, escolha **Clusters** e selecione o cluster que você criou em [Etapa 1: criar um cluster](#get-started-fargate-cluster).

1. Na guia **Services** (Serviços), escolha **Create** (Criar).

1. Em **Detalhes do serviço**, especifique como a aplicação será implantada.

   1. Em **Definição de tarefa**, escolha a definição que você criou em [Etapa 2: criar uma definição de tarefa](#get-started-fargate-task-def).

   1. Em **Service name** (Nome do serviço), insira um nome para o serviço.

1. Em **Ambiente**, escolha **Tipo de inicialização** e, em seguida, escolha `FARGATE`.

1. Em **Configuração de implantação**, em **Tarefas desejadas**, insira **1**. 

1.  Em **Redes**, é possível criar um novo grupo de segurança ou escolher um grupo de segurança existente para a sua tarefa. Certifique-se de que o grupo de segurança que você usa tenha a regra de entrada listada em [Pré-requisitos](#first-run-linux-prereqs).

1. Escolha **Criar**.

## Etapa 4: visualizar o seu serviço
<a name="view-fargate-windows"></a>

1. Abra o console em [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2).

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

1. Escolha o cluster em que você executou o serviço.

1. Na guia **Serviços**, em **Nome do serviço**, escolha o serviço que você criou em [Etapa 3: criar um serviço](#create-linux-service).

1. Escolha a guia **Tarefas** e, em seguida, escolha a tarefa em seu serviço.

1. Na página da tarefa, na seção **Configuração**, em **IP púbico**, escolha **endereço aberto**.

## Etapa 5: limpar
<a name="windows-fargate-cleanup"></a>

Ao terminar de usar um cluster do Amazon ECS, é necessário limpar os recursos associados a ele para evitar cobranças por recursos que você não está usando.

Alguns recursos do Amazon ECS, como tarefas, serviços, clusters e instâncias de contêiner, são eliminados por meio do console do Amazon ECS. Outros recursos, como instâncias do Amazon EC2, balanceadores de carga do Elastic Load Balancing e grupos do Auto Scaling, devem ser excluídos manualmente no console do Amazon EC2 ou com a exclusão da pilha do CloudFormation que os criou.

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

1. Na página **Clusters**, selecione o cluster que você criou para este tutorial.

1. Escolha a guia **Serviços**.

1. Selecione o serviço e, em seguida, escolha **Excluir**.

1. No prompt de confirmação, insira **delete** e escolha **Delete** (Excluir). Ou então, use a opção `Force delete` para fazer com que o Amazon ECS reduza verticalmente a escala do serviço para você antes de excluí-lo.

   Espere até que o serviço seja excluído.

1. Escolha **Delete Cluster**. No prompt de confirmação, insira **delete *nome-cluster*** (excluir nome-cluster) e escolha **Delete** (Excluir). A exclusão do cluster limpa os recursos associados que foram criados com o cluster, incluindo grupos do Auto Scaling, VPCs ou balanceadores de carga.