У нас есть приложение, в котором клиенты загружают данные и документы в несколько экземпляров EC2. Мы храним закачки на томах EBS.
Иногда наше приложение дает сбой. Иногда это что-то на нашем сервере приложений, а иногда - плохое оборудование EC2.
Как я могу автоматически восстановить конкретный экземпляр? Другими словами, когда экземпляр становится недоступным более X минут, я хотел бы автоматически завершить работу экземпляра, запустить новый (возможно, на новом оборудовании) и присоединить к нему старый том EBS, чтобы данные клиента были сохранены. .
Есть ли способ настроить CloudWatch или автоматическое масштабирование для этого?
Как я могу автоматически восстановить конкретный экземпляр? Другими словами, когда экземпляр становится недоступным более X минут, я хотел бы автоматически завершить работу экземпляра, запустить новый (возможно, на новом оборудовании) и присоединить к нему старый том EBS, чтобы данные клиента были сохранены. .
это можно сделать с помощью amazon api. в основном, иметь cron, чтобы делать снимки объема ebs каждые 12 часов или около того .... затем пусть nagios проверяет хост, и после 10 сбоев или около того, пусть nagios выполнит сценарий для вызова инструментов api. тогда исполняемый сценарий nagios мог:
1) найти instanceid хоста (либо ssh'ing в host и http'ing aws meta-data, либо grep'ing ec2-describe-instance)
2) идентификатор завершения экземпляра (ec2-terminate-instance)
3) создать том из снимка (ec2-create-volume)
4) запустить новый экземпляр на основе ami (ec2-run-instance)
5) прикрепите новый том к экземпляру (ec2-attach-volume)
Инструменты api aws cli: http://aws.amazon.com/developertools/351
Однако есть и другие проблемы, такие как DNS, эластичные IP-адреса, группы безопасности, защита завершения и конфигурация службы уровня приложения, которые, возможно, потребуется решить. запустите ec2-run-instance -h для получения дополнительной помощи или посетите форумы aws api ...