Criar recursos para ajuste de escala automático de cluster do Amazon ECS usando o AWS Management Console
Saiba como criar os recursos para o ajuste de escala automático de cluster usando o AWS Management Console. Quando os recursos requerem um nome, usamos o prefixo ConsoleTutorial
para garantir que todos tenham nomes exclusivos e facilitar sua localização.
Tópicos
Pré-requisitos
Este tutorial pressupõe que os seguintes pré-requisitos foram concluídos:
-
As etapas em Configuração para usar o Amazon ECS foram concluídas.
-
O usuário do IAM tem as permissões necessárias especificadas no exemplo de política do IAM de AmazonECS_FullAccess.
-
A função do IAM de instância de contêiner do Amazon ECS é criada. Para obter mais informações, consulte Função do IAM de instância de contêiner do Amazon ECS.
-
A função do IAM vinculada ao serviço do Amazon ECS é criada. Para obter mais informações, consulte Uso de perfis vinculados ao serviço para o Amazon ECS.
-
A função do IAM vinculada ao serviço do Auto Scaling é criada. Para obter mais informações, consulte Funções vinculadas ao serviço para o Amazon EC2 Auto Scaling no Guia do usuário do Amazon EC2 Auto Scaling.
-
Você tem uma VPC e um grupo de segurança criados para uso. Para obter mais informações, consulte Criar uma nuvem privada virtual.
Etapa 1: criar um cluster do Amazon ECS
Use as etapas a seguir para criar um cluster do Amazon ECS.
O Amazon ECS cria um modelo de execução do Amazon EC2 Auto Scaling e um grupo do Auto Scaling em seu nome como parte da pilha do AWS CloudFormation.
Abra o console em https://console.aws.amazon.com/ecs/v2
. -
No painel de navegação, selecione Clusters e, em seguida, Criar cluster.
-
Em Configuração do cluster, em Nome do cluster, insira
ConsoleTutorial-cluster
. -
Em Infraestrutura, desmarque AWS Fargate (sem servidor) e selecione Instâncias do Amazon EC2. Em seguida, configure o grupo do Auto Scaling que atua como o provedor de capacidade.
-
Em Grupo do Auto Scaling (ASG). Selecione Criar novo ASG, e forneça os detalhes a seguir sobre o grupo:
-
Em Sistema/arquitetura operacional, escolha Amazon Linux 2.
-
Em Tipo de instância do EC2, escolha t3.nano.
-
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.
-
-
-
(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.
-
-
Escolha Criar.
Etapa 2: registrar uma definição de tarefa
Para executar uma tarefa no seu cluster, você deve registrar uma definição de tarefa. As definições de tarefa são listas de contêineres agrupados. O exemplo a seguir é uma definição de tarefa simples que usa uma imagem amazonlinux
do Docker Hub e simplesmente hiberna por 360 segundos. Para obter mais informações sobre os parâmetros de definição de tarefa disponíveis, consulte Definições de tarefa do Amazon ECS.
Abra o console em https://console.aws.amazon.com/ecs/v2
. -
No painel de navegação, escolha Task definitions (Definições de tarefa).
-
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).
-
Na caixa Editor JSON, cole o conteúdo a seguir.
{ "family": "ConsoleTutorial-taskdef", "containerDefinitions": [ { "name": "sleep", "image": "public.ecr.aws/amazonlinux/amazonlinux:latest", "memory": 20, "essential": true, "command": [ "sh", "-c", "sleep infinity" ] } ], "requiresCompatibilities": [ "EC2" ] }
-
Escolha Criar.
Etapa 3: executar uma tarefa
Depois de registrar uma definição de tarefa para sua conta, você pode executar uma tarefa no cluster. Para este tutorial, execute cinco instâncias da definição de tarefa ConsoleTutorial-taskdef
em seu cluster do ConsoleTutorial-cluster
.
Abra o console em https://console.aws.amazon.com/ecs/v2
. -
Na página Clusters, escolha ConsoleTutorial-cluster.
-
Em Tarefas, escolha Executar nova tarefa.
-
Na seção Ambiente, em Opções de computação, escolha Estratégia do provedor de capacidade.
-
Em Configuração de implantação, para Tipo de aplicação, escolha Tarefa.
-
Escolha ConsoleTutorial-taskdef na lista suspensa Família.
-
Em Tarefas desejadas, insira 5.
-
Escolha Criar.
Etapa 4: verificar
Neste ponto do tutorial, você deve ter um cluster com cinco tarefas em execução e um grupo do Auto Scaling com um provedor de capacidade. O provedor de capacidade tem a escalabilidade gerenciada do Amazon ECS habilitada.
Podemos verificar se tudo está funcionando corretamente visualizando as métricas do CloudWatch, as configurações do grupo do Auto Scaling e, finalmente, a contagem de tarefas de cluster do Amazon ECS.
Para visualizar as métricas do CloudWatch do cluster
Abra o console do CloudWatch, em https://console.aws.amazon.com/cloudwatch/
. -
Na barra de navegação na parte superior da tela, selecione uma Região .
-
No painel de navegação, em Métricas, escolha Todas as métricas.
-
Na página Todas as métricas, na guia Procurar, escolha
AWS/ECS/ManagedScaling
. -
Escolha CapacityProviderName, ClusterName.
-
Marque a caixa de seleção que corresponde ao
ConsoleTutorial-cluster
ClusterName. -
Na guia Métricas em gráfico, altere Período para 30 segundos e Estatística para Máximo.
O valor exibido no gráfico mostra o valor da capacidade do destino para o provedor de capacidade. Deve começar em
100
, que era o percentual de capacidade alvo que definimos. Você deve vê-lo aumentar até200
, o que acionará um alarme para a política de escalabilidade de rastreamento de destino. O alarme irá acionar o grupo do Auto Scaling para expansão.
Use as etapas a seguir para visualizar os detalhes do grupo do Auto Scaling e confirmar se a ação de aumento ocorreu.
Para verificar se o grupo do Auto Scaling foi aumentado
Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/
. -
Na barra de navegação na parte superior da tela, selecione uma Região .
-
No painel de navegação, em Auto Scaling, escolha Auto Scaling Groups (Grupos de Auto Scaling).
-
Escolha o grupo do Auto Scaling
ConsoleTutorial-cluster
criado neste tutorial. Veja o valor em Capacidade desejada e veja as instâncias na guia Gerenciamento de instâncias para confirmar se o seu grupo sofreu aumento de escala na horizontal para duas instâncias.
Use as etapas a seguir para visualizar o cluster do Amazon ECS e confirmar se as instâncias do Amazon EC2 foram registradas no cluster e suas tarefas, transferidas para um status de RUNNING
.
Para verificar as instâncias no grupo do Auto Scaling
Abra o console em https://console.aws.amazon.com/ecs/v2
. -
No painel de navegação, escolha Clusters.
-
Na página Clusters, escolha o cluster
ConsoleTutorial-cluster
. -
Na guia Tarefas, confirme que você vê cinco tarefas no status
RUNNING
.
Etapa 5: limpar
Ao concluir este tutorial, limpe os recursos associados a ele para evitar cobranças por recursos que você não está usando. A exclusão de provedores de capacidade e de definições de tarefa não é compatível, mas não há custo associado a esses recursos.
Para limpar os recursos do tutorial
Abra o console em https://console.aws.amazon.com/ecs/v2
. -
No painel de navegação, escolha Clusters.
-
Na página Clusters, escolha ConsoleTutorial-cluster.
-
Na página ConsoleTutorial-cluster, escolha a guia Tarefas e, em seguida, escolha Interromper, Interromper tudo.
-
No painel de navegação, escolha Clusters.
-
Na página Clusters, escolha ConsoleTutorial-cluster.
-
Na parte superior direita da página, escolha Excluir cluster.
-
Na caixa de confirmação, insira excluir ConsoleTutorial-cluster e escolha Excluir.
-
Exclua os grupos do Auto Scaling usando as etapas a seguir.
Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/
. -
Na barra de navegação na parte superior da tela, selecione uma Região .
-
No painel de navegação, em Auto Scaling, escolha Auto Scaling Groups (Grupos de Auto Scaling).
-
Selecione o grupo do Auto Scaling
ConsoleTutorial-cluster
e escolha Ações. -
No menu Actions (Ações), escolha Delete (Excluir). Insira excluir na caixa de confirmação e, em seguida, escolha Excluir.