Hur effektivt är IP Takeover på Amazon EC2?

24 april 2008: Amazon bygger en revolutionerande cloud computing-plattform med sin tjänst Electric Compute Cloud (EC2). Den nyligen tillkännagivna elastiska IP-funktionen utökar dramatiskt möjligheterna för EC2 som en riktig värdmiljö.
För standardwebbplatskrav verkar den nuvarande implementeringen vara lämplig, men för projekt som kräver hög tillgänglighet finns det minst en betydande begränsning.
Vi tänker oss ett lastbalanserat kluster helt inom EC2. Fronten av den här installationen skulle hanteras av två små EC2-instanser som effektivt skulle fungera som lastbalanserare eller routrar. Förfrågningar skulle anlända till den primära routern och skulle därefter skickas till den minst laddade instansen inom klustret. Eftersom en enskild router fungerar som en enda felpunkt, krävs minst en extra router för ett verkligt högtillgängligt system. En monitor kan regelbundet pinga den primära routern och om det finns några problem bör den sekundära routern omtilldela IP-adressen till sig själv och ta över som primär router.
I samband med Amazons tillgänglighetszoner skulle ett sådant system inte ha några enstaka fel. För att testa genomförbarheten av denna layout skapade vi två små EC2-instanser och övervakade den tid det tog för en andra instans att ta över IP-adressen för den första. I tre tester tog det i genomsnitt 3 och en halv minut och aldrig mindre än 3 minuter för att detta inträffade.
Vi driver ett liknande kluster i en traditionell värdmiljö och IP-övertaganden tar cirka 2 sekunder.
Naturligtvis är resultatet av detta att i händelse av fel på den primära routern, skulle det finnas en teoretisk stilleståndstid på upp till 3.5 minuter medan den sekundära routern väntar på att IP:n ska spridas. Vi antar att det stora antalet routrar inom Amazons nätverk gör snabbare IP-spridning till en icke-trivial uppgift.
En lösning skulle vara att flytta routrarna utanför EC2. De ökade ping- och latenstiderna gör denna lösning suboptimal.
Helst skulle Amazon erbjuda en dedikerad lastbalanseringslösning utformad speciellt för sådana ändamål. Om inte någon annan lösning erbjuds kommer ”högt tillgängliga” kluster helt och hållet inom Amazons EC2-tjänst inte att vara riktigt tillgängliga.