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

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

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 AWS Fargate para o Amazon ECS.

Começar a usar Amazon ECS no AWS Fargate usando o tipo de inicialização do 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

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

Crie um cluster que use a VPC padrão.

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 ativar o Container Insights, expanda Monitoring (Monitoramento) e, em seguida, ative Use Container Insights (Usar o Conteiner Insights).

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

  8. Escolha Create (Criar).

Etapa 2: criar uma definição de tarefa

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.

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

  3. 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" }
  4. Escolha Criar.

Etapa 3: criar um serviço

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.

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

  3. 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: criar 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.

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

  5. Escolha Criar.

Etapa 4: visualizar o seu serviço

  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.

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

  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.