Есть ли способ масштабирования в «экземпляре» (часть ASG) по определенной пользовательской метрике? - PullRequest
0 голосов
/ 07 февраля 2019

Я использую AutoScalingGroup для запуска группы экземпляров EC2.Эти экземпляры действуют как работники, которые постоянно прослушивают SQS для любого нового запроса.

Требование : повышать масштаб до уровня пропускной способности (т. Е. Общего количества присутствующих сообщенийв SQS по общему количеству экземпляров).

И я хочу уменьшить масштаб, когда любой экземпляр, являющийся частью ASG, бездействует (CPUIdle), скажем, более 15 минут.

Примечание : я неищет любую метрику, которая применяется в целом к ​​конкретной ASG (например: средняя загрузка ЦП).

Одним из способов сделать это может быть определение пользовательской метрики и предоставление ей возможности активировать тревогу в облачных часах. Есть ли лучший способ сделать это?

1 Ответ

0 голосов
/ 07 февраля 2019

Если вы определяете политику масштабирования на уровне экземпляра, то вы побеждаете все цели ASG.Если вам необходимо масштабировать на основе изменяющихся условий, таких как размер очереди, то вы можете настроить ASG на основе указанных здесь условий

https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-using-sqs-queue.html

Настраиваемая метрика для отправкив Amazon CloudWatch, который измеряет количество сообщений в очереди на экземпляр EC2 в группе автоматического масштабирования.

Политика отслеживания целей, которая настраивает вашу группу автоматического масштабирования для масштабирования на основе> пользовательского показателя и заданного целевого значения,Аварийные сигналы CloudWatch вызывают политику масштабирования.

Если вы знаете конкретное временное окно, когда размер очереди увеличивается или уменьшается, вы также можете масштабировать по расписанию.

Вы всегда можете начать с очень низкого количества экземпляров в ASG и установить требуемую емкость как таковую (скажем, 1) и увеличить масштаб в зависимости от очереди, чтобы вы могли продолжать использовать политики ASG.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...