Из тех, кто управляет своими собственными кластерами (т.е. не использует / не платит за Amazon Autoscale, Rightscale, Scalr и т. Д.), Как вы управляете своими экземплярами в EC2 и обрабатываете (например) восстановление после отказа? Мне интересно, если большинство людей просто заканчивают тем, что написали свои собственные скрипты для API EC2, как я подозреваю.
Это, безусловно, наш подход: создайте наш собственный демон мониторинга / перезапуска на основе Python Boto, который работает вне сайта, прослушивая UDP-сообщения активности из наших экземпляров. В случае неудачи мы снимаем тома, регистрируем изображения, запускаем новые экземпляры, удаляем старые тома и так далее.
Время от времени, когда мы взламываем наши скрипты, я думаю, что должны быть какие-то инструменты с открытым исходным кодом, которые уже имеют дело с этими проблемами и не имеют ограничений, скажем, Scalr, но я всегда возвращаюсь из Google с пустыми руками. (Вещи, подобные Scalr, довольно ограничены в поддерживаемом наборе / версиях / конфигурациях программного обеспечения и имеют специализированные и IMO громоздкие способы манипулирования этими установками.)
Кроме того, экосистема Linux-HA / Pacemaker (Heartbeat, ldirectord и т. Д.), Похоже, на самом деле не подходит для EC2 . (Но потом я нашел это - хотя я не уверен, что это действительно качественное решение).
RightScale имеет несколько отличных статей о том, как автоматизировать отработку отказа на EC2. Хотя большинство из них показывают вам, как это сделать, используя сам RightScale, принципы являются общими и, вероятно, полезны для всех, кто задумывается о том, как настроить архитектуру отработки отказа в EC2.
источник
Проблемы, которые вы описываете (HA, мониторинг пользовательских серверов, сервисы «приклеивания воздуховодов»), как правило, решаются поставщиком PaaS. Rightscale и Scalr уже упоминались в предыдущем ответе, и есть дополнительные полезные опции (некоторые варианты PaaS см. Здесь:
/programming/9542784/looking-for-paas-providers-recommendations )
Вам следует подумать, какой из поставщиков наиболее точно соответствует вашим потребностям.
Уведомление: я работаю в cloudify, провайдере PaaS с открытым исходным кодом.
источник
Недавно я написал в нашем инженерном блоге сообщение о том, как использовать ELB в сочетании с автоматическим масштабированием для автоматического переключения при сбое для любого типа приложения. В нем рассказывается, как проверки работоспособности ELB можно использовать для проверки состояния вашего приложения и запуска действий автоматического масштабирования.
источник
Вы устанавливаете heartbeat на обоих серверах. Вы присоединяете Elastic IP к «активному» серверу. Вы настраиваете сценарий для переключения при отказе, инициируя запрос API для получения эластичного IP. Как только «резервный» сервер получил эластичный IP ( занимает около 30-60 секунд) может быть мастером / активным.
У меня нет подробностей, чтобы предоставить здесь.
источник
Amazon уже предоставляет Elastic Load Balancing ... Зачем изобретать велосипед?
источник