Are there any AWS or third-party services that can monitor a number of EC2 instances and restart them should one terminate unexpectedly?
Are there any AWS or third-party services that can monitor a number of EC2 instances and restart them should one terminate unexpectedly?
Rightscale does this. I believe generally speaking though you need to detect and script this from your other (still alive) instances.
Generally speaking, you should look for cloud management softwares. They offer automation tools that allows you to launch a new instance automatically if another node terminates unexpectedly. More precisely, if they detect a server failure, they'll resolve it by replacing it with a fresh copy or by restarting critical services. If it happens to one of your databases, a slave will be promoted master and mounted storage will be switched if needed. Cloud management softwares are built on top of IaaS like Amazon EC2 and Rackspace. The features previously described are made thanks to complex API calls.
There are plenty cloud management software available. RightScale, which was mentioned earlier, is one of them. I'll add Scalr to the list (disclaimer: I work there). Scalr is released under the Apache 2 license. I hope this helps.