Saiba como criar uma tarefa do Windows no Amazon ECS para o tipo de inicialização do EC2 - Amazon Elastic Container Service

Saiba como criar uma tarefa do Windows no Amazon ECS para o tipo de inicialização do EC2

Conceitos básicos do Amazon ECS com o tipo de execução do EC2 registrando uma definição de tarefa, criando um cluster e um serviço no console.

Execute as etapas a seguir para conhecer os conceitos básicos do Amazon ECS usando o tipo de inicialização do EC2.

Pré-requisitos

Antes de começar, conclua as etapas em Configuração para usar o Amazon ECS e verifique se o seu usuário da AWS tem as permissões especificadas no exemplo de política do IAM 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:

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 Adicionar regras ao seu grupo de segurança no Manual 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

Um cluster do Amazon ECS é um agrupamento lógico de tarefas, serviços e instâncias de contêiner.

As etapas a seguir orientam você durante a criação de um cluster com uma instância do Amazon EC2 registrada, o que nos permitirá executar uma tarefa nele. Se um determinado campo não for mencionado, deixe os valores padrão do console.

Para criar um novo cluster (console do Amazon ECS)

Antes de começar, atribua a permissão apropriada do IAM. Para ter mais informações, consulte Exemplos de clusters do Amazon ECS.

  1. Abra o console em https://console.aws.amazon.com/ecs/v2.

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

  3. No painel de navegação, escolha Clusters.

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

  5. 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.

  6. (Opcional) Para alterar a VPC e as sub-redes onde suas tarefas e serviços são iniciados, em Networking (Redes), execute qualquer uma das operações a seguir:

    • Para remover uma sub-rede, em Subnets (Sub-redes), escolha X para cada sub-rede que você deseja remover.

    • Para mudar para uma VPC diferente da VPC default (padrão), em VPC, escolha uma VPC existente e, depois, Subnets (Sub-redes), e selecione cada sub-rede.

  7. Para adicionar instâncias do Amazon EC2 ao seu cluster, expanda Infraestrutura e selecione Instâncias do Amazon EC2. Em seguida, configure o grupo do Auto Scaling que atua como o provedor de capacidade:

    1. Para usar um grupo do Auto Scaling existente, em Auto Scaling group (ASG) (Grupo do Auto Scaling (ASG)), selecione o grupo.

    2. Para criar um grupo do Auto Scaling, a partir de Auto Scaling group (ASG) (Grupo do Auto Scaling (ASG)), selecione Create new group (Criar novo grupo) e, em seguida, forneça os seguintes detalhes sobre o grupo:

      • Em Operating system/Architecture (Sistema operacional/arquitetura), escolha a AMI otimizada para Amazon ECS para as instâncias do grupo do Auto Scaling.

      • Em EC2 instance type (Tipo de instância do EC2), escolha o tipo de instância para suas workloads. Para obter mais informações sobre os diferentes tipos de instância, consulte Amazon EC2 Instances (Instâncias do Amazon EC2).

        A escalabilidade gerenciada funciona melhor se o grupo do Auto Scaling usa os mesmos tipos de instância ou semelhantes.

      • Em SSH key pair (Par de chaves de SSH), escolha o par que prova sua identidade quando você se conecta à instância.

      • Em Capacity (Capacidade), insira o número mínimo e o número máximo de instâncias a serem iniciadas no grupo do Auto Scaling. As instâncias do Amazon EC2 geram custos enquanto existem nos seus recursos da AWS. Para obter mais informações, consulte Preços do Amazon EC2.

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

  9. (Opcional) Para gerenciar as tags de cluster, expanda Tags e, em seguida, execute uma das seguintes operações:

    [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.

  10. Escolha Create (Criar).

Etapa 2: registrar uma definição de tarefa

Para registrar o exemplo de definição de tarefa no AWS Management Console
  1. No painel de navegação, selecione Definições de tarefas.

  2. 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).

  3. Copie e cole o exemplo de definição de tarefa a seguir na caixa e escolha 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": 443, "containerPort": 80, "protocol": "tcp" } ] } ], "memory": "4096", "cpu": "2048", "family": "windows-simple-iis-2019-core", "executionRoleArn": "arn:aws:iam::012345678910:role/ecsTaskExecutionRole", "runtimePlatform": {"operatingSystemFamily": "WINDOWS_SERVER_2019_CORE"}, "requiresCompatibilities": ["EC2"] }
  4. Verifique suas informações e escolha Create (Criar).

Etapa 3: criar um serviço

Um serviço do Amazon ECS ajuda você a executar e manter simultaneamente um número especificado de instâncias de uma definição de tarefa em um cluster do Amazon ECS. Se qualquer uma das tarefas apresentar falha ou for interrompida por qualquer motivo, o programador de serviço do Amazon ECS iniciará outra instância da sua definição de tarefa para substitui-la a fim de manter o número desejado de tarefas no serviço. Para obter mais informações sobre serviços, consulte Serviços do Amazon ECS.

Para criar um serviço
  1. No painel de navegação, escolha Clusters.

  2. Selecione o cluster que você criou em Etapa 1: criar um cluster.

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

  4. Na seção Ambiente (Ambiente), faça o seguinte:

    1. Em Compute options (Opções de computação), escolha Launch type (Tipo de inicialização).

    2. Para Launch type (Tipo de execução), selecione EC2.

  5. Na seção Deployment configuration (Configuração da implantação), faça o seguinte:

    1. Em Family (Família), escolha a definição de tarefa que você criou em Etapa 2: registrar uma definição de tarefa.

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

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

  6. Revise as opções e escolha Criar.

  7. Escolha View service (Visualizar serviço) para revisar o serviço.

Etapa 4: visualizar o serviço

O serviço é um aplicativo baseado na web para que você possa visualizar seus contêineres com um navegador da web.

  1. Abra o console em https://console.aws.amazon.com/ecs/v2.

  2. No painel de navegação, escolha Clusters.

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

  4. Na guia Serviços, em Nome do serviço, escolha o serviço que você criou em Etapa 3: criar um serviço.

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

  6. Na página da tarefa, na seção Configuração, em IP púbico, escolha endereço aberto. A captura de tela abaixo é a saída esperada.

    Captura de tela do exemplo de aplicação do Amazon ECS. A saída indica: “Your application is now running on Amazon ECS” (Sua aplicação agora está em execução no Amazon ECS).

Etapa 5: limpar

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 AWS CloudFormation que os criou.

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

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

  3. Escolha a guia Serviços.

  4. Selecione o serviço e, em seguida, escolha Excluir.

  5. No prompt de confirmação, insira delete e escolha Delete (Excluir).

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

  6. 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.