Como criar uma política de escalabilidade em etapas para redução
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 uma alarme do CloudWatch para o limite inferior da métrica
Abra o console do CloudWatch em https://console.aws.amazon.com/cloudwatch/
. -
Se necessário, altere a região. Na barra de navegação, selecione a região na qual o grupo do Auto Scaling reside.
-
No painel de navegação, escolha Alarms, All alarms (Alarmes, Todos os alarmes) e Create alarm (Criar alarme).
-
Escolha Selecionar métrica.
-
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
CPUUtilizatione 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. -
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.
-
Em Condições, faça o seguinte:
-
Em Tipo de limite, escolha Estático.
-
Em Whenever
CPUUtilizationis (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.
-
-
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 Configuração da forma como os alarmes do CloudWatch tratam dados ausentes no Manual do usuário do Amazon CloudWatch.
-
-
Escolha Próximo.
A página Configure actions (Configurar ações) é exibida.
-
Em Notification (Notificação), selecione um tópico do Amazon SNS para notificar quando o alarme estiver no estado
ALARM,OKouINSUFFICIENT_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).
-
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.
-
Escolha Próximo.
-
Insira um nome (por exemplo,
Step-Scaling-AlarmLow-RemoveCapacity) e, opcionalmente, uma descrição para o alarme e escolha Próximo. -
Selecione Criar alarme.
Use o procedimento a seguir para continuar de onde você parou depois de criar o modelo de execução.
Etapa 2: Criar uma política de escalabilidade para reduzir a escala horizontalmente
Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/
e escolha grupos do Auto Scaling no painel de navegação. -
Marque a caixa de seleção ao lado do seu grupo do Auto Scaling.
Um painel dividido é aberto na parte inferior da página.
-
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.
-
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).
-
Para Tipo de política, escolha Escala por etapas e especifique um nome para a política.
-
Para Alarme do CloudWatch, escolha o seu alarme. Caso ainda não tenha criado um alarme, escolha Create a CloudWatch alarm (Criar um alarme do CloudWatch) e conclua as etapas de 4 a 14 do procedimento anterior para criar um alarme.
-
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, digite2no próximo campo e, em seguida, selecionecapacity units. Por padrão, o limite superior desse ajuste em etapas é o limite do alarme, e o limite inferior é negativo (-) infinito. -
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.
-
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
espaço reservado para entrada do usuáriopor suas próprias informações.Ao usar o AWS CLI, primeiro você criou una política de escala de etapas que fornecia instruções para o Amazon EC2 Auto Scaling sobre como reduzir a escala horizontalmente quando o valor de uma métrica estivesse 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 comando put-scaling-policy
a seguir para criar uma política de dimensionamento em etapas denominada my-step-scale-in-policycom um tipo de ajuste deChangeInCapacityque reduza a capacidade do grupo em duas instâncias.aws autoscaling put-scaling-policy \ --auto-scaling-group-namemy-asg\ --policy-namemy-step-scale-in-policy\ --policy-type StepScaling \ --adjustment-type ChangeInCapacity \ --step-adjustments MetricIntervalUpperBound=0.0,ScalingAdjustment=-2Anote o nome de recurso da Amazon (ARN) da política. Você vai precisar dele para criar um alarme do CloudWatch 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 uma alarme do CloudWatch para o limite inferior da métrica
Use o seguinte comando do CloudWatch put-metric-alarm
para criar um alarme que reduz o tamanho do grupo do Auto Scaling com base em um valor limite médio de CPU de 40% por pelo menos dois períodos de avaliação de dois minutos. Para usar sua própria métrica personalizada, especifique o nome em --metric-namee o namespace em--namespace.aws cloudwatch put-metric-alarm --alarm-nameStep-Scaling-AlarmLow-RemoveCapacity\ --metric-nameCPUUtilization--namespaceAWS/EC2--statistic Average \ --period120--evaluation-periods2--threshold40\ --comparison-operator LessThanOrEqualToThreshold \ --dimensions "Name=AutoScalingGroupName,Value=my-asg" \ --alarm-actionsPolicyARN