Некоторые из наших приложений требуют, чтобы они «работали большую часть времени». Они не обеспечивают полной обработки нескольких AZ и ELB для обеспечения высокой доступности.
Раздражает то, что при исчезновении одного экземпляра EC2 требуется либо ручное вмешательство для восстановления, либо использование сторонней службы, чтобы сделать то же самое.
Войдите в AutoScaling (AS).
Основной принцип AS заключается в том, что он будет гарантировать, что по крайней мере [x] экземпляров вашего AMI будут работать постоянно, заботясь о запуске (и уничтожении) экземпляров для достижения этой цели.
Это звучит как очень эффективный способ решить указанную выше проблему без необходимости использования сторонних сервисов или большого количества кода.
И все еще в этой теме у нас есть сотрудник Amazon, рекомендующий оператору выполнить аварийное переключение вручную!
Согласны ли вы, что AS кажется подходящим решением этой проблемы? У кого-нибудь был опыт использования его таким образом?
Автоматическое масштабирование звучит как очень хорошая идея. У меня похожая ситуация. У меня есть одна подруга, которой нет иметь чтобы работать в 100% случаев, для этого я использую AutoScaling только с точечными экземплярами. Я установил желаемое количество экземпляров равным 1 и включил все зоны доступности us-east-1 в мою группу AS. У меня это хорошо работает. Я видел, что помимо масштабирования с нагрузкой он переключает используемую зону доступности, когда AWS определяет, что конкретная зона перегружена.
Я думаю, что проблема заключается в том, чтобы закрепить определенный IP (эластичный IP) на вашем хосте, когда он запускается автоматически.
Учитывая вашу ситуацию, вы можете попробовать написать сценарий, который запускается при запуске, и запечь его в AMI -