2

Some of our apps have a requirement that they "work most of the time". They don't the full multi-AZ & ELB treatment for high availability.

The irritating thing with EC2 is that, when a single instance disappears, it requires either manual intervention to restore, or use of a 3rd party service to do the same.

Enter AutoScaling (AS).

The basic tenet of AS is that it will ensure than at least [x] instances of your AMI are running at all times - taking care of launching (and killing) instances to meet that target.

Which sounds like a very effective way to solve the above problem without needing 3rd party services or wrangling much code.

And yet in this thread we have an Amazon employee recommending the OP conduct their failover manually!

Would you agree that AS seems to be an appropriate solution to this problem? Anyone had any experience using it in this manner?

Socio
  • 150
  • 1
  • 7

2 Answers2

2

AutoScaling sounds like a very good idea. I have a similar situation. I have one ami, which doesn't have to be up 100 percent of the time, for this, I use AutoScaling with spot instances only. I set the desired number of instances to 1 and included all the us-east-1 availability zones in my AS group. It has been working well for me. In addition to scaling up with load, I've seen it switch the used availability zone when AWS determines that the particular zone is overloaded.

Edwin
  • 1,041
  • 7
  • 17
0

I think the sticky point is to pin a particular IP (elastic IP) to your host when it is launched automatically.

Given your situation, you can try writing a script which runs at startup and baking it into the AMI -

  1. Using elastic IP - to re-assigns the particular elastic IP from any running machine (if any) and assigns it to itself.
  2. Using DNS - which updates your A or C record to the instances IP/Host name. Route 53 has an API, not sure if your DNS host provides one.
  • Well, yeah. And given that these are both fairly trivial, they don't seem to be especially sticky. – Socio Oct 30 '12 at 16:21