How can I recover a particular instance automatically? In other words, when an instance becomes unavailable for more than X minutes, I'd like to terminate the instance automatically, start a new one (possibly on new hardware), and attach the old EBS volume to it so the customer's data is preserved.
isso pode ser feito usando a API amazon. Basicamente, ter um cron para tirar instantâneos do volume ebs a cada 12 horas ou mais .... então tem nagios verificar o host, e em 10 falhas ou mais, tem nagios executar um script para chamar as ferramentas de API. o script nagios executado poderia então:
1) localize instanceid do host (seja por ssh'ing no host e http'ing aws meta-data, ou grep'ing ec2-describe-instance)
2) termine o id da instância (ec2-terminate-instance)
3) criar volume a partir do instantâneo (ec2-create-volume)
4) lançar nova instância com base em ami (ec2-run-instance)
5) anexar novo volume à instância (ec2-attach-volume)
ferramentas aws cli api: link
No entanto, existem outros problemas, como dns, ips elásticos, grupos de segurança, proteção de finalização e configuração do serviço de camada de aplicativo que talvez precisem ser resolvidos. execute ec2-run-instance -h para mais ajuda, ou visite fóruns aws api ...