Como criar uma política de escalabilidade em etapas para expansão - Amazon EC2 Auto Scaling

Como criar uma política de escalabilidade em etapas para expansão

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 alarme do CloudWatch para o limite superior da métrica
  1. Abra o console do CloudWatch em https://console.aws.amazon.com/cloudwatch/.

  2. Se necessário, altere a região. 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 (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.

  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 Configuração da forma como os alarmes do CloudWatch tratam dados ausentes no Manual do usuário do Amazon CloudWatch.

  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 você parou depois de criar o modelo de execução.

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/ 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 obter 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. Para Tipo de política, escolha Escala por etapas e especifique um nome para a política.

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

  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 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 (+) 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) Em Aquecimento das instâncias, atualize o valor de aquecimento de instância conforme necessário.

  11. 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 espaço reservado para entrada do usuário por suas próprias informações.

Ao usar o AWS CLI, você primeiro cria uma política de escala por etapas que fornece instruções para o Amazon EC2 Auto Scaling sobre como aumentar a escala horizontalmente quando o valor de uma métrica estiver 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 seguinte comando put-scaling-policy para criar uma política de escalabilidade em etapas chamada my-step-scale-out-policy, com um tipo de ajuste PercentChangeInCapacity que aumenta a capacidade do grupo com base nos seguintes ajustes em etapas (supondo um limite de alarme do CloudWatch 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 disso para criar um alarme do CloudWatch 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 uma alarme do CloudWatch para o limite superior da métrica

Use o seguinte comando do CloudWatch put-metric-alarm para criar um alarme que aumenta o tamanho do grupo do Auto Scaling com base em um valor limite médio de CPU de 60% 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-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