Conceitos básicos do console clássico usando contêineres do Linux no AWS Fargate - Serviço Amazon Elastic Container

Conceitos básicos do console clássico usando contêineres do Linux no AWS 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. Você pode hospedar os contêineres em uma infraestrutura sem servidor gerenciada pelo Amazon ECS ao iniciar serviços ou tarefas no AWS Fargate. Para obter uma visão geral ampla do Amazon ECS no Fargate, consulte O que é o Amazon Elastic Container Service?.

Conceitos básicos do Amazon ECS no AWS Fargate usando o tipo de execução do Fargate para as tarefas. Nas regiões em que o Amazon ECS oferece suporte ao AWS Fargate, o assistente de primeira execução do Amazon ECS clássico orienta você nos conceitos básicos do Amazon ECS usando o tipo de inicialização do Fargate. O assistente dá a opção de criar um cluster e executar um aplicativo web de exemplo. Se você já tiver uma imagem do Docker a ser iniciada no Amazon ECS, poderá criar uma definição de tarefa com essa imagem e usá-la no cluster.

Importante

Para obter informações sobre os conceitos básicos do Amazon ECS usando o Amazon EC2, consulte Conceitos básicos do console clássico usando o Amazon EC2.

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

Pré-requisitos

Antes de começar, certifique-se de ter concluído as etapas em Configuração para usar o Amazon ECS e que seu usuário da AWS tenha as permissões especificadas no exemplo de política do IAM AdministratorAccess ou Permissões do assistente da primeira execução do Amazon ECS.

O assistente executado pela primeira vez tenta criar automaticamente a função do IAM de execução da tarefa, o que é obrigatório para tarefas do Fargate. Para garantir que a experiência da primeira execução possa criar essa função do IAM, uma das seguintes opções deve ser verdadeira:

Etapa 1: 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. Abra o assistente de primeira execução do console clássico em https://console.aws.amazon.com/ecs/home#/firstRun.

  2. Na barra de navegação, selecione a região US East (N. Virginia) (Leste dos EUA [Norte da Virgínia]).

    nota

    Você pode concluir esse assistente de primeira execução usando estas etapas para qualquer região que ofereça suporte ao Amazon ECS usando o Fargate. Para mais informações, consulte Amazon ECS no AWS Fargate.

  3. Configure seus parâmetros de definição de tarefas do contêiner.

    Para Container definition (Definição de contêiner), o assistente de primeira execução vem pré-carregado nas definições de contêiner sample-app, nginx e tomcat-webserver no console. Opcionalmente, você pode renomear o contêiner ou revisar e editar os recursos usados pelo contêiner (como unidades de CPU e limites de memória) escolhendo Edit e editando os valores mostrados. Para mais informações, consulte Definições de contêiner.

    nota

    Se você estiver usando uma imagem do Amazon ECR na definição de contêiner, use a nomenclatura registry/repository:tag completa para as imagens do Amazon ECR. Por exemplo, aws_account_id.dkr.ecr.region.amazonaws.com/my-web-app:latest.

  4. Em Task definition (Definição de tarefa), o assistente de primeira execução define uma definição de tarefa para usar com as definições de contêiner pré-carregadas. Opcionalmente, você pode renomear a definição de tarefa e editar os recursos usados por ela (como os valores Task memory e Task CPU), escolhendo Edit e editando os valores mostrados. Para mais informações, consulte Parâmetros de definição de tarefa.

    As definições de tarefas criadas no assistente de primeira execução estão limitadas a um único contêiner para fins de simplificação. Você pode criar várias definições de tarefas de contêiner posteriormente no console do Amazon ECS.

  5. Escolha Next (Próximo).

Etapa 2: Configurar o serviço

Nesta seção do assistente, selecione como configurar o serviço do Amazon ECS que é criado a partir da definição de tarefa. Um serviço é executado e mantém um número específico de cópias da definição da tarefa no seu cluster. A aplicação Amazon ECS sample (Amostra do Amazon ECS) é uma aplicação no estilo Hello World baseada na Web a que deverá ser executada indefinidamente. Executando-o como um serviço, ele será reiniciado se a tarefa se tornar não íntegra ou parar inesperadamente.

O assistente de primeira execução vem pré-carregado com uma definição de serviço, e você pode ver o serviço sample-app-service definido no console. Você também pode renomear o serviço ou revisar e editar os detalhes escolhendo Edit e fazendo o seguinte:

  1. No campo Service name, selecione um nome para seu serviço.

  2. No campo Number of desired tasks (Número de tarefas desejadas), insira o número de tarefas a serem executadas com a sua definição de tarefa especificada.

  3. No campo Security group (Grupo de segurança), especifique um intervalo de endereços IPv4 para permitir tráfego de entrada, em notação do bloco CIDR. Por exemplo, 203.0.113.0/24.

  4. (Opcional) Você pode optar por usar um Application Load Balancer para o serviço. Quando uma tarefa é iniciada a partir de um serviço configurado para usar um balanceador de carga, a tarefa é registrada com o balanceador de carga. O tráfego do load balancer é distribuído entre as instâncias no load balancer. Para obter informações, consulte Introdução a Application Load Balancers.

    Importante

    Os application load balancers geram custos enquanto existem nos seus recursos da AWS. Para obter mais informações, consulte Preço de um Application Load Balancer.

    Execute as etapas a seguir para usar um load balancer com seu serviço.

    1. Na seção Container to load balance (Contêiner para balanceamento de carga), escolha a Load balancer listener port (Porta de escuta do load balancer). O valor padrão aqui é configurado para o aplicativo de amostra, mas você pode configurar diferentes opções de listener para o load balancer. Para mais informações, consulte Balanceamento de carga do serviço.

  5. Verifique suas configurações de serviço e clique em Save, Next.

Etapa 3: Configurar o cluster

Nesta seção do assistente, você dá um nome ao cluster e o Amazon ECS cuida da configuração da rede e do IAM para você.

  1. No campo Cluster name, escolha um nome para o seu cluster.

  2. Clique em Next para continuar.

Etapa 4: Revisão

  1. Analise a sua definição de tarefa, a configuração da tarefa e a configuração de cluster e clique em Create (Criar) para terminar. Você é direcionado para uma página Launch Status (Status da execução) que mostra o status da execução. Ele descreve cada etapa do processo (pode demorar alguns minutos para ela ser concluída, enquanto o grupo do Auto Scaling é criado e preenchido).

  2. Depois que a execução for concluída, escolha View service (Exibir serviço).

Etapa 5: Visualizar o serviço

Se o serviço for uma aplicação baseada na Web, como a aplicação Amazon ECS sample (Amostra do Amazon ECS), você poderá visualizar os contêineres com um navegador da Web.

  1. Na página Service: service-name, selecione a guia Tasks.

  2. Escolha uma tarefa na lista de tarefas em seu serviço.

  3. Na seção Network, escolha o ENI Id da sua tarefa. Isso leva você para o console do Amazon EC2, onde é possível visualizar os detalhes da interface de rede associados à tarefa, incluindo o endereço IPv4 Public IP (IP público IPv4).

  4. Insira o endereço IPv4 Public IP (IP público IPv4) no navegador da Web e visualize a página da Web que exibe a aplicação Amazon ECS sample (Amostra do Amazon ECS).

Etapa 6: 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. Abra o console do Amazon ECS em https://console.aws.amazon.com/ecs/.

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

  3. Na página Clusters, selecione o cluster a ser excluído.

  4. Escolha Delete Cluster. No prompt de confirmação, insira delete me 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.