Como criar uma tarefa para instâncias gerenciadas do Amazon ECS
Aprenda a usar o Amazon ECS com instâncias gerenciadas do Amazon ECS para executar uma aplicação em contêiner.
Pré-requisitos
Antes de começar o tutorial, conclua as seguintes etapas:
-
Você concluiu as etapas em Configurar o uso do Amazon ECS.
-
As etapas em Configuração para usar o Amazon ECS foram concluídas.
-
Os perfis do IAM necessários para instâncias gerenciadas do Amazon ECS. Isso inclui:
-
Perfil de infraestrutura: permite que o Amazon ECS faça chamadas para serviços da AWS em seu nome para gerenciar a infraestrutura de instâncias gerenciadas do Amazon ECS.
Para obter mais informações, consulte Perfil do IAM de infraestrutura do Amazon ECS.
-
Perfil de instância: fornece permissões para o agente de contêiner do Amazon ECS e para o daemon do Docker em execução nas instâncias gerenciadas.
O nome do perfil de instância deve incluir
ecsInstanceRolecomo prefixo para corresponder à açãoiam:PassRoleno perfil de infraestrutura.Para obter mais informações, consulte Perfil de instância de instâncias gerenciadas do Amazon ECS.
-
-
Você tem uma VPC e um grupo de segurança criados para uso. Este tutorial usa uma imagem de contêiner hospedada no Amazon ECR Public, de modo que suas instâncias devem ter acesso à internet. Para fornecer às suas instâncias uma rota para a internet, use uma das seguintes opções:
-
Use uma sub-rede privada com um gateway NAT que tenha um endereço IP elástico.
-
Use uma sub-rede pública e atribua um endereço IP público às instâncias.
Para obter mais informações, consulte Criar uma nuvem privada virtual.
Para obter informações sobre grupos de segurança e regras, consulte Grupos de segurança padrão para VPCs e Exemplo de regras no Guia do usuário da Amazon Virtual Private Cloud.
-
-
(Opcional) O AWS CloudShell é uma ferramenta que oferece aos clientes uma linha de comando sem precisar criar a própria instância do EC2. Para obter mais informações, consulte O que é AWS CloudShell? no Guia do usuário do AWS CloudShell.
Etapa 1: criar um cluster
-
Abra o console do Amazon ECS em https://console.aws.amazon.com/ecs/v2
. -
Na barra de navegação, selecione a Região a ser usada.
-
No painel de navegação, escolha Clusters.
-
Na página Clusters, escolha Create Cluster (Criar cluster).
-
Em Configuração do cluster, para Nome do cluster, digite um nome exclusivo para o cluster.
-
Em Infraestrutura, escolha Fargate e EC2 gerenciado.
-
Defina as configurações de instâncias gerenciadas:
-
Em Perfil de infraestrutura, selecione o perfil do IAM que você criou para gerenciamento de infraestrutura de instâncias gerenciadas.
-
Em Perfil de instância, selecione o
ecsInstanceRoleque você criou. -
Em Atributos de instância, escolha Usar padrões do ECS.
-
-
Em Rede, configure a VPC e as sub-redes para suas instâncias gerenciadas:
-
Em VPC, selecione a VPC que hospeda as instâncias gerenciadas.
-
Em Sub-redes, selecione uma ou mais sub-redes nas quais suas instâncias gerenciadas serão inicializadas.
-
Para Security groups, selecione um ou mais security groups.
-
-
(Opcional) Para adicionar tags ao seu cluster, expanda Tags e, em seguida, configure suas tags.
-
Escolha Criar.
Etapa 2: criar uma definição de tarefa
Uma definição de tarefa é como um esquema para sua aplicação. 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. Siga estas etapas para criar uma definição de tarefa:
-
No painel de navegação, selecione Definições de tarefas.
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).
-
Copie e cole o seguinte JSON no editor, substituindo o JSON pré-preenchido:
Substitua
account-idpelo ID da conta da AWS eregionpela região que você está usando.{ "family": "managed-instance-tutorial", "networkMode": "awsvpc", "executionRoleArn": "arn:aws:iam::account-id:role/ecsTaskExecutionRole", "containerDefinitions": [ { "name": "sample-app", "image": "public.ecr.aws/docker/library/httpd:latest", "essential": true, "portMappings": [ { "containerPort": 80, "hostPort": 80, "protocol": "tcp" } ], "logConfiguration": { "logDriver": "awslogs", "options": { "awslogs-group": "/ecs/managed-instance-tutorial", "awslogs-region": "region", "awslogs-stream-prefix": "ecs" } } } ], "requiresCompatibilities": [ "MANAGED_INSTANCES" ], "cpu": "1024", "memory": "2048" } -
Escolha Criar.
Etapa 3: criar um serviço
Um serviço do Amazon ECS permite executar e manter simultaneamente um número especificado de instâncias de uma definição de tarefa em um cluster do Amazon ECS. Siga estas etapas para criar um serviço:
-
No painel de navegação, escolha Clusters e, em seguida, selecione o cluster
managed-instance-tutorial. -
Na guia Services (Serviços), escolha Create (Criar).
-
Em Família de definições de tarefa, escolha managed-instance-tutorial.
Em Nome do serviço, digite
managed-instance-tutorial-service.-
Em Ambiente, escolha Estratégia do provedor de capacidade.
-
Em Rede, configure o seguinte:
Escolha uma VPC existente ou crie uma nova.
-
Em Sub-redes, selecione a sub-rede que será usada.
Em Grupos de segurança, escolha um grupo de segurança existente ou crie outro que permita tráfego de entrada na porta 80.
-
Escolha Criar.
Etapa 4: visualizar o seu serviço
Depois que seu serviço for inicializado, você poderá exibi-lo para saber mais sobre ele e testá-lo.
-
Escolha o serviço
managed-instance-tutorial-service. -
Na guia Tarefas, escolha o ID da tarefa em execução.
-
Em Rede, em IP público, escolha Endereço de abertura.
-
Você deve ver a página de teste do Apache HTTP Server, que confirma que o servidor web está funcionando corretamente.
Etapa 5: limpar
Ao concluir este tutorial, você deverá limpar os recursos associados para evitar cobranças por recursos que você não está usando.
-
No painel de navegação, escolha Clusters.
-
Na página Clusters, selecione o cluster
managed-instance-tutorial. -
Escolha a guia Serviços.
-
Selecione o serviço
managed-instance-tutorial-servicee, em seguida, escolha Excluir. -
No prompt de confirmação, insira
deletee, em seguida, escolha Excluir. -
Depois que o serviço for excluído, escolha Clusters no painel de navegação.
-
Na página Clusters, selecione o cluster
managed-instance-tutoriale escolha Excluir cluster. -
No prompt de confirmação, insira
delete managed-instance-tutoriale, em seguida, escolha Excluir.