Z ludzi zarządzających własnymi klastrami (tj. Nie używających / nie płacących za Amazon Autoscale, Rightscale, Scalr itp.), W jaki sposób zarządzasz swoimi instancjami na EC2 i radzisz sobie (np.) Z przełączaniem awaryjnym? Zastanawiam się, czy większość ludzi kończy pisanie własnych skryptów przeciwko interfejsowi API EC2, jak podejrzewam.
Takie jest z pewnością nasze podejście: zbuduj własnego demona monitorowania / restartowania opartego na Python Boto, który działa poza witryną, nasłuchując zachowań UDP z naszych instancji. W przypadku awarii wykonujemy migawki woluminów, rejestrujemy obrazy, uruchamiamy nowe wystąpienia, usuwamy stare woluminy i tak dalej.
Za każdym razem, gdy hakujemy nasze skrypty, myślę, że muszą istnieć narzędzia open source, które już rozwiązują te problemy i które nie mają ograniczeń (powiedzmy) Scalr, ale zawsze wracam z Google z pustymi rękami. (Rzeczy takie jak Scalr są dość ograniczone w obsługiwanym zestawie / wersjach / konfiguracjach oprogramowania i mają wyspecjalizowane i IMO kłopotliwe sposoby manipulowania tymi ustawieniami.)
Ponadto ekosystem Linux-HA / Pacemaker (Heartbeat, ldirectord itp.) Brzmi, jakby nie był tak naprawdę odpowiedni dla EC2 . (Ale potem znalazłem to - choć nie jestem pewien, że to naprawdę rozwiązanie wysokiej jakości).
RightScale zawiera kilka świetnych artykułów na temat automatyzacji przełączania awaryjnego na EC2. Podczas gdy większość z nich pokazuje, jak to zrobić za pomocą samej RightScale, zasady są ogólne i prawdopodobnie są pomocne dla każdego, kto myśli o tym, jak skonfigurować architekturę przełączania awaryjnego na EC2.
źródło
Opisane przez Ciebie problemy (HA, monitorowanie niestandardowych serwerów, usługi „tapingu”) są zazwyczaj obsługiwane przez dostawcę PaaS. Skale praw i Skalr zostały już wspomniane w poprzedniej odpowiedzi i istnieją dodatkowe dobre opcje (zobacz tutaj kilka opcji PaaS:
/programming/9542784/looking-for-paas-providers-recommendations )
Zastanów się, który z dostawców najlepiej odpowiada potrzebom.
Termin powiadomienia: Pracuję dla cloudify, dostawcy PaaS typu open source.
źródło
Niedawno napisałem post na naszym blogu inżynieryjnym o tym, jak używać ELB w połączeniu z Auto Scaling, aby osiągnąć automatyczne przełączanie awaryjne dla dowolnej aplikacji. Obejmuje to, w jaki sposób można użyć kontroli poprawności ELB do pingowania stanu aplikacji i wyzwalania akcji automatycznego skalowania.
źródło
Instalujesz puls na obu serwerach. Podłączasz elastyczny adres IP do „aktywnego” serwera. Skonfigurujesz skrypt, aby wykonać przełączenie awaryjne, inicjując żądanie interfejsu API w celu uzyskania elastycznego adresu IP. Gdy tylko serwer „rezerwowy” uzyska elastyczny adres IP ( zajmuje około 30-60 sekund) może być master / active.
Nie mam tu konkretnych szczegółów.
źródło
Amazon już zapewnia Elastyczne równoważenie obciążenia ... Po co wymyślać koło?
źródło