Czy moduł równoważenia obciążenia elastycznego AWS jest pojedynczym punktem awarii?

15

Chcę przenieść naszą aplikację na Amazon Web Services. Plan polega na dublowaniu wszystkich instancji EC2 w dwóch strefach dostępności. Ze względu na koszty transferu danych pozostaniemy w jednym regionie AWS (Oregon).

Wielu AZ pozbywa się pojedynczego punktu awarii naszych serwerów aplikacji i baz danych, ale co z ELB? Jeśli mam pojedynczy ELB dystrybuujący ruch do dwóch AZ, to czy ELB jest również hostowany na tych dwóch AZ?

Co robi Amazon, aby uniemożliwić ELB bycie SPoF?

Chris.B
źródło

Odpowiedzi:

13

W swojej istocie ELB to tylko zbiór instancji EC2. Podczas tworzenia ELB określasz strefy dostępności, w których ma się znaleźć moduł równoważenia obciążenia. W tych strefach zostaną utworzone wystąpienia tworzące moduł równoważenia obciążenia. W ten sposób unikają pojedynczego punktu awarii, zwracając wiele adresów IP podczas wyszukiwania DNS. Na przykład:

  • Wyszukiwanie DNS dla witryny.przyklad.com zwraca witrynę CNAME-elb-12345.eu-west-1.elb.amazonaws.com
  • Wyszukiwanie zwraca także informacje o witrynie internetowej www.elb-12345.eu-west-1.elb.amazonaws.com. Wskazuje, że strona ma adres IP 1.2.3.4 i adres IP 2.3.4.5

Klient decyduje, którego adresu IP użyć do nawiązania połączenia. Adresy IP nie zawsze będą zwracane w tej samej kolejności z wyszukiwania DNS. Klient może ponowić próbę na alternatywnym adresie IP, jeśli nie może połączyć się przy pierwszej próbie.

TTL w rekordach DNS dla ELB wynosi tylko 60 sekund, co oznacza, że ​​jeśli instancja ELB umrze i zostanie wymieniona, DNS zostanie zaktualizowany wszędzie dość szybko.

Richard
źródło
A zatem, skoro będę wdrażał moje instancje EC2 aplikacji w wielu strefach, kiedy utworzę ELB dla tego regionu, czy będzie on automatycznie hostowany w instancjach EC2 rozmieszczonych w tych samych dwóch strefach?
Chris.B
Podczas tworzenia ELB, czy to za pośrednictwem interfejsu API, czy konsoli, zostaniesz poproszony o wybranie stref dostępności, w których ma działać ELB. Musisz tylko wybrać te same strefy dostępności, w których będą znajdować się Twoje wystąpienia.
Richard
3

To może być SPoF, ale uważam, że byłby to SPoF tylko w tym samym regionie.

Właśnie dlatego AWS sugeruje użycie sprawdzania kondycji trasy 53 w celu wykrycia i zmiany trasy ruchu, który skończyłby się na niezdrowym ELB.

Za pomocą funkcji sprawdzania kondycji Amazon Route 53 i przełączania awaryjnego DNS można zwiększyć dostępność aplikacji działających za modułami równoważenia obciążenia elastycznego. Trasa 53 zawiedzie od modułu równoważenia obciążenia, jeśli nie ma zarejestrowanych zdrowych instancji EC2 w module równoważenia obciążenia lub jeśli sam moduł równoważenia obciążenia jest niezdrowy .

Źródło: http://aws.amazon.com/elasticloadbalancing/

Alex
źródło
Czy istnieje sposób na skonfigurowanie więcej niż jednego ELB w jednym regionie. Masz jeden jako podstawowy, a drugi jako rezerwowy? A może Route 53 może odpalić nową instancję ELB?
Chris.B
Nie sądzę, aby Route 53 mogła automatycznie skonfigurować ELB, musiałbyś zajrzeć do przewodnika dla programistów.
Alex
1

Możesz obejść swój pojedynczy AZ SPoF, tworząc grupę automatycznego skalowania, w której jeśli twój pojedynczy ELB nie spełnia współczynnika X, niezależnie od tego, czy jest to obciążenie, czas odpowiedzi itp., Tworzony jest nowy ELB. ELB są zasadniczo instancjami EC2, w których działa zastrzeżony kod AWS.

jon deane
źródło
Myślałem, że ELB skaluje się automatycznie, aby poradzić sobie ze wzrostem obciążenia itp.
Chris.B