я использую t2.medium в качестве передних серверов в моей архитектуре.
Обычно для автомасштабирования AWS используется «Загрузка ЦП», но для t2 это немного сложно. Когда «Кредитный баланс ЦП» низкий, t2.medium «Использование ЦП» может составлять максимум 20%, поэтому автоматическое масштабирование не обнаружит предупреждения.
Есть ли способ масштабировать инстансы t2?
обновлено: пытаюсь использовать специальные метрики https://github.com/shtrihstr/cloudwatch
Следует полностью избегать инстансов T2 в сценариях, когда ваши приложения постоянно потребляют свои кредиты, именно из-за такого рода проблем с системой кредитов ЦП, предоставляемой AWS. Если ваше приложение постоянно интенсивно использует ЦП, вам лучше выбрать экземпляры C3 / C4 с одинаковым соотношением ЦП / памяти (за исключением t2.large, который эквивалентен M4.large).
Автомасштабирование работает, потому что вы предполагаете, что емкость вашего кластера согласована и пропорциональна количеству экземпляров, что может быть неверным при использовании экземпляров T2 в некоторых сценариях. Как только некоторые из ваших экземпляров ASG (не обязательно все из них, из-за разных дат запуска, событий автомасштабирования и т. Д.) Истощают свои кредиты, все метрики, которые ЭТИ ЭКЗЕМПЛЯРЫ, отправленные в Cloudwatch, ухудшают согласованность метрик ASG, делая их бесполезными. принимать правильные решения для автомасштабирования.
Мой подход заключается в масштабировании до того, как у вас закончатся ресурсы ЦП. Простой способ - определить минимально приемлемый кредитный баланс, для меня это 50.
Вы можете сделать это в CloudWatch. 'Create Alarm', EC2 Metrics-> By Auto Scaling Group.
Выберите CPUCreditBalance, минимум 50. Таким образом, я могу принять меры, когда один экземпляр может стать медленным до того, как балансировщик нагрузки удалит его из обращения, даже если средний баланс находится в допустимых пределах.
Вы можете создать уведомление или автомасштаб.