I asked a similar question at the ec2ubuntu, but then realised it's more of a general server scalability/redundancy question.
Basically, I have a single Amazon EC2 instance running one of the Ubuntu AMIs. It's installed with a basic LAMP stack, acting as a db/webserver in one.
Now, I was wondering what's the best way of setting this up with some degree of redundancy, basically so that if the instance dies, we can spin up a new instance, mount the same EBS volume, and be on our merry way. There probably will be some minimal downtime as we wait for the new instance to spin up. Later down the track, we probably will want to make it more elastic, and have it scale upwards to cope with new loads.
I've had it suggested that I can use ELB (Elastic Load Balancing) and Autoscaling to set something like this up (this is just for the replacement instances), however, I'm not sure how it'll work with only a single server instance?
Also, are there any alternate solutions, that don't depend on ELB/Autoscaling, or is that my best option for this setup? (From what I gather, scalr and Rightscale are designed around pools - I only want a single, fairly low-key setup, and I'm willing to tolerate a few minutes of downtime while we wait for the replacement instance to spin up.)