Мы определили базовую метрику, согласно которой серверы в нашей ASG могут обрабатывать около 1000 запросов в минуту.
Учитывая эту информацию, мы хотели бы иметь возможность контролировать масштабирование нашей ASG на основе метрики RequestCount в ELB. Мы бы хотели сделать что-то вроде:
Количество серверов для запуска = (RequestCount / 1000) + несколько дополнительных серверов для "заполнения"
В основном посмотрите, сколько серверов мы должны запустить, учитывая нашу оценку запросов в минуту, которые каждый может запускать, а затем, возможно, добавьте еще несколько, чтобы лучше справляться с меньшими всплесками.
Однако я не вижу, как это сделать с помощью правил масштабирования AWS. Кажется, что нам нужно подать сигнал тревоги, но поскольку мы хотим динамически масштабировать его в зависимости от значения, на самом деле нет порога, который мы могли бы установить, когда сигнал должен «сработать».
Есть ли способ сделать такое масштабирование «из коробки» с помощью основных инструментов и пользовательского интерфейса AWS, или для этого нам понадобится какой-то другой инструмент или сервис?
Вы можете создать настраиваемую метрику облачного наблюдения для мониторинга подключений, создать сигнал тревоги на основе этой настраиваемой метрики, а затем основывать автоматическое масштабирование на этом сигнале тревоги.
Создание пользовательских метрик Cloudwatch
Или вы можете использовать метрику ELB ActiveConnectionCount в облачных наблюдениях, создать сигнал тревоги, отредактировать политику масштабирования и выбрать этот сигнал тревоги метрики.
https://docs.aws.amazon.com/autoscaling/latest/userguide/policy-updating-console.html
https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/elb-metricscollected.html