

# Usar incrementos predefinidos com base em alarmes do CloudWatch para ajustar a escala de serviços do Amazon ECS
<a name="service-autoscaling-stepscaling"></a>

Com as políticas de escalabilidade em etapas, é possível criar e gerenciar os alarmes do CloudWatch que invocam o processo de escalabilidade. Quando um alarme é violado, o Amazon ECS inicia a política de escalabilidade associada a esse alarme. A política de escalabilidade em etapas escala as tarefas usando um conjunto de ajustes conhecido como ajustes em etapas. A dimensão dos ajustes varia de acordo com a magnitude da violação do alarme. 
+ Se a violação exceder o primeiro limite, o Amazon ECS aplicará o primeiro ajuste em etapa. 
+ Se a violação exceder o segundo limite, o Amazon ECS aplicará o segundo ajuste em etapa, e assim por diante.

É altamente recomendável usar uma política de escalabilidade de rastreamento de destino para escalar métricas, como utilização média de CPU ou contagem média de solicitações por destino. Métricas que diminuem quando a capacidade aumenta e aumentam quando a capacidade diminui podem ser usadas para aumentar ou reduzir a escala do número de tarefas proporcionalmente usando o rastreamento de destino. Isso ajuda a garantir que o Amazon ECS siga estritamente a curva de demanda para seus aplicativos.

# Criar uma política de escalabilidade em etapas para ajuste de escala automático do serviço do Amazon ECS
<a name="step-scaling-create-policy"></a>

Crie uma política de escalabilidade em etapas para que o Amazon ECS aumente ou diminua automaticamente o número desejado de tarefas em seu serviço. A escalabilidade em etapas é executada com base em um conjunto de ajustes de escalabilidade, conhecidos como ajustes em etapas, que variam com base no tamanho da ruptura do alarme. 

## Console
<a name="step-scaling-create-policy-aws-console"></a>

1. Além das permissões padrão do IAM para criar e atualizar serviços, você precisa de permissões adicionais. Para obter mais informações, consulte [Permissões obrigatórias do IAM para o ajuste de escala automático do serviço Amazon ECS](auto-scaling-IAM.md).

1. Determine as métricas a serem usadas para a política. As seguintes métricas estão disponíveis:
   +  **ECSServiceAverageCPUUtilization**: utilização média da CPU que o serviço deveria usar. 
   + **ECSServiceAverageMemoryUtilization**: utilização média da memória que o serviço deveria usar. 
   + **ALBRequestCountPerTarget**: o número médio de solicitações por minuto que a tarefa deve idealmente receber.

1. Crie um alarme do CloudWatch para as métricas. Para obter mais informações, consulte [Criar um alarme do CloudWatch com base em um limite estático](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ConsoleAlarms.html) no *Guia do usuário do Amazon CloudWatch*.

1. Abra o console em [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2).

1. Na página **Clusters**, escolha o cluster.

1. Na página de detalhes do cluster, na seção **Serviços**, escolha o serviço.

   A página de detalhes do serviço é exibida.

1. Escolha **Definir o número de tarefas**.

1. Em **Contagem de tarefas do serviço do Amazon ECS**, escolha **Usar ajuste de escala automático**.

   A seção **Contagem de tarefas** é exibida.

   1. Em **Número mínimo de tarefas**, insira o limite inferior do número de tarefas a serem usadas pelo ajuste de escala automático. A contagem desejada não será inferior a essa contagem.

   1. Em **Máximo**, insira o limite superior do número de tarefas a serem usadas pelo ajuste de escala automático. A contagem desejada não ultrapassará essa contagem.

   1. Escolha **Salvar**.

      A página de políticas será exibida.

1. Escolha **Criar política de escalabilidade**.

   A página **Criar política** é exibida.

1. Em **Tipo de política de escalabilidade**, escolha **Escalabilidade em etapas**.

1. Configure as propriedades de aumentar a escala horizontalmente. Em **Etapas para adicionar tarefas**, faça o seguinte:

   1. Em **Policy name** (Nome da política), insira o nome da política.

   1. Em **Nome do alarme do CloudWatch**, escolha o alarme do CloudWatch.

   1. Em **Tipo de agregação de métrica**, escolha como comparar a métrica selecionada ao limite definido.

   1. Em **Tipos de ajuste**, escolha se o ajuste é baseado em uma alteração no número de tarefas ou em uma alteração na porcentagem de tarefas.

   1. Em **Ações a serem tomadas**, insira os valores da ação a ser tomada.

      Escolha **Adicionar etapa** para adicionar outras ações.

1. Configure as propriedades de reduzir a escala horizontalmente. Em **Etapas para remover tarefas**, faça o seguinte:

   1. Em **Policy name** (Nome da política), insira o nome da política.

   1. Em **Nome do alarme do CloudWatch**, escolha o alarme do CloudWatch.

   1. Em **Tipo de agregação de métrica**, escolha como comparar a métrica selecionada ao limite definido.

   1. Em **Tipos de ajuste**, escolha se o ajuste é baseado em uma alteração no número de tarefas ou em uma alteração na porcentagem de tarefas.

   1. Em **Ações a serem tomadas**, insira os valores da ação a ser tomada.

      Escolha **Adicionar etapa** para adicionar outras ações.

1. Em **Período de espera**, insira a quantidade de tempo, em segundos, para aguardar que uma atividade de ajuste de escala anterior entre em vigor. Para uma política de adição, esse é o momento após uma atividade de aumento horizontal de escala em que a política de ajuste de escala bloqueia as atividades de redução horizontal de escala e limita quantas tarefas podem ser ampliadas por vez. Para uma política de remoção, esse é o momento após uma atividade de redução horizontal de escala que precisa ser concluída antes que outras atividades do mesmo tipo possam iniciar. 

1. Escolha **Criar política de escalabilidade**.

## AWS CLI
<a name="step-scaling-create-policy-aws-cli"></a>

1. Registre seu serviço do Amazon ECS como um destino escalável usando o comando [register-scalable-target](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/register-scalable-target.html).

1. Crie uma política de escalabilidade usando o comando [put-scaling-policy](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/put-scaling-policy.html).