

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

# Políticas de escalabilidade simples e em etapas do Amazon EC2 Auto Scaling
<a name="as-scaling-simple-step"></a>

O escalonamento por etapas e as políticas de escalabilidade simples escalam a capacidade do seu grupo de Auto Scaling em incrementos predefinidos com base em alarmes. CloudWatch É possível definir políticas de escalabilidade separadas para lidar com o aumento horizontal da escala (aumento da capacidade) e com a redução horizontal da escala (diminuição da capacidade) quando um limite de alarme é violado.

A capacidade do grupo do Auto Scaling é medida em termos de instâncias ou unidades de capacidade se você estiver usando [pesos de instância](ec2-auto-scaling-mixed-instances-groups-instance-weighting.md). Além disso, há uma diferença entre a capacidade desejada e a capacidade atual.
+ Capacidade desejada: o número de instâncias (ou unidades de capacidade) que você deseja ter em seu grupo. A capacidade desejada pode ser ajustada manual ou automaticamente usando políticas de escalabilidade.
+ Capacidade atual: o número de instâncias (ou unidades de capacidade) em seu grupo que passaram pelos períodos de aquecimento e desaquecimento, estão em execução e prontas para serem usadas.

Com o escalonamento por etapas e o escalonamento simples, você cria e gerencia os CloudWatch alarmes que invocam o processo de escalabilidade. Quando um alarme é violado, o Amazon EC2 Auto Scaling inicia a política de escalabilidade associada a esse alarme.

É 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 expandir ou reduzir proporcionalmente o número de instâncias usando o rastreamento de destino. Isso ajuda a garantir que o Amazon EC2 Auto Scaling siga estritamente a curva de demanda para suas aplicações. Para obter mais informações, consulte [Políticas de escalabilidade de rastreamento de destino](as-scaling-target-tracking.md).

**Contents**
+ [Funcionamento das políticas de escalabilidade em etapas](#step-scaling-how-it-works)
+ [Ajustes em etapas para escalabilidade em etapas](#as-scaling-steps)
+ [Tipos de ajuste da escalabilidade](#as-scaling-adjustment)
+ [Aquecimento da instância](#as-step-scaling-warmup)
+ [Considerações](#step-scaling-considerations)
+ [Como criar uma política de escalabilidade em etapas para expansão](step-scaling-create-scale-out-policy.md)
+ [Como criar uma política de escalabilidade em etapas para redução](step-scaling-create-scale-in-policy.md)
+ [Políticas de escalabilidade simples](simple-scaling-policies.md)

## Funcionamento das políticas de escalabilidade em etapas
<a name="step-scaling-how-it-works"></a>

Para usar o escalonamento por etapas, primeiro você cria um CloudWatch alarme que monitora uma métrica para seu grupo de Auto Scaling. Defina a métrica, o valor limite e o número de períodos de avaliação que determinam uma violação de alarme. Em seguida, crie uma política de escala por etapas que defina como escalar seu grupo quando o limite de alarme for ultrapassado. É possível usar um percentual da capacidade atual do seu grupo do Auto Scaling ou unidades de capacidade para o tipo de ajuste de escalabilidade. Para obter mais informações, consulte [Tipos de ajuste da escalabilidade](#as-scaling-adjustment).

Adicione os ajustes de etapas na política. É possível definir diferentes ajustes de etapas com base na dimensão da violação do alarme. Por exemplo:
+ Aumentar a escala horizontalmente em 10 unidades de capacidade, se a métrica de alarme atingir 60%.
+ Aumentar a escala horizontalmente em 30 unidades de capacidade, se a métrica de alarme atingir 75%.
+ Aumentar a escala horizontalmente em 40 unidades de capacidade, se a métrica de alarme atingir 85%.

Quando o limite de alarme for violado durante o número especificado de períodos de avaliação, o Amazon EC2 Auto Scaling aplicará os ajustes de etapas definidos na política. Os ajustes podem continuar para violações de alarmes adicionais até que o estado do alarme retorne a `OK`. 

Cada instância tem um período de aquecimento para evitar que as atividades de escala sejam muito reativas às mudanças que ocorrem em curtos períodos de tempo. Opcionalmente, é possível configurar os períodos de esfriamento para a política de escalabilidade. Recomendamos usar o aquecimento padrão da instância para facilitar a atualização de todas as políticas de escalabilidade quando o horário de aquecimento mudar. Para obter mais informações, consulte [Definir o aquecimento padrão da instância para um grupo do Auto Scaling](ec2-auto-scaling-default-instance-warmup.md).

As políticas de escala simples são semelhantes às políticas de escala por etapas, exceto pelo fato de que se baseiam em um único ajuste de escala, com um período de espera entre cada atividade de escala. Para obter mais informações, consulte [Políticas de escalabilidade simples](simple-scaling-policies.md).

## Ajustes em etapas para escalabilidade em etapas
<a name="as-scaling-steps"></a>

Ao criar uma política de escalabilidade em etapas, especifique um ou mais ajustes em etapas que dimensionem automaticamente o número de instâncias de forma dinâmica com base no tamanho da violação do alarme. Cada ajuste em etapas especifica o seguinte: 
+ Um limite inferior para o valor da métrica
+ Um limite superior para o valor da métrica
+ O valor de acordo com o qual dimensionar com base no tipo de ajuste de dimensionamento 

CloudWatch agrega pontos de dados métricos com base na estatística da métrica associada ao seu CloudWatch alarme. Quando o alarme é violado, a política de dimensionamento apropriada é invocada. O Amazon EC2 Auto Scaling aplica o tipo de agregação aos CloudWatch pontos de dados métricos mais recentes (em oposição aos dados métricos brutos). Ele compara esse valor de métrica agregada com os limites superior e inferior definidos pelo ajustes em etapa para determinar qual deles deve ser executado. 

Você especifica os limites superior e inferior em relação ao limite de ruptura. Por exemplo, digamos que você tenha criado um CloudWatch alarme e uma política de expansão para quando a métrica estiver acima de 50%. Em seguida, você criou um segundo alarme e uma política para reduzir a escala horizontalmente em momentos em que a métrica está abaixo de 50%. Você tem um conjunto de ajustes em etapas com um tipo de ajuste `PercentChangeInCapacity` (ou **Percent of group (Percentual de grupo)** no console) para cada política: 


**Exemplo: ajustes em etapas para política de expansão**  

| **Limite inferior** | **Limite superior** | **Ajuste** | 
| --- | --- | --- | 
|  0  |  10  |  0  | 
|  10  |  20  |  10  | 
|  20  |  nulo  |  30  | 


**Exemplo: ajustes em etapas para política de redução**  

| **Limite inferior** | **Limite superior** | **Ajuste** | 
| --- | --- | --- | 
|  -10  |  0  |  0  | 
|  -20  |  -10  |  -10  | 
|  nulo  |  -20  |  -30  | 

Isso cria a seguinte configuração de escalabilidade.

```
Metric value

-infinity          30%    40%          60%     70%             infinity
-----------------------------------------------------------------------
          -30%      | -10% | Unchanged  | +10%  |       +30%        
-----------------------------------------------------------------------
```

Por exemplo, digamos que você tenha um grupo do Auto Scaling que tenha uma capacidade atual e uma capacidade desejada de 10. Os pontos a seguir resumem o comportamento da configuração de escalabilidade em relação às capacidades desejada e atual do grupo:
+ A capacidade atual e desejada será mantida enquanto o valor agregado da métrica for maior que 40 e menor que 60.
+ Se o valor da métrica chegar a 60, a capacidade desejada do grupo aumenta em 1 instância, para 11 instâncias, com base no segundo ajuste em etapas da política de expansão (adicionar 10% de 10 instâncias). Depois que a nova instância estiver em execução e seu tempo de aquecimento especificado expirar, a capacidade atual do grupo aumenta para 11 instâncias. Se o valor da métrica subir para 70 mesmo após esse aumento na capacidade, a capacidade desejada do grupo aumentará em outras 3 instâncias, para 14 instâncias. Isso se baseia no ajuste da terceira etapa da política de expansão (adicione 30% de 11 instâncias, 3,3 instâncias, arredondadas para 3 instâncias).
+ Se o valor da métrica chegar a 40, a capacidade desejada do grupo será reduzida em 1 instância, para 13 instâncias, com base no segundo ajuste em etapas da política de redução (removerá 10% das 14 instâncias, 1,4 instâncias, arredondadas para 1 instância). Se o valor da métrica cair para 30 mesmo após essa diminuição na capacidade, a capacidade desejada do grupo diminuirá em outras 3 instâncias, para 10 instâncias. Isso se baseia no ajuste da terceira etapa da política de expansão (remova 30% de 13 instâncias, 3,9 instâncias, arredondadas para 3 instâncias).

Ao especificar os ajustes em etapas para sua política de escalabilidade, observe o seguinte:
+ Se você usar o Console de gerenciamento da AWS, você especifica os limites superior e inferior como valores absolutos. Se você usa o AWS CLI ou um SDK, especifica os limites superior e inferior em relação ao limite de violação. 
+ Os intervalos de seus ajustes em etapas não podem se sobrepor ou ter uma lacuna.
+ Somente um ajuste em etapas pode ter um limite inferior nulo (infinito negativo). Se um ajuste em etapas tiver um limite inferior negativo, não deverá haver um ajuste em etapas com um limite inferior nulo.
+ Somente um ajuste em etapas pode ter um limite superior nulo (infinito positivo). Se um ajuste em etapas tiver um limite superior positivo, deverá haver um ajuste em etapas com um limite superior nulo.
+ Os limites inferior e superior não podem ser nulos no mesmo ajuste em etapas.
+ Se o valor da métrica estiver acima do limite de violação, o limite inferior será inclusivo e o limite superior será exclusivo. Se o valor da métrica estiver abaixo do limite de violação, o limite inferior será exclusivo e o limite superior será inclusivo.

## Tipos de ajuste da escalabilidade
<a name="as-scaling-adjustment"></a>

É possível definir uma política de escalabilidade que execute a ação de escalabilidade ideal, com base no tipo de ajuste de escalabilidade escolhido. É possível especificar o tipo de ajuste como um percentual da capacidade atual do seu grupo do Auto Scaling ou em unidades de capacidade. Normalmente, uma unidade de capacidade significa uma instância, a menos que você esteja usando o recurso de peso da instância. 

O Amazon EC2 Auto Scaling oferece suporte aos seguintes tipos de ajuste de escalabilidade simples e em etapa:
+ `ChangeInCapacity`: aumentar ou diminuir a capacidade atual do grupo no valor especificado. Um valor de ajuste positivo aumenta a capacidade e um valor negativo diminui a capacidade. Por exemplo: se a capacidade atual do grupo for 3 e o ajuste for 5, quando essa política for executada, adicionaremos 5 unidades de capacidade à capacidade, para um total de 8 unidades de capacidade. 
+ `ExactCapacity`: alterar a capacidade atual do grupo para o valor especificado. Especifique um valor não negativo com esse tipo de ajuste. Exemplo: se a capacidade atual do grupo for 3 instâncias e o ajuste for 5, quando essa política for executada, alteraremos a capacidade para 5 unidades de capacidade. 
+ `PercentChangeInCapacity`: aumentar ou diminuir a capacidade atual do grupo no percentual especificado. Um valor positivo aumenta a capacidade e um valor negativo diminui a capacidade. Por exemplo: se a capacidade atual for 10 e o ajuste for 10%, quando essa política for executada, adicionaremos 1 unidade de capacidade à capacidade, para um total de 11 unidades de capacidade. 
**nota**  
Se o valor resultante não for um inteiro, o arredondamento é feito da seguinte forma:  
Valores maiores que 1 serão arredondados para baixo. Por exemplo, `12.7` será arredondado para `12`.
Os valores entre 0 e 1 serão arredondados para 1. Por exemplo, `.67` será arredondado para `1`.
Os valores entre 0 e -1 serão arredondados para -1. Por exemplo, `-.58` será arredondado para `-1`.
Os valores menores que -1 serão arredondado para cima. Por exemplo, `-6.67` será arredondado para `-6`.

Com `PercentChangeInCapacity`, também é possível especificar o número mínimo de instâncias a serem dimensionadas usando o parâmetro `MinAdjustmentMagnitude`. Por exemplo, vamos supor que você crie uma política que adiciona 25% e especifique um incremento mínimo de 2 instâncias. Se você tiver um grupo do Auto Scaling com 4 instâncias e a política de escalabilidade for executada, 25% de 4 será 1 instância. No entanto, como você especificou um incremento mínimo de 2, serão adicionadas 2 instâncias.

Quando o [peso de instâncias](ec2-auto-scaling-mixed-instances-groups-instance-weighting.md) é usado, o efeito de definir o parâmetro `MinAdjustmentMagnitude` para um valor diferente de zero é alterado. O valor é em unidades de capacidade. Para definir o número mínimo de instâncias a serem escaladas, defina esse parâmetro para um valor que seja, pelo menos, tão grande quanto o maior peso da instância.

Se você estiver usando ponderação de instâncias, lembre-se de que a capacidade atual do seu grupo do Auto Scaling poderá exceder a capacidade desejada, conforme necessário. Se o seu número absoluto para redução, ou o valor que a porcentagem informar para redução, for menor que a diferença entre a capacidade atual e a desejada, nenhuma ação de escalabilidade será executada. É necessário levar em conta esses comportamentos ao analisar o resultado de uma política de dimensionamento quando um limite de alarme é violado. Por exemplo, vamos supor que a capacidade desejada seja 30 e a capacidade atual seja 32. Quando o alarme é violado, se a política de dimensionamento diminuir a capacidade desejada em um, nenhuma ação de dimensionamento será realizada.

## Aquecimento da instância
<a name="as-step-scaling-warmup"></a>

Para dimensionamento em etapas, você pode especificar o número de segundos necessários para o aquecimento de uma instância recém-iniciada. Até que o tempo de aquecimento especificado expire, uma instância não é contada para as métricas de instância do EC2 agregadas do grupo do Auto Scaling.

Enquanto as instâncias estiverem no período de aquecimento, suas políticas de escalabilidade somente aumentarão a escala na horizontal se o valor da métrica de instâncias que não estão aquecendo for maior do que o limite alto do alarme da política.

Se o grupo voltar a aumentar a escala na horizontal, as instâncias que ainda estão se aquecendo serão contadas como parte da capacidade desejada para a próxima ação de aumento da escala na horizontal. Portanto, várias violações de alarme que caem no intervalo do mesmo ajuste em etapas resultam em uma única ação de escalabilidade. A intenção é expandir de forma contínua (mas não excessivamente).

Por exemplo, vamos supor que você cria uma política com duas etapas. A primeira etapa adiciona 10 por cento quando a métrica chega a 60, e a segunda etapa adiciona 30 por cento quando a métrica chega a 70 por cento. Seu grupo do Auto Scaling tem uma capacidade desejada e atual de 10. A capacidade atual e desejada não altera enquanto o valor agregado da métrica for menor que 60. Suponha que a métrica chegue a 60, então 1 instância é adicionada (10 por cento de 10 instâncias). Em seguida, a métrica chega a 62 enquanto a nova instância ainda está se aquecendo. A política de escalabilidade calcula a nova capacidade desejada com base na capacidade atual, que ainda é 10. No entanto, a capacidade desejada do grupo já aumentou para 11 instâncias, portanto, a política de escalabilidade não aumenta mais a capacidade desejada. Se a métrica chegar a 70 enquanto a nova instância ainda está em processo de aquecimento, deveremos adicionar 3 instâncias (30% de 10 instâncias). No entanto, como a capacidade desejada do grupo já é 11, adicionaremos apenas 2 instâncias, para uma nova capacidade desejada de 13 instâncias.

Enquanto a atividade de aumentar a escala na horizontal estiver em andamento, todas as atividades de reduzir a escala na horizontal iniciadas por políticas de escalabilidade serão bloqueadas até que as instâncias terminem de aquecer. Quando as instâncias terminarem de se aquecer, se ocorrer um evento de reduzir a escala horizontalmente, todas as instâncias atualmente em processo de encerramento serão contabilizadas na capacidade atual do grupo ao calcular a nova capacidade desejada. Portanto, não removemos mais instâncias do que o necessário do grupo do Auto Scaling. Por exemplo, enquanto uma instância já estiver sendo encerrada, se um alarme estiver em violação no intervalo do mesmo ajuste de etapa que diminuiu a capacidade desejada em 1, nenhuma ação de escalabilidade será realizada.

**Valor padrão**  
Se nenhum valor for definido, a política de escalabilidade usará o valor padrão, que é o valor para o [aquecimento da instância padrão](ec2-auto-scaling-default-instance-warmup.md) definido para o grupo. Se o aquecimento da instância padrão for nulo, ele retornará ao valor de [desaquecimento padrão](ec2-auto-scaling-scaling-cooldowns.md#set-default-cooldown).

## Considerações
<a name="step-scaling-considerations"></a>

As considerações a seguir são aplicáveis ao trabalhar com políticas de escalabilidade simples e em etapas:
+ Avalie se é possível prever os ajustes em etapas na aplicação com precisão suficiente para usar a escalabilidade em etapas. Se a métrica de escalabilidade aumentar ou diminuir proporcionalmente à capacidade do destino dimensionável, recomendamos que você use uma política de escalabilidade de rastreamento do objetivo. Você ainda tem a opção de usar a escalabilidade em etapas como política adicional para uma configuração mais avançada. Por exemplo, é possível configurar uma resposta mais agressiva quando a utilização atinge determinado nível.
+ Para evitar oscilações, certifique-se de escolher uma margem adequada entre os limites de redução e aumento da escala. Oscilação é um ciclo infinito de aumento e redução de escala horizontal. Ou seja, se o sistema adotar alguma ação de escalabilidade, o valor da métrica mudaria e iniciaria outra ação de escalabilidade na direção inversa.

# Como criar uma política de escalabilidade em etapas para expansão
<a name="step-scaling-create-scale-out-policy"></a>

Para criar uma política de escala por etapas para o aumentar a escala horizontalmente do seu grupo do Auto Scaling, use um dos métodos a seguir:

------
#### [ Console ]

**Etapa 1: criar um CloudWatch alarme para o limite máximo métrico**

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

1. Se necessário, altere a região da . Na barra de navegação, selecione a região na qual o grupo do Auto Scaling reside.

1. No painel de navegação, escolha **Alarms, All alarms** (Alarmes, Todos os alarmes) e **Create alarm** (Criar alarme).

1. Escolha **Selecionar métrica**. 

1. Na guia **All metrics** (Todas as métricas), escolha **EC2**, **By Auto Scaling Group** (Por grupo do Auto Scaling) e insira o nome do grupo do Auto Scaling no campo de pesquisa. Depois, selecione `CPUUtilization` e escolha **Selecionar métrica**. A página **Especificar métrica e condições** será exibida, mostrando um gráfico e outras informações sobre a métrica. 

1. Em **Period (Período)**, escolha o período de avaliação para o alarme, por exemplo, 1 minuto. Ao avaliar o alarme, todos os períodos são agregados em um único ponto de dados. 
**nota**  
Um período mais curto cria um alarme mais sensível.

1. Em **Condições**, faça o seguinte:
   + Em **Tipo de limite**, escolha **Estático**.
   + Em **Whenever `CPUUtilization` is** (Sempre que for), especifique se você deseja que o valor da métrica seja maior que, maior que ou igual a, menor que, ou menor que ou igual ao limite de violação do alarme. Em **than** (que), insira o valor do limite desejado de violação de alarme.

1. Em **Configuração adicional**, faça o seguinte:
   + Em **Datapoints to alarm** (Pontos de dados para alarme), insira o número de pontos de dados (períodos de avaliação) durante os quais o valor da métrica deverá atender às condições de limite para o alarme. Por exemplo, com dois períodos consecutivos de 5 minutos, o estado de alarme levaria 10 minutos para ser invocado.
   + Em **Tratamento de dados ausentes**, escolha **Tratar dados ausentes como inválidos (limite de violação)**. Para obter mais informações, consulte [Configurando como CloudWatch os alarmes tratam dados perdidos no Guia CloudWatch ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarms-and-missing-data) *do usuário da Amazon*.

1. Escolha **Próximo**.

   A página **Configure actions** (Configurar ações) é exibida.

1. Em **Notification** (Notificação), selecione um tópico do Amazon SNS para notificar quando o alarme estiver no estado `ALARM`, `OK` ou `INSUFFICIENT_DATA`.

   Para que o alarme envie várias notificações para o mesmo estado de alarme ou para diferentes estados de alarme, escolha **Add notification (Adicionar notificação)**.

   Para que o alarme não envie notificações, escolha **Remove (Remover)**.

1. Você pode deixar vazias as outras seções da página **Configure actions** (Configurar ações). Deixar as outras seções vazias cria um alarme sem associá-lo a uma política de escalabilidade. Em seguida, você pode associar o alarme a uma política de escalabilidade do console do Amazon EC2 Auto Scaling.

1. Escolha **Próximo**.

1. Insira um nome (por exemplo, `Step-Scaling-AlarmHigh-AddCapacity`) e, opcionalmente, uma descrição para o alarme e escolha **Próximo**.

1. Selecione **Criar alarme**.

Use o procedimento a seguir para continuar de onde parou depois de criar o CloudWatch alarme. 

**Etapa 2: Criar uma política de escalabilidade para aumentar a escala horizontalmente**

1. Abra o console do Amazon EC2 em [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)e escolha **Auto Scaling Groups** no painel de navegação.

1. Marque a caixa de seleção ao lado do seu grupo do Auto Scaling. 

   Um painel dividido é aberto na parte inferior da página. 

1. Verificar se os limites de escalabilidade estão definidos adequadamente. Por exemplo, se sua capacidade desejada já estiver no máximo, especifique um novo máximo para aumentar a escala horizontalmente. Para obter mais informações, consulte [Definir limites de escalabilidade para seu grupo do Auto Scaling](asg-capacity-limits.md).

1. Na guia **Automatic scaling** (Escalabilidade automática), em **Dynamic scaling policies** (Políticas dinâmicas de escalabilidade), selecione **Create dynamic scaling policy** (Criar política dinâmica de escalabilidade).

1. Para **Tipo de política**, escolha **Escala por etapas** e especifique um nome para a política.

1. Para **CloudWatch alarme**, escolha seu alarme. Se você ainda não criou um alarme, escolha **Criar um CloudWatch alarme** e conclua as etapas 4 a 14 no procedimento anterior para criar um alarme.

1. Especifique a alteração no tamanho do grupo atual que essa política fará quando executada usando **Take the action (Executar a ação)**. É possível adicionar um número específico de instâncias ou uma porcentagem do tamanho do grupo existente ou definir o grupo para um tamanho exato. 

   Por exemplo, para criar uma política de ajuste de escala em etapas que aumente a capacidade da frota em 30%, escolha `Add`, digite `30` no próximo campo e escolha `percent of group`. Por padrão, o limite inferior desse ajuste em etapas é o limite do alarme, e o limite superior é positivo (\$1) infinito. 

1. Para adicionar outra etapa, escolha **Add step (Adicionar etapa)** e defina o valor de acordo com o qual dimensionar e os limites inferior e superior da etapa em relação ao limite do alarme. 

1. Para definir um número mínimo de instâncias a serem dimensionadas, atualize o campo número em **Add capacity units in increments of at least (Adicionar unidades de capacidade em incrementos de pelo menos)** `1` **capacity units (unidades de capacidade)**. 

1. (Opcional) Em **Aquecimento das instâncias**, atualize o valor de aquecimento de instância conforme necessário.

1. Escolha **Criar**.

------
#### [ AWS CLI ]

Para criar uma política de escala por etapas para aumento a escala horizontalmente (aumento da capacidade), você pode usar os seguintes comandos de exemplo. Substitua cada *user input placeholder* por suas próprias informações.

Ao usar o AWS CLI, primeiro você cria uma política de escalabilidade por etapas que fornece instruções ao Amazon EC2 Auto Scaling sobre como escalar quando o valor de uma métrica está aumentando. Nesta etapa, você criará dois alarmes identificando a métrica a ser observada, definindo os limites superior e inferior da métrica e outros detalhes para os alarmes, e associando os alarmes às políticas de dimensionamento. 

**Etapa 1: Criar uma política para aumentar a escala horizontalmente**  
Use o [put-scaling-policy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/put-scaling-policy.html)comando a seguir para criar uma política de escalabilidade de etapas chamada`my-step-scale-out-policy`, com um tipo de ajuste `PercentChangeInCapacity` que aumente a capacidade do grupo com base nos seguintes ajustes de etapa (supondo um limite de CloudWatch alarme de 60%):
+ Aumentar a contagem de instâncias em 10 por cento quando o valor da métrica for maior que ou igual a 60 por cento, mas menor que 75 por cento 
+ Aumentar a contagem de instâncias em 20 por cento quando o valor da métrica for maior que ou igual a 75 por cento, mas menor que 85 por cento
+ Aumentar a contagem de instâncias em 30 por cento quando o valor da métrica for maior ou igual 85 por cento

```
aws autoscaling put-scaling-policy \
  --auto-scaling-group-name my-asg  \
  --policy-name my-step-scale-out-policy \
  --policy-type StepScaling \
  --adjustment-type PercentChangeInCapacity \
  --metric-aggregation-type Average \
  --step-adjustments MetricIntervalLowerBound=0.0,MetricIntervalUpperBound=15.0,ScalingAdjustment=10 \
                     MetricIntervalLowerBound=15.0,MetricIntervalUpperBound=25.0,ScalingAdjustment=20 \
                     MetricIntervalLowerBound=25.0,ScalingAdjustment=30 \
  --min-adjustment-magnitude 1
```

Anote o nome de recurso da Amazon (ARN) da política. Você precisa dele para criar um CloudWatch alarme para a política. 

```
{
    "PolicyARN": "arn:aws:autoscaling:region:123456789012:scalingPolicy:4ee9e543-86b5-4121-b53b-aa4c23b5bbcc:autoScalingGroupName/my-asg:policyName/my-step-scale-in-policy
}
```

**Etapa 2: criar um CloudWatch alarme para o limite máximo métrico**  
Use o CloudWatch [put-metric-alarm](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudwatch/put-metric-alarm.html)comando a seguir para criar um alarme que aumente o tamanho do grupo de Auto Scaling com base em um valor limite médio de CPU de 60% por pelo menos dois períodos consecutivos de avaliação de dois minutos. Para usar sua própria métrica personalizada, especifique o nome em `--metric-name` e o namespace em `--namespace`.

```
aws cloudwatch put-metric-alarm --alarm-name Step-Scaling-AlarmHigh-AddCapacity \
  --metric-name CPUUtilization --namespace AWS/EC2 --statistic Average \
  --period 120 --evaluation-periods 2 --threshold 60 \
  --comparison-operator GreaterThanOrEqualToThreshold \
  --dimensions "Name=AutoScalingGroupName,Value=my-asg" \
  --alarm-actions PolicyARN
```

------

# Como criar uma política de escalabilidade em etapas para redução
<a name="step-scaling-create-scale-in-policy"></a>

Para criar uma política de escala por etapas para reduzir a escala horizontalmente do seu grupo do Auto Scaling, use um dos métodos a seguir:

------
#### [ Console ]

**Etapa 1: criar um CloudWatch alarme para o limite métrico baixo**

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

1. Se necessário, altere a região da . Na barra de navegação, selecione a região na qual o grupo do Auto Scaling reside.

1. No painel de navegação, escolha **Alarms, All alarms** (Alarmes, Todos os alarmes) e **Create alarm** (Criar alarme).

1. Escolha **Selecionar métrica**. 

1. Na guia **All metrics** (Todas as métricas), escolha **EC2**, **By Auto Scaling Group** (Por grupo do Auto Scaling) e insira o nome do grupo do Auto Scaling no campo de pesquisa. Depois, selecione `CPUUtilization` e escolha **Selecionar métrica**. A página **Especificar métrica e condições** será exibida, mostrando um gráfico e outras informações sobre a métrica. 

1. Em **Period (Período)**, escolha o período de avaliação para o alarme, por exemplo, 1 minuto. Ao avaliar o alarme, todos os períodos são agregados em um único ponto de dados. 
**nota**  
Um período mais curto cria um alarme mais sensível.

1. Em **Condições**, faça o seguinte:
   + Em **Tipo de limite**, escolha **Estático**.
   + Em **Whenever `CPUUtilization` is** (Sempre que for), especifique se você deseja que o valor da métrica seja maior que, maior que ou igual a, menor que, ou menor que ou igual ao limite de violação do alarme. Em **than** (que), insira o valor do limite desejado de violação de alarme.
**Importante**  
Para um alarme a ser usado com uma política para reduzir a escala horizontalmente (alarme inferior), certifique-se de não escolher um valor maior que ou igual ao limite.

1. Em **Configuração adicional**, faça o seguinte:
   + Em **Datapoints to alarm** (Pontos de dados para alarme), insira o número de pontos de dados (períodos de avaliação) durante os quais o valor da métrica deverá atender às condições de limite para o alarme. Por exemplo, com dois períodos consecutivos de 5 minutos, o estado de alarme levaria 10 minutos para ser invocado.
   + Em **Tratamento de dados ausentes**, escolha **Tratar dados ausentes como inválidos (limite de violação)**. Para obter mais informações, consulte [Configurando como CloudWatch os alarmes tratam dados perdidos no Guia CloudWatch ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarms-and-missing-data) *do usuário da Amazon*.

1. Escolha **Próximo**.

   A página **Configure actions** (Configurar ações) é exibida.

1. Em **Notification** (Notificação), selecione um tópico do Amazon SNS para notificar quando o alarme estiver no estado `ALARM`, `OK` ou `INSUFFICIENT_DATA`.

   Para que o alarme envie várias notificações para o mesmo estado de alarme ou para diferentes estados de alarme, escolha **Add notification (Adicionar notificação)**.

   Para que o alarme não envie notificações, escolha **Remove (Remover)**.

1. Você pode deixar vazias as outras seções da página **Configure actions** (Configurar ações). Deixar as outras seções vazias cria um alarme sem associá-lo a uma política de escalabilidade. Em seguida, você pode associar o alarme a uma política de escalabilidade do console do Amazon EC2 Auto Scaling.

1. Escolha **Próximo**.

1. Insira um nome (por exemplo, `Step-Scaling-AlarmLow-RemoveCapacity`) e, opcionalmente, uma descrição para o alarme e escolha **Próximo**.

1. Selecione **Criar alarme**.

Use o procedimento a seguir para continuar de onde parou depois de criar o CloudWatch alarme.

**Etapa 2: Criar uma política de escalabilidade para reduzir a escala horizontalmente**

1. Abra o console do Amazon EC2 em [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)e escolha **Auto Scaling Groups** no painel de navegação.

1. Marque a caixa de seleção ao lado do seu grupo do Auto Scaling. 

   Um painel dividido é aberto na parte inferior da página. 

1. Verificar se os limites de escalabilidade estão definidos adequadamente. Por exemplo, se sua capacidade desejada já estiver no máximo, especifique um novo máximo para aumentar a escala horizontalmente. Para obter mais informações, consulte [Definir limites de escalabilidade para seu grupo do Auto Scaling](asg-capacity-limits.md).

1. Na guia **Automatic scaling** (Escalabilidade automática), em **Dynamic scaling policies** (Políticas dinâmicas de escalabilidade), selecione **Create dynamic scaling policy** (Criar política dinâmica de escalabilidade).

1. Para **Tipo de política**, escolha **Escala por etapas** e especifique um nome para a política.

1. Para **CloudWatch alarme**, escolha seu alarme. Se você ainda não criou um alarme, escolha **Criar um CloudWatch alarme** e conclua as etapas 4 a 14 no procedimento anterior para criar um alarme.

1. Especifique a alteração no tamanho do grupo atual que essa política fará quando executada usando **Take the action (Executar a ação)**. É possível remover um número específico de instâncias ou uma porcentagem do tamanho do grupo existente ou definir o grupo para um tamanho exato. 

   Por exemplo, para criar uma política de redução da escala horizontalmente que diminua a capacidade do grupo em duas instâncias, selecione `Remove`, digite `2` no próximo campo e, em seguida, selecione `capacity units`. Por padrão, o limite superior desse ajuste em etapas é o limite do alarme, e o limite inferior é negativo (-) infinito. 

1. Para adicionar outra etapa, escolha **Add step (Adicionar etapa)** e defina o valor de acordo com o qual dimensionar e os limites inferior e superior da etapa em relação ao limite do alarme. 

1. Escolha **Criar**.

------
#### [ AWS CLI ]

Para criar uma política de escalonamento de etapas para reduzir a escala horizontalmente (diminuir a capacidade), você pode usar os seguintes comandos de exemplo. Substitua cada *user input placeholder* por suas próprias informações.

Ao usar o AWS CLI, primeiro você cria uma política de escalabilidade por etapas que fornece instruções ao Amazon EC2 Auto Scaling sobre como escalar quando o valor de uma métrica está diminuindo. Nesta etapa, você criará dois alarmes identificando a métrica a ser observada, definindo os limites superior e inferior da métrica e outros detalhes para os alarmes, e associando os alarmes às políticas de dimensionamento. 

**Etapa 1: Criar uma política para reduzir a escala horizontalmente**  
Use o [put-scaling-policy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/put-scaling-policy.html)comando a seguir para criar uma política de escalabilidade de etapas chamada`my-step-scale-in-policy`, com um tipo de ajuste `ChangeInCapacity` que diminui a capacidade do grupo em 2 instâncias quando o CloudWatch alarme associado ultrapassa o valor mínimo do limite métrico.

```
aws autoscaling put-scaling-policy \
  --auto-scaling-group-name my-asg  \
  --policy-name my-step-scale-in-policy \
  --policy-type StepScaling \
  --adjustment-type ChangeInCapacity \
  --step-adjustments MetricIntervalUpperBound=0.0,ScalingAdjustment=-2
```

Anote o nome de recurso da Amazon (ARN) da política. Você precisa dele para criar o CloudWatch alarme para a política. 

```
{
    "PolicyARN": "arn:aws:autoscaling:region:123456789012:scalingPolicy:ac542982-cbeb-4294-891c-a5a941dfa787:autoScalingGroupName/my-asg:policyName/my-step-scale-out-policy
}
```

**Etapa 2: criar um CloudWatch alarme para o limite métrico baixo**  
Use o CloudWatch [put-metric-alarm](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudwatch/put-metric-alarm.html)comando a seguir para criar um alarme que diminua o tamanho do grupo de Auto Scaling com base no valor limite médio de CPU de 40 por cento por pelo menos dois períodos de avaliação consecutivos de dois minutos. Para usar sua própria métrica personalizada, especifique o nome em `--metric-name` e o namespace em `--namespace`.

```
aws cloudwatch put-metric-alarm --alarm-name Step-Scaling-AlarmLow-RemoveCapacity \
  --metric-name CPUUtilization --namespace AWS/EC2 --statistic Average \
  --period 120 --evaluation-periods 2 --threshold 40 \
  --comparison-operator LessThanOrEqualToThreshold \
  --dimensions "Name=AutoScalingGroupName,Value=my-asg" \
  --alarm-actions PolicyARN
```

------

# Políticas de escalabilidade simples
<a name="simple-scaling-policies"></a>

Os exemplos a seguir mostram como você pode usar os comandos da CLI para criar políticas de escala simples. Elas permanecem neste documento como referência para os clientes que quiserem usá-las, mas recomendamos que você use políticas de monitoramento de destino ou de escala por etapas.

Semelhantes às políticas de escalabilidade por etapas, as políticas de escalabilidade simples exigem que você crie CloudWatch alarmes para suas políticas de escalabilidade. Ambas exigem que você defina se deseja adicionar ou remover instâncias, e quantas delas, ou defina o grupo para um tamanho exato. 

Uma das principais diferenças entre as políticas de escala por etapas e as políticas de escala simples são os ajustes por etapas que você obtém com as políticas de escala por etapas. Com a escala por etapas, é possível fazer alterações maiores ou menores no tamanho do grupo com base nos ajustes de etapas que você especificar.

Uma política de escala simples também deve aguardar a conclusão de uma atividade de escala em andamento ou a substituição da verificação de integridade e o término de um [período de espera](ec2-auto-scaling-scaling-cooldowns.md) antes de responder a alarmes adicionais. Em contraste, com a escalabilidade em etapas, a política pode continuar a responder a alarmes adicionais, mesmo enquanto a substituição de uma ação de escalabilidade ou uma verificação de integridade está em andamento. Isso significa que o Amazon EC2 Auto Scaling avalia todas as violações de alarme à medida que recebe as mensagens de alarme. Recomendamos que você use as políticas de escalabilidade em etapas em vez da simples, mesmo que você tenha um único ajuste em etapas. 

O Amazon EC2 Auto Scaling originalmente oferecia suporte apenas a políticas de escalabilidade simples. Se você criou sua política de escalabilidade antes de as políticas em etapa e de rastreamento de destino serem introduzidas, sua política será tratada como uma simples política de escalabilidade.

## Como criar uma política de escalabilidade em etapas para expansão
<a name="simple-scaling-create-scale-out-policy"></a>

Use o [put-scaling-policy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/put-scaling-policy.html)comando a seguir para criar uma política de escalabilidade simples chamada`my-simple-scale-out-policy`, com um tipo de ajuste `PercentChangeInCapacity` que aumenta a capacidade do grupo em 30% quando o CloudWatch alarme associado ultrapassa o valor máximo do limite métrico.

```
aws autoscaling put-scaling-policy --policy-name my-simple-scale-out-policy \
  --auto-scaling-group-name my-asg --scaling-adjustment 30 \
  --adjustment-type PercentChangeInCapacity
```

Anote o nome de recurso da Amazon (ARN) da política. Você precisa dele para criar o CloudWatch alarme para a política. 

## Como criar uma política de escalabilidade em etapas para redução
<a name="simple-scaling-create-scale-in-policy"></a>

Use o [put-scaling-policy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/put-scaling-policy.html)comando a seguir para criar uma política de escalabilidade simples chamada`my-simple-scale-in-policy`, com um tipo de ajuste `ChangeInCapacity` que diminui a capacidade do grupo em uma instância quando o CloudWatch alarme associado viola o valor mínimo do limite métrico.

```
aws autoscaling put-scaling-policy --policy-name my-simple-scale-in-policy \
  --auto-scaling-group-name my-asg --scaling-adjustment -1 \
  --adjustment-type ChangeInCapacity --cooldown 180
```

Anote o nome de recurso da Amazon (ARN) da política. Você precisa dele para criar o CloudWatch alarme para a política. 