Назад | Перейти на главную страницу

Как создать политику автомасштабирования AWS в соответствии с размером очереди SQS?

Я создаю рендер-ферму, используя SQS и группы автомасштабирования.

Я считаю, что мой вариант использования - один из немногих, когда я действительно хочу, чтобы емкость моей группы соответствовала размеру очереди, вплоть до предела.

Прямо сейчас я использую политику отслеживания цели, которая масштабируется на основе «BacklogPerInstance», то есть просто queue_size / group_capacity.

Проблема с этим подходом заключается в том, что в моем случае я хочу, чтобы BacklogPerInstance был равен 0, что является недопустимой целью для политики масштабирования. Я взломал его, используя цель 0,001, но он работает не очень хорошо.

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

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

SQS queue size | scaling policy group capacity
0              | 1
1              | 2
2              | 3
3              | 4
4              | 5
5 and above    | 6