У меня есть балансировщик нагрузки, для которого я создал группу автоматического масштабирования и конфигурацию запуска. Я создал группу автоматического масштабирования с минимальным размером 1 и максимальным размером 20. У меня есть политика масштабирования:
as-put-scaling-policy SBMScaleDownPolicy --auto-scaling-group SBMAutoScaleGroup --adjustment=-1 --type ChangeInCapacity --cooldown 300
Потом поставил будильник:
mon-put-metric-alarm SBMLowCPUAlarm --comparison-operator LessThanThreshold --evaluation-periods 1 --metric-name CPUUtilization --namespace "AWS/EC2" --period 600 --statistic Average --threshold 35 --alarm-actions arn:aws:autoscaling:us-east-1:policystuffhere:autoScalingGroupName/SBMAutoScaleGroup:policyName/SBMScaleDownPolicy --dimensions "AutoScalingGroupName=SBMAutoScaleGroup"
Когда средняя загрузка ЦП за 10 минут ниже 35, в CloudFront тревога отображается как «В состоянии тревоги», но не уменьшает количество экземпляров. Кроме того, если запущен только один экземпляр, он раскрутит другой до 2, даже если не сработает сигнализация увеличения. Похоже, что значение по умолчанию просто как-то установлено на 2. Как я могу это изменить?
Вероятная причина в том, что у вас включено несколько зон доступности, и это гарантирует, что в каждой зоне есть хотя бы 1 экземпляр.
Догадаться. Я вручную добавил первый экземпляр в балансировщик нагрузки. После удаления этого все работало, как ожидалось.
Предположительно ваша группа автоматического масштабирования SBMAutoScaleGroup не совсем настроен должным образом - вы дважды проверили результат CreateAutoScalingGroup? См. Пример 7 в разделе Пример инструментов командной строки на странице Автоматическое масштабирование с сигналами тревоги и балансировкой нагрузки для простого способа сделать это:
as-describe-auto-scaling-groups SBMAutoScaleGroup --headers
В итоговой таблице должны отображаться желаемые значения для МИН-РАЗМЕР, МИН-РАЗМЕР и ЖЕЛАТЕЛЬНАЯ МОЩНОСТЬ.
Точно так же вы можете проверить, правильно ли прикреплена политика:
as-describe-policies SBMAutoScaleGroup
В итоговой таблице должна быть указана ваша политика автоматического масштабирования. SBMScaleDownPolicy с желаемыми значениями для РЕГУЛИРОВКА, ТИП и ОСТЫВАТЬ.
Возможная причина, почему as-put-scaling-policy
возможно, не удалось, упоминается в примере 5 в разделе Пример инструментов командной строки на странице Автоматическое масштабирование с сигналами тревоги и балансировкой нагрузки, в котором подчеркивается особое требование при использовании командной строки Windows:
Если вы используете Windows, заключите параметр --adjustment в кавычки: «--adjustment = -1».