Из тех, кто управляет своими собственными кластерами (т.е. не использует / не платит за Amazon Autoscale, Rightscale, Scalr и т. Д.), Как вы управляете своими экземплярами в EC2 и обрабатываете (например) восстановление после отказа? Мне интересно, если большинство людей просто заканчивают тем, что написали свои собственные скрипты для API EC2, как я подозреваю.
Это, безусловно, наш подход: создайте наш собственный демон мониторинга / перезапуска на основе Python Boto, который работает вне сайта, прослушивая UDP-сообщения активности из наших экземпляров. В случае неудачи мы снимаем тома, регистрируем изображения, запускаем новые экземпляры, удаляем старые тома и так далее.
Время от времени, когда мы взламываем наши скрипты, я думаю, что должны быть какие-то инструменты с открытым исходным кодом, которые уже имеют дело с этими проблемами и не имеют ограничений, скажем, Scalr, но я всегда возвращаюсь из Google с пустыми руками. (Вещи, подобные Scalr, довольно ограничены в поддерживаемом наборе / версиях / конфигурациях программного обеспечения и имеют специализированные и IMO громоздкие способы манипулирования этими установками.)
Кроме того, экосистема Linux-HA / Pacemaker (Heartbeat, ldirectord и т. Д.), Похоже, на самом деле не подходит для EC2 . (Но потом я нашел это - хотя я не уверен, что это действительно качественное решение).