Como soluciono problemas de escalabilidade no ajuste de escala automático de aplicações?
Meu alvo dimensionável não segue uma política de escalabilidade dinâmica ou uma ação programada no AWS Application Auto Scaling.
Resolução
Observação: se você receber mensagens de erro ao executar comandos da AWS Command Line Interface (AWS CLI), consulte Solução de problemas da AWS CLI. Além disso, verifique se você está usando a versão mais recente da AWS CLI.
Solucione problemas de recursos que não seguem uma política de escalabilidade dinâmica
Certifique-se de que você configurou corretamente seu alarme do CloudWatch
Crie um alarme do Amazon CloudWatch para a métrica correta com base no serviço da AWS que você usa. Você também deve ativar a ação de alarme no alarme do CloudWatch que você associou à sua política de escalabilidade.
Para verificar sua configuração de alarme do CloudWatch, execute o seguinte comando describe-alarms da AWS CLI:
aws cloudwatch describe-alarms --alarm-names example-alarm
Observação: substitua example-alarm pelo nome do seu alarme.
Na saída, verifique se ActionsEnabled é true. Além disso, verifique os valores de Namespace, MetricName e Dimensions para garantir que você tenha configurado o alarme para a métrica correta.
Ou conclua as etapas a seguir para verificar sua configuração de alarme do CloudWatch no console do CloudWatch:
- Abra o console do CloudWatch.
- No painel de navegação, clique em Alarmes e depois em Todos os alarmes.
- Certifique-se de que os alarmes Ocultar ajuste de escala automático estejam desativados.
- Em Detalhes, verifique se o alarme usa a métrica correta.
- Clique na guia Ações e, em seguida, verifique a observação Ações desativadas.
Para ativar uma ação de alarme, execute o seguinte comando enable-alarm-actions:
aws cloudwatch enable-alarm-actions --alarm-names example-alarm
Observação: substitua example-alarm pelo nome do seu alarme.
Para criar um alarme para a métrica correta, consulte Etapa 3: criar um alarme que invoca uma política de escalabilidade ou Etapa 2: Criar uma política de escalabilidade com monitoramento do objetivo. Para ver uma lista de exemplos de métricas para as quais é possível criar alarmes, consulte CloudWatch metrics for monitoring resource usage (Métricas do CloudWatch para monitorar o uso de recursos).
Certifique-se de que você ativou as atividades de escalabilidade em seu destino
Verifique se as atividades de escalabilidade do seu destino estão suspensas. Se elas estiverem suspensas, recomece-as.
Para analisar suas atividades de escalabilidade, execute o seguinte comando describe-scaling-activities:
aws application-autoscaling describe-scaling-activities --include-not-scaled-activities --service-namespace example-service-namespace --scalable-dimension example-scalable-dimension --resource-id example-resource-id
Observação: substitua example-service-namespace pelo namespace do serviço da AWS que fornece o recurso, example-scalable-dimension pela dimensão dimensionável e example-resource-id pelo ID do recurso.
Na saída, verifique o valor de NotScaledReasons. Se for AlreadyAtMaxCapacity, seu alvo dimensionável já atingiu sua capacidade máxima. Se for AlreadyAtDesiredCapacity, a política de escalabilidade pode não ser escalada, mesmo que você tenha ativado o alarme do CloudWatch. Para obter mais informações, consulte Códigos de motivo.
Observação: se a escalabilidade não ocorreu várias vezes pelo mesmo código de motivo, verifique o valor anterior de NotScaledReasons. A saída não mostra valores duplicados.
Verifique as atividades de escalabilidade ativas que ocorrem durante os períodos de espera da política de escalabilidade por etapas ou os períodos de espera da política de escalabilidade de monitoramento de alvo. O ajuste de escala automático de aplicações não reduz a escala horizontalmente durante os períodos de espera. Se um aumento horizontal de escala for maior do que uma ação de escalabilidade que está em andamento ou em espera, o ajuste de escala automático de aplicações aumenta a escala horizontalmente durante a atividade.
Certifique-se de que você não tenha políticas de escalabilidade concorrentes
Para analisar suas políticas de escalabilidade, execute o seguinte comando describe-scaling-policies:
aws application-autoscaling describe-scaling-policies --service-namespace example-service-namespace --scalable-dimension example-scalable-dimension --resource-id example-resource-id
Observação: substitua example-service-namespace pelo namespace do serviço da AWS que fornece o recurso, example-scalable-dimension pela dimensão dimensionável e example-resource-id pelo ID do recurso.
Na saída, verifique se você tem várias políticas. Se duas políticas forem ativadas ao mesmo tempo, o ajuste de escala automático de aplicações usa a política com maior efeito. Por exemplo, se uma política adiciona dois recursos e outra adiciona cinco, o ajuste de escala automático de aplicações adiciona cinco recursos. Não é possível usar o comando describe-scaling-activities para verificar várias políticas.
Se você usar uma política de escalabilidade de monitoramento de alvo, certifique-se também de que o parâmetro DisableScaleIn seja False para ativar a redução horizontal da escala. Por padrão, o valor do parâmetro é False.
Se DisableScaleIn for True, atualize o arquivo JSON da política de escalabilidade para definir DisableScaleIn como False. Em seguida, execute o seguinte comando put-scaling-policy para aplicar suas alterações:
aws application-autoscaling put-scaling-policy \ --service-namespace example-service-namespace --scalable-dimension example-scalable-dimension --resource-id example-resource-id --policy-name example-name --policy-type TargetTrackingScaling --target-tracking-scaling-policy-configuration file://example.json
Observação: substitua example-service-namespace pelo namespace do serviço da AWS que fornece o recurso, example-scalable-dimension pela dimensão dimensionável e example-resource-id pelo ID do recurso. Além disso, substitua example-name pelo nome da política e example.json pelo arquivo JSON da política de escalabilidade.
Solucione problemas de um alvo dimensionável que não responde a uma ação agendada
Verifique se você configurou um fuso horário para a ação agendada. Por padrão, as ações agendadas estão no fuso horário UTC+0. Se você definir um fuso horário, execute o seguinte comando describe-scheduled-actions para verificar se a ação é executada com base nesse fuso horário:
aws application-autoscaling describe-scheduled-actions \ --service-namespace example-service-namespace --resource-id example-resource-id --scheduled-action-names example-name
Observação: substitua example-namespace pelo namespace do serviço da AWS que fornece o recurso, example-resource-id pelo ID do recurso e example-name pelo nome da ação.
Além disso, verifique a saída do comando anterior para identificar se você especificou um StartTime. Se você especificar um valor de StartTime, o ajuste de escala automático de aplicações ativa primeiro a ação agendada naquele momento. Após a hora de início especificada, o ajuste de escala automático de aplicações ativa a atividade agendada com base na expressão cron ou rate que você especificar.
Para verificar se há atividades de escalabilidade que entram em conflito com sua ação agendada no histórico de atividades do alvo dimensionável, execute o seguinte comando describe-scaling-activities:
aws application-autoscaling describe-scaling-activities --include-not-scaled-activities --service-namespace example-service-namespace --scalable-dimension example-scalable-dimension --resource-id example-resource-id
Observação: substitua example-service-namespace pelo namespace do serviço da AWS que fornece o recurso, example-scalable-dimension pela dimensão dimensionável e example-resource-id pelo identificador do recurso.
Se você agendou ações de aumento e redução horizontais de escala, verifique se você agendou uma ação para aumento horizontal de escala e outra ação para redução horizontal de escala. Não é possível usar a mesma ação agendada para reduzir e aumentar a escala horizontalmente.
Informações relacionadas
Como solucionar problemas de escalabilidade com meu grupo do Amazon EC2 Auto Scaling?
- Tópicos
- Management & Governance
- Idioma
- Português

Conteúdo relevante
AWS OFICIALAtualizada há um ano