Crie uma política de escalonamento por etapas para expansão horizontal - Amazon EC2 Auto Scaling

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

Crie uma política de escalonamento por etapas para expansão horizontal

Para criar uma política de escalabilidade por etapas para expansão horizontal para seu grupo de Auto Scaling, use um dos seguintes métodos:

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

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

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

  4. Escolha Selecionar métrica.

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

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

  7. Em Condições, faça o seguinte:

    • Em Tipo de limite, escolha Estático.

    • Em Whenever CPUUtilization is, especifique se você deseja que o valor da métrica seja maior ou maior ou igual ao limite para violar o 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 de aumentar a escala horizontalmente (alarme superior), certifique-se de não escolher um valor menor que ou igual ao limite.

  8. 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 os dados perdidos no Guia CloudWatch do usuário da Amazon.

  9. Escolha Próximo.

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

  10. 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).

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

  12. Escolha Próximo.

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

  14. 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 escalonamento por etapas para expansão horizontal
  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/ e escolha grupos do Auto Scaling no painel de navegação.

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

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

  3. 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 ter mais informações, consulte Definir limites de escalabilidade para seu grupo do Auto Scaling.

  4. 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).

  5. Em Tipo de política, escolha Escalabilidade de etapas e, em seguida, especifique um nome para a política.

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

  7. 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 expansão que aumente a capacidade do grupo em 30%, escolhaAdd, insira 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 (+) infinito.

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

  9. 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).

  10. (Opcional) Para aquecimento da instância, atualize o valor do aquecimento da instância conforme necessário.

  11. Escolha Criar.

AWS CLI

Para criar uma política de escalabilidade por etapas para expansão horizontal (aumentar a capacidade), você pode usar os seguintes exemplos de comandos. Substitua cada espaço reservado para entrada do usuário 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. Em seguida, você cria o alarme identificando a métrica a ser observada, definindo o limite máximo métrico e outros detalhes para os alarmes e associando o alarme à política de escalabilidade.

Etapa 1: criar uma política para expansão horizontal

Use o put-scaling-policycomando a seguir para criar uma política de escalabilidade de etapas chamadamy-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-alarmcomando 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