

# Como criar uma tarefa do Amazon ECS Windows para o Fargate
<a name="Windows_fargate-getting_started"></a>

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-prereqs-windows"></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="create_fargate_windows_cluster-v2"></a>

É possível criar um novo cluster denominado **windows** que use a VPC padrão.

**Para criar um cluster com o Console de gerenciamento da AWS**

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 **windows**.

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: registrar uma definição de tarefa do Windows
<a name="register_fargate_windows_task_def_console"></a>

Para executar contêineres do Windows no cluster do Amazon ECS, você deve registrar uma definição de tarefa. O exemplo de definição de tarefa a seguir exibe uma página da web simples na porta 8080 de uma instância de contêiner com a imagem de contêiner do `mcr.microsoft.com/windows/servercore/iis`.

**Para registrar o exemplo de definição de tarefa no Console de gerenciamento da AWS**

1. No painel de navegação, escolha **Task definitions** (Definições de tarefa).

1. Escolha **Create new task definition** (Criar nova definição de tarefa), **Create new task definition with JSON** (Criar nova definição de tarefa com JSON).

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

   ```
   {
       "containerDefinitions": [
           {
               "command": ["New-Item -Path C:\\inetpub\\wwwroot\\index.html -Type file -Value '<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>'; C:\\ServiceMonitor.exe w3svc"],
               "entryPoint": [
                   "powershell",
                   "-Command"
               ],
               "essential": true,
               "cpu": 2048,
               "memory": 4096,
               "image": "mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2019",
               "name": "sample_windows_app",
               "portMappings": [
                   {
                       "hostPort": 80,
                       "containerPort": 80,
                       "protocol": "tcp"
                   }
               ]
           }
       ],
       "memory": "4096",
       "cpu": "2048",
       "networkMode": "awsvpc",
       "family": "windows-simple-iis-2019-core",
       "executionRoleArn": "arn:aws:iam::012345678910:role/ecsTaskExecutionRole",
       "runtimePlatform": {"operatingSystemFamily": "WINDOWS_SERVER_2019_CORE"},
       "requiresCompatibilities": ["FARGATE"]
   }
   ```

1. Verifique suas informações e escolha **Create (Criar)**.

## Etapa 3: criar um serviço com sua definição de tarefa
<a name="create_fargate_windows_service_console"></a>

Depois que tiver registrado a definição de tarefa, será possível colocar tarefas no cluster com ela. O procedimento a seguir cria um serviço com a definição de tarefa e coloca uma tarefa no cluster.

**Para criar um serviço a partir de sua definição de tarefa com o console**

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

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

1. Em **Deployment configuration** (Configuração de implantação), especifique como a aplicação será implantada.

   1. Em **Task definition** (Definição de tarefa), escolha a definição de tarefa que você criou em [Etapa 2: registrar uma definição de tarefa do Windows](#register_fargate_windows_task_def_console).

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

   1. Em **Desired tasks** (Tarefas desejadas), insira **1**.

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

1. Escolha **Criar**.

## Etapa 4: visualizar o serviço
<a name="view_windows_fargate_service"></a>

Depois que o serviço tiver ativado uma tarefa no cluster, será possível visualizar o serviço e abrir a página de teste do IIS em um navegador para verificar se o contêiner está em execução.

**nota**  
Pode demorar até 15 minutos para a instância de contêiner baixar e extrair as camadas base de contêiner do Windows.

**Para visualizar o serviço**

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 com sua definição de tarefa](#create_fargate_windows_service_console).

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="first-fargate-run-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). 

   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.