Pytanie, które należy zadać, brzmi: w jaki sposób mogę ustawić HA aplikacji na AWS, a nie w jaki sposób przygotować EC2 HA. Krótka odpowiedź jest taka, że musisz poinformować AWS o tym, jak najpierw zdefiniujesz i wdrożysz aplikację.
W przypadku RDS, jest bardzo jasne, czym jest aplikacja - jest to serwer bazy danych do wyboru. Najprościej mówiąc, AWS może ustawić instancję HA RDS z domyślnymi ustawieniami bez dużego wkładu od ciebie.
Jednak w przypadku wniosku należy przekazać AWS więcej informacji. Istnieje kilka sposobów, aby to zrobić:
- utworzyć ELB z grupą instancji EC2 w różnych strefach dostępności
- stworzenia ELB z auto-scaling group który doprowadzi Cię ścieżką tworzenia AMI i launch configuration ; W tym trybie, można nawet powiedzieć ASG użyć lekarskie ELB aby określić, kiedy wystąpienie EC2 nie jest już zdrowy
- pan nie wspomniał, co aplikacja jest, ale może chcesz dostać CodeDeploy zaangażowane powiedzieć jak AWS aby wdrożyć najnowszy kod do nowo uruchomionej instancji EC2; CodeDeploy działa dobrze w połączeniu z ELB i ASG
- zamiast definiować poszczególne komponenty osobno, można je zdefiniować razem w postaci Elastic Beanstalk; to jest determinacja, którą będziesz musiał sam podjąć - czy chcesz większej elastyczności poprzez samodzielne definiowanie poszczególnych komponentów, czy możesz uprościć rzeczy i korzystać z EB?
- wreszcie, jeśli używasz Döcker i można dockerize aplikacji lub różnych składników tej samej aplikacji, AWS obsługuje EB z multi-container docker
Niezależnie od wybranej trasy zdecydować, AWS CloudFormation szablony są dobrym sposobem, aby związać wszystko razem i zdefiniuj swój stos. Jedną z zalet tego jest to, że gdy chcesz zmienić swój stos, zmienisz szablon CloudFormation, zastosujesz zmianę i pozwolisz AWS dowiedzieć się, jakie są zależności, w jakiej kolejności je zaktualizować i jak.