Короткий ответ
Авто-масштабирование автоматически изменяет число запущенных инстансов в зависимости от текущей нагрузки или расписания, чтобы приложение выдерживало пики без постоянного содержания избыточных мощностей и без ручного вмешательства оператора.
Как это работает подробнее
группа авто-масштабирования следит за метрикой (например, средняя загрузка CPU) и, когда та выходит за пороги, запускает новые инстансы по шаблону или останавливает лишние, подключая/отключая их от балансировщика автоматически.
Пример кода
example.txt
Auto Scaling Group web-asg:
min=2, desired=2, max=10
Scaling policy: target CPU utilization = 60%Что использовать на практике
- Рекомендация. задают минимальное и максимальное число инстансов и целевую метрику; минимум обеспечивает базовую отказоустойчивость, максимум ограничивает расходы при аномальном всплеске.
- Проверка. при росте среднего CPU выше 60% группа постепенно добавляет инстансы до max=10, а при снижении нагрузки — уменьшает их число обратно до min=2.
Подводные камни
- Риск. не задавать верхний предел и получить неожиданно большой счёт при баге, вызывающем бесконечный рост нагрузки
- Риск. использовать слишком «нервный» порог масштабирования, из-за чего группа постоянно колеблется
- Риск. забывать, что новый инстанс не сразу готов принимать трафик.