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.
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/
źródło
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.
źródło