We are independent & ad-supported. We may earn a commission for purchases made through our links.

Advertiser Disclosure

Our website is an independent, advertising-supported platform. We provide our content free of charge to our readers, and to keep it that way, we rely on revenue generated through advertisements and affiliate partnerships. This means that when you click on certain links on our site and make a purchase, we may earn a commission. Learn more.

How We Make Money

We sustain our operations through affiliate commissions and advertising. If you click on an affiliate link and make a purchase, we may receive a commission from the merchant at no additional cost to you. We also display advertisements on our website, which help generate revenue to support our work and keep our content free for readers. Our editorial team operates independently from our advertising and affiliate partnerships to ensure that our content remains unbiased and focused on providing you with the best information and recommendations based on thorough research and honest evaluations. To remain transparent, we’ve provided a list of our current affiliate partners here.

How Effective is IP Takeover at Amazon EC2?

Updated Sep 23, 2014

24 April 2008: Amazon is building a revolutionary cloud computing platform with their Electric Compute Cloud (EC2) service. The recently announced elastic IP feature dramatically expands the possibilities of EC2 as a true hosting environment.

For standard website requirements, the current implementation appears suitable, but for projects that require high-availability, there is at least one significant limitation.

We envision a load-balanced cluster wholly within EC2. The front-end of this setup would be managed by two small EC2 instances that would effectively serve as load-balancers or routers. Requests would arrive at the primary router and would be subsequently directed to the least loaded instance within the cluster. Since a single router serves as a single point of failure, at least one additional router is required for a truly highly available system. A monitor could regularly ping the primary router and if there are any problems, the secondary router should reassign the IP address to itself and take over as the primary router.

In conjunction with Amazon's Availability Zones, Such a system would not have any single-points-of-failure. To test the feasibility of this layout, we spawned two small EC2 instances and monitored the time it took for a second instance to takeover the IP address of the first. In three tests, it took on average 3 and a half minutes and never less than 3 minutes for this to occur.

We run a similar cluster in a traditional hosting environment and IP takeovers take approximately 2 seconds.

Of course the upshot of this is, that in case of failure of the primary router, there would be a theoretical downtime of up to 3.5 minutes while the secondary router is waiting for the IP to propagate. We presume that the large number of routers within Amazon's network makes quicker IP propagation a nontrivial task.

One solution would be to move the routers outside of EC2. The increased ping and latency times make this solution suboptimal.

Ideally, Amazon would offer a dedicated Load Balancing solution designed specifically for such purposes. Unless some other solution is offered, "highly available" clusters wholly within Amazon's EC2 service will not be truly highly available.

Related Articles

WiseGeek, in your inbox

Our latest articles, guides, and more, delivered daily.

WiseGeek, in your inbox

Our latest articles, guides, and more, delivered daily.