Etapa 5: Configurar o serviço para usar o Auto Scaling do serviço - Amazon ECS

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Etapa 5: Configurar o serviço para usar o Auto Scaling do serviço

O console clássico do Amazon ECS está chegando ao fim da vida útil e não estará mais disponível após 4 de dezembro de 2023. Recomendamos que você mude imediatamente para o novo console do Amazon ECS para uma melhor experiência. Você pode revisar e seguir o novo roteiro do console Amazon ECS em. GitHub

Opcionalmente, seu serviço Amazon ECS pode ser configurado para usar o Auto Scaling para ajustar a contagem desejada de tarefas em seu serviço Amazon ECS para cima ou para baixo em resposta a alarmes. CloudWatch

O Auto Scaling do serviço do Amazon ECS oferece suporte aos seguintes tipos de políticas de escalabilidade:

  • Políticas de escalabilidade de rastreamento de destino (Recomendado): aumenta ou diminui o número de tarefas que o serviço executa com base em um valor de destino para uma métrica específica. Isso é semelhante à forma como o termostato mantém a temperatura da casa. Você seleciona a temperatura, e o termostato faz o resto.

  • Políticas de escalabilidade em etapas — Aumenta ou diminui o número de tarefas que o serviço executa com base em um conjunto de ajustes de escalabilidade, conhecidos como ajustes em etapas, que variam com base no tamanho da violação do alarme.

Para obter mais informações, consulte Autoescalabilidade do serviço.

Para configurar os parâmetros básicos do Auto Scaling do serviço
  1. Caso ainda não tenha feito, siga os procedimentos de configuração de serviço básicos em Etapa 1: Configurar parâmetros básicos de serviço.

  2. Na página Set Auto Scaling, selecione Configure Service Auto Scaling to adjust your service’s desired count.

  3. Em Minimum number of tasks (Número mínimo de tarefas), insira o limite inferior do número de tarefas para o Auto Scaling do serviço usar. A contagem desejada do seu serviço não será automaticamente ajustada para um valor abaixo desse.

  4. Em Desired number of tasks (Número de tarefas desejadas), esse campo é preenchido antecipadamente com o valor já inserido. Você pode alterar a contagem desejada do serviço no momento, mas esse valor deve ser entre o número mínimo e máximo de tarefas especificado nessa página.

  5. Em Maximum number of tasks (Número máximo de tarefas), insira o limite superior do número de tarefas para o Auto Scaling do serviço usar. A contagem desejada do seu serviço não será automaticamente ajustada um valor acima desse.

  6. Para a IAM role for Service Auto Scaling (Função do IAM para Service Auto Scaling), escolha o ecsAutoscaleRole. Se essa função não existir, escolha Create new role (Criar nova função) para que o console a crie para você.

  7. Os procedimentos a seguir fornecem as etapas para a criação de políticas de rastreamento de destino ou de escalabilidade de etapas para o seu serviço. Escolha o tipo de política de escalabilidade desejado.

Essas etapas ajudam você a criar políticas e CloudWatch alarmes de escalabilidade de rastreamento de metas que podem ser usados para iniciar atividades de escalabilidade para seu serviço.

Para configurar políticas de escalabilidade de rastreamento de destino para o serviço
  1. Em Scaling policy type (Tipo de política de escalabilidade), escolha Target tracking (Rastreamento de destino).

  2. Em Policy name (Nome da política), insira um nome descritivo para a política.

  3. Em ECS service metric (Métrica do serviço do ECS), escolha a métrica a ser rastreada. As seguintes métricas estão disponíveis:

    • Utilização da ServiceAverageCPU ECS — Utilização média da CPU do serviço.

    • ECS ServiceAverageMemoryUtilization — Utilização média da memória do serviço.

    • ALB RequestCountPerTarget — Número de solicitações concluídas por destino em um grupo-alvo do Application Load Balancer.

  4. Em Target value (Valor de destino), insira o valor da métrica que a política deve manter. Por exemplo, use um valor de destino de 1000 para ALBRequestCountPerTarget, ou um valor de destino de 75(%) para ECSServiceAverageCPUUtilization.

  5. Em Scale-out cooldown period (Período de desaquecimento após expansão), insira a quantidade de tempo, em segundos, após a conclusão de uma ação de expansão antes que uma outra atividade de expansão possa iniciar. Enquanto o período de desaquecimento após expansão estiver em vigor, a capacidade que foi adicionada pela atividade de expansão de escala anterior que iniciou o desaquecimento é calculada como parte da capacidade desejada para o próximo evento de expansão. A intenção é expandir de forma contínua (mas não excessivamente).

  6. Em Scale-in cooldown period (Período de desaquecimento após redução), insira a quantidade de tempo, em segundos, após a conclusão de uma ação de redução antes que uma outra atividade de redução possa iniciar. O desaquecimento de redução é usado para bloquear as solicitações de redução de escala subsequentes até que ele expire. A intenção é reduzir de forma conservadora para proteger a disponibilidade de sua aplicação. Contudo, se outro alarme acionar uma atividade de aumento durante o período de desaquecimento após uma redução, o Auto Scaling do serviço aumentará o destino escalável imediatamente.

  7. (Opcional) Para desativar as ações de redução para esta política, escolha Disable scale-in (Desabilitar a redução de escala na horizontal). Isso permite que você crie uma política de escalabilidade distinta para a redução mais tarde.

  8. Escolha Próxima etapa.

Essas etapas ajudam você a criar políticas e CloudWatch alarmes de escalabilidade de etapas que podem ser usados para iniciar atividades de escalabilidade para seu serviço. Você pode criar um alarme de Scale out para aumentar a contagem desejada de seu serviço, e um alarme de Scale in para diminuir a contagem desejada de seu serviço.

Para configurar políticas de escalabilidade em etapas para o serviço
  1. Em Scaling policy type (Tipo de política de escalabilidade), escolha Step scaling (Escalabilidade em etapas).

  2. Em Policy name (Nome da política), insira um nome descritivo para a política.

  3. Em Executar política quando, selecione o CloudWatch alarme a ser usado para aumentar ou diminuir seu serviço.

    Você pode usar um CloudWatch alarme existente que tenha criado anteriormente ou pode optar por criar um novo alarme. O fluxo de trabalho Criar novo alarme permite criar CloudWatch alarmes baseados no CPUUtilization e MemoryUtilization no serviço que você está criando. Para usar outras métricas, você pode criar seu alarme no CloudWatch console e, em seguida, retornar a esse assistente para escolher esse alarme.

  4. (Opcional) Se você escolher criar um novo alarme, conclua as seguintes etapas.

    1. Em Alarm name, insira um nome descritivo para o alarme. Por exemplo, se o alarme precisar ser iniciado quando a utilização de CPU exceder 75%, você poderá chamar o alarme service_name-cpu-gt-75.

    2. Em ECS service metric, escolha a métrica de serviço a ser usada para o alarme. Para obter mais informações, consulte Autoescalabilidade do serviço.

    3. Em Alarm threshold, digite as seguintes informações para configurar seu alarme:

      • Escolha a CloudWatch estatística do seu alarme (o valor padrão de Média funciona em muitos casos). Para obter mais informações, consulte Estatísticas no Guia do CloudWatch usuário da Amazon.

      • Escolha o operador de comparação para o seu alarme e insira o valor que o operador de comparação usará na verificação (por exemplo, > e 75).

      • Insira o número de períodos consecutivos antes do alarme ser acionado e a duração do período. Por exemplo, dois períodos consecutivos de 5 minutos precisariam de 10 minutos antes de o alarme ser acionado. Como as tarefas do Amazon ECS podem ser reduzidas ou aumentadas rapidamente, considere a utilização de um número pequeno de períodos consecutivos e uma duração de período curta para reagir aos alarmes assim que possível.

    4. Escolha Salvar.

  5. Em Scaling action, insira as seguintes informações para configurar como o seu serviço responde ao alarme:

    • Escolha se deseja adicionar, subtrair ou definir uma contagem desejada para o seu serviço.

    • Se você decidir adicionar ou subtrair tarefas, insira o número de tarefas (ou porcentagem de tarefas existentes) para adicionar ou subtrair quando a ação de escalabilidade é acionada. Se você optar por definir a contagem desejada, insira a contagem desejada para o seu serviço quando a ação de escalabilidade é acionada.

    • (Opcional) Se você decidir adicionar ou subtrair tarefas, escolha se o valor anterior é usado como um número inteiro ou um valor percentual da contagem desejada existente.

    • Insira o limite inferior do seu ajuste de escalabilidade incremental. Por padrão, para a sua primeira ação de escalabilidade, esse valor é o valor de métrica em que o alarme é acionado. Por exemplo, a seguinte ação de escalabilidade adiciona 100% da contagem desejada existente quando a utilização da CPU é maior do que 75%.

  6. (Opcional) Você pode repetir Passo 5 para configurar várias ações de escalabilidade para um único alarme (por exemplo, para adicionar uma tarefa se a utilização da CPU ficar entre 75% e 85%, e para adicionar duas tarefas se a utilização da CPU for maior do que 85%).

  7. (Opcional) Se você decidir adicionar ou subtrair uma porcentagem da contagem desejada existente, insira um valor incremental mínimo em Add tasks in increments of N task(s).

  8. Em Cooldown period, insira o número de segundos entre ações de escalabilidade.

  9. Repita Passo 1 a Passo 8 para a política de Scale in (Escalar em) e escolha Save (Salvar).

  10. Escolha Next step (Próxima etapa) para prosseguir e vá até Etapa 6: Revisar e criar o serviço.