# Dodawanie domeny - tryb zaawansowany

Zaawansowana konfiguracja usługi OTM pozwala na osiągnięcie stanu działania infrastruktury, w ramach którego Twoja aplikacja będzie przygotowana na nagłe obciążenie ruchem sieciowym, awarię lub prace związane z jej utrzymaniem. Wyróżniamy dwa tryby pracy: manualny i automatyczny. W tym artykule dowiesz się, jak z nich korzystać.

# Tryb manualny

To tryb, w ramach którego możesz zdefiniować rekord w domenie (np. www w domenie test.example) oraz przypisać do tego rekordu wiele adresów IP serwerów. Możesz określić, które z tych serwerów mają obsługiwać ruch bieżący (rola Active), które mają pełnić rolę serwerów zapasowych (rola Hotspare) oraz które mają pełnić funkcję serwerów Backup. Przełączenia ruchu od klientów pomiędzy tymi serwerami oraz poszczególnymi grupami możliwe jest wyłącznie ręcznie poprzez wykonanie akcji w panelu administratora, bądź wywołanie odpowiedniej metody w API.

Przykładowa konfiguracja może wyglądać następująco:

  1. Naciśnij przycisk Dodaj rekord lub kliknij już istniejący rekord.
  2. Ustaw odpowiedni TTL (na początek spróbuj z wartością 10).
  3. Wybierz typ rekordu oraz jego nazwę (np. www).
  4. Nie wypełniaj pola Wartość rekordu.
  5. Przełącz przycisk Ustawienia zaawansowane.
  6. Ustaw w Politykach grup we wszystkich zdaniach logicznych wartość na Manualnie.
  7. Zdefiniuj dla poszczególnych grup serwerów (GŁÓWNE | ZAPASOWE) serwery w roli AKTYWNY i - jeśli potrzebujesz - to także serwery w roli HOTSPARE. Uzupełnij adresy IP w kolumnie Wartość.

W powyższym przykładzie wszystkie trzy serwery są włączone (kolumna Włączony) i aktywne, tj. obsługują ruch klientów (zielony kolor tła). Kolumna Online wskazuje błąd lub brak statusu monitora. Sprawdź, jak przy takim ustawieniu odpowiada usługa OTM na zapytanie o rekord www.test.example (opens new window). Odpowiedź powinna być podobna do slajdu poniżej. Zwróć uwagę na liczbę serwerów i sprawdź, czy lista odpowiada serwerom, które zdefiniowałeś.

Możesz też wyłączyć jeden z serwerów, przesuwając włącznik w kolumnie Włączony/Healthcheck.

Wówczas usługa OTM po kilku sekundach zmieni odpowiedzi dla rekordu www.test.example (opens new window) na następujący.

Będzie to oznaczało, że klienci od tej pory nie będą kierowani do serwera o przykładowym adresie 2.2.2.2.

Jeśli do testu użyjesz adresu dns1.oktawve.com lub dns2.oktawave.com, to prawidłowy wynik powinieneś zobaczyć od razu. Jeśli jednak używasz swoich lokalnych serwerów DNS, wówczas prawidłowy wynik zobaczysz po upłynięciu czasu zdefiniowanego w TTL.

Kolejność adresów IP zwracanych w odpowiedzi jest rotowana w celu optymalizacji dystrybucji ruchu od klientów do serwerów.

Pełne spektrum konfiguracji w trybie manualnym obrazuje poniższy slajd. W ramach niej w grupie serwerów głównych funkcjonują dwa serwery w roli AKTYWNY, jeden serwer w roli HOTSPARE oraz zdefiniowana jest grupa serwerów zapasowych z dwoma serwerami. Przełączanie pomiędzy serwerami i grupami można wykonać ręcznie, bądź za pomocą API. Wyłączony jest mechanizm monitorowania. Odpowiedź usługi OTM jest analogiczna jak na slajdzie powyżej.

# Tryb automatyczny

Jest to tryb, w ramach którego możesz zdefiniować rekord w domenie (np. www w domenie test.example) oraz przypisać do tego rekordu wiele adresów IP serwerów. Możesz określić, które z tych serwerów mają obsługiwać ruch bieżący (rola AKTYWNY), które mają pełnić rolę serwerów nadmiarowych (rola HOTSPARE) oraz które mają pełnić funkcję serwerów zapasowych (grupa serwerów zapasowych).

Przełączenia ruchu od klientów pomiędzy tymi serwerami oraz poszczególnymi grupami możliwe jest w sposób automatyczny lub półautomatyczny na bazie raportu stanu poszczególnych serwerów.

W trakcie definiowania trybu automatycznego należy przeprowadzić co najmniej trzy podstawowe czynności, tj.

  1. dla wybranego rekordu zdeklarować dopasowaną do potrzeb liczbę serwerów (rola AKTYWNY oraz HOTSPARE) w grupach serwerów podstawowych oraz zapasowych (analogicznie jak dla typu manualnego),
  2. zdefiniować polityki zachowania grup i funkcjonujących w ramach grup serwerów,
  3. zdefiniować Monitory / Healtchecki i przypisać je odpowiednim serwerom wcześniej zdefiniowanym w ramach grup.

Reguły trybów automatycznych dzielą się na:

  • reguły funkcjonujące w ramach serwerów zdefiniowanych wewnątrz grupy serwerów głównych,
  • oraz na reguły zarządzające całymi grupami.

# Reguły wewnątrz grupy serwerów głównych

Pierwsza regułą jest Przełącz automatycznie serwer główny aktywny na serwer hotspare jeżeli serwer aktywny nie działa. W przypadku wystąpienia awarii jednego lub wielu serwerów z rolą AKTYWY w grupie serwerów głównych, reguła powoduje zastąpienie ich jednym lub wieloma serwerami z rolą HOTSPARE (w relacji 1:1).

Drugą regułą w grupie głównej jest Przełącz automatycznie serwer główny hotspare na serwer aktywny poprzez włączenie serwera aktywnego. W przypadku wykrycia usunięcia awarii lub powrotu do prawidłowego działania jednego bądź wielu serwerów w roli AKTYWNY, reguła powoduje zastąpienie serwerów HOTSPARE ponownie działającymi serwerami z rolą AKTYWNY.

Jeśli chcesz skonfigurować swoje środowisko w taki sposób, aby po usunięci awarii serwery AKTYWNE nie przejęły ponownie funkcji obsługi ruchu podstawowego (nie zastąpiły serwerów HOTSPARE), ustaw tę regułę na MANUALNIE. To rozwiązanie jest przydane, jeśli chcesz wcześniej ręcznie sprawdzić, czy awaria faktycznie została usunięta. W takim przypadku po wykryciu awarii i zastąpieniu serwera AKTYWNY przez serwer HOTSPARE, nie nastąpi automatyczny powrót.

# Reguły dla całych grup

Pierwszą regułą jest tutaj Przełącz automatycznie z serwerów głównych na serwery zapasowe. Jeśli nastąpi awaria wszystkich serwerów w grupie serwerów głównych, tj. wykryto awarię na wszystkich serwerach w roli AKTYWNY oraz HOTSPARE (a więc nie istnieje żaden serwer prawidłowo zgłaszający swój stan do Monitora/Healtchecka), wówczas cały ruch klientów automatycznie zostanie przekierowany na serwery w grupie zapasowej.

Jeśli ustawisz tę regułę w tryb MANUALNIE, wówczas nawet po awarii wszystkich serwerów z grupy głównej, nie nastąpi przełączenie na grupę zapasową. W takiej konfiguracji przełączenie na grupę zapasową wymaga zalogowania się do panelu administracyjnego i przełączenia grup przez przycisk Aktywuj ręcznie lub poprzez wywołanie odpowiedniej metody w API.

Możesz wykorzystać tę funkcjonalność, uruchamiając np. zapasowe środowisko w innym centrum danych. W przypadku wystąpienia takiego zdarzenia Twoi klienci zostaną do niego skierowani. W drugim centrum danych możesz mieć uruchomioną kopię swojej aplikacji bądź jej uproszczoną wersję, np. z informacją o awarii lub informacją o tym, jak skontaktować się z Twoją firmą.

Drugą regułą jest Przełącz manualnie z serwerów zapasowych na serwery główne. Analogicznie jak w poprzedniej regule, w przypadku wykrycia przynajmniej jednego prawidłowo działającego serwera w grupie głównej (usunięcie awarii) ruch zostanie przełączony automatycznie na grupę główną. Jeśli nie chcesz, aby takie przełączenie zostało wykonane automatycznie, ustaw tę regułę w tryb MANUALNIE. W takim scenariuszu do grupy zapasowej będą kierowani Twoi klienci do czasu, aż ręcznie nie aktywujesz grupy głównej.

Możesz wykorzystać tryb MANUALNY w tej regule, jeśli przed przełączeniem ponownie na grupę główną planujesz wykonać działania diagnostycznie, lub chcesz wykonać różne czynności administracyjne (np. sprawdzić spójność danych w bazach danych, aktualność danych, etc.) usuwające efekty awarii w grupie głównej.

Automatyczne przełączenie pomiędzy grupy główną na grupę zapasową możliwe jest wyłącznie wtedy, gdy żaden z serwerów w grupie głównej nie zgłasza prawidłowego stanu (Healtcheck zgłasza błąd). W założeniu relacja pomiędzy grupą główną a zapasową jest relacją MASTER/BACKUP, tj. serwery zapasowe nie mogą pracować równolegle z serwerami głównymi (np. utrzymują uproszczoną wersję Twojej strony/aplikacji, bądź nie posiadają aktualnych danych). Konfiguracja MASTER/MASTER (dual-active) możliwa jest wyłącznie w obrębie grupy głównej pomiędzy serwerami z rolą AKTYWNY i HOTSPARE. Jeśli architektura danych Twojej aplikacji na to pozwala, możesz np. serwery aktywne umieścić w jednym centrum danych, serwery hotspare w drugim centrum danych. Jeśli dodatkowo zdefiniujesz grupę zapasową to w przypadku wykrycia awarii obu centrów danych obsługujących grupę główną cały ruch zostanie skierowany do trzeciego centrum danych, w którym zlokalizowana będzie np. starsza/uproszczona wersja Twojej strony.