Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Jakie są najlepsze praktyki konfigurowania kontroli zdrowia w globalnym akceleratorze


Jakie są najlepsze praktyki konfigurowania kontroli zdrowia w globalnym akceleratorze


Najlepsze praktyki konfigurowania kontroli zdrowia w AWS Global Accelerator koncentrują się na zapewnieniu dokładnego, bezpiecznego i wydajnego monitorowania zdrowia punktów końcowych w celu utrzymania wysokiej dostępności i optymalnego routingu ruchu. Poniżej znajdują się szczegółowe wytyczne oparte na dokumentacji AWS i powiązanych najlepszych praktykach:

Kluczowe najlepsze praktyki konfigurowania kontroli zdrowia w globalnym akceleratorze

1. Użyj odpowiednich protokołów i portów kontroli zdrowia

- Wybierz protokół kontroli zdrowia (TCP, HTTP lub HTTPS), który najlepiej odzwierciedla charakter aplikacji i zdolność punktu końcowego do reagowania. TCP kontrole zdrowia weryfikują łączność na poziomie sieci, wysyłając pakiety SYN, podczas gdy kontrole HTTP/HTTPS symulują rzeczywiste HTTP żądania punktów końcowych aplikacji [6] [9].
- Skonfiguruj port kontroli zdrowia, aby pasował do portu słuchacza w akcelerator, aby uzyskać spójność. Jeśli używasz innego portu do kontroli zdrowia, upewnij się, że reguły zapory i grupy bezpieczeństwa ograniczają dostęp tylko do zakresów IP używanych przez kontrolerów zdrowia Route 53, aby zapobiec publicznym ujawnieniu portu [1] [4].
- W przypadku instancji EC2 lub elastycznych punktów końcowych IP z słuchaczami UDP, Global Accelerator wykonuje kontrole zdrowia TCP w porcie słuchacza, więc upewnij się, że serwer TCP działa na tym porcie; W przeciwnym razie punkty końcowe będą oznaczone niezdrowe [1].

2. Zapewnij bezpieczeństwo i dostęp do kontroli zdrowia

- Zezwalaj na ruch przychodzący z adresów IP powiązanych z wysyłkami zdrowia Amazon Route 53 w konfiguracji zapory i routerów. Ma to kluczowe znaczenie dla odniesienia sukcesu kontroli zdrowia, szczególnie w przypadku instancji EC2 lub elastycznych punktów końcowych IP [1] [4].
- Podczas korzystania z portu kontroli zdrowia bez zabezpieczenia ogranicz dostęp do tego portu tylko do zakresów IP Route 53 Check, aby uniknąć zagrożeń bezpieczeństwa [1].
- Regularnie sprawdzaj i aktualizuj zasady grupy bezpieczeństwa, aby uwzględnić wszelkie zmiany w zakresie adresów IP używanych przez kontrolerów zdrowia Route 53.

3. Skonfiguruj parametry czasowe kontroli zdrowia w zamyśleniu

- Ustaw interwał kontroli zdrowia (czas między czekami) na podstawie tolerancji aplikacji na przestoje i krytyczność punktu końcowego. Krótsze przedziały wykrywają awarie szybciej, ale zwiększają obciążenie i koszty, podczas gdy dłuższe odstępy zmniejszają obciążenie, ale wykrywanie awarii opóźnienia [5].
- Skonfiguruj liczbę progów (liczba kolejnych sukcesów lub awarii przed zmianą stanu zdrowia punktu końcowego), aby zrównoważyć wrażliwość i stabilność. Wspólnym domyślnym domyślnym jest 3, który zapewnia dobry kompromis między fałszywymi pozytywami a szybkością wykrywania [1] [9].
- Użyj domyślnych wartości limitu czasu, chyba że masz określone powody, aby je dostosować. Na przykład limit czasu kontroli zdrowia TCP jest ustalany na 3 sekundy w globalnym akceleratorze [6].

4. Wyrównaj kontrole zdrowia z typami punktów końcowych

- W przypadku punktów końcowych Balancer (NLB) lub równoważenia ładunku aplikacji (ALB) skonfiguruj kontrole zdrowia samego równoważenia obciążenia, a nie w globalnym akceleratorze, ponieważ globalny akcelerator używa statusu zdrowia modułu równoważenia obciążenia w celu ustalenia zdrowia punktu końcowego [1].
- W przypadku instancji EC2 lub elastycznych adresów IP skonfiguruj kontrole zdrowia bezpośrednio w globalnym akceleratorze, określając odpowiednie porty i protokoły, które odzwierciedlają rzeczywistą dostępność usług [1].

5. Użyj znaczących ścieżek kontroli zdrowia dla HTTP/HTTPS

- Podczas korzystania z kontroli zdrowia HTTP lub HTTPS określ ścieżkę URI, która dokładnie reprezentuje zdrowie Twojego aplikacji (np. Zdecydowany punkt końcowy kontroli zdrowia, a nie na stronie głównej). Zapewnia to kontrolę zdrowia odzwierciedla gotowość na poziomie aplikacji, a nie tylko dostępność sieci [6].
- Zachowaj zwięzłe i poprawne ścieżkę URI, zaczynając od cięcia do przodu i zawierając dozwolone znaki [6].

6. Monitoruj wskaźniki kontroli zdrowia i dzienniki

- Regularnie przejrzyj wyniki kontroli zdrowia i wskaźniki CloudWatch w celu zidentyfikowania wzorców lub powtarzających się awarii. Pomaga to w proaktywnym rozwiązywaniu problemów i planowaniu zdolności [5].
- Skonfiguruj alarmy CloudWatch, aby natychmiast powiadomić swój zespół, gdy punkty końcowe stają się niezdrowe lub odzyskują, umożliwiając szybką reakcję na incydenty [5].

7. Wdrożyć strategie awaryjne i odzyskiwania

- Wykorzystaj zdolność globalnego akceleratora do prowadzenia ruchu tylko do zdrowych punktów końcowych w celu natychmiastowego przełączania awaryjnego.
- Przetestuj scenariusze awaryjne i awaryjne, aby zapewnić płynne przejścia ruchu podczas awarii punktu końcowego i odzyskiwania [5] [8].

8. Informuj kontrole zdrowia

- Okresowo przeglądaj i aktualizuj konfiguracje kontroli zdrowia w miarę ewolucji aplikacji, w tym zmian w portach, protokołach lub ścieżkach kontroli zdrowia.
- Usuń kontrole zdrowia w punktach końcowych, które nie są już używane, aby uniknąć niepotrzebnego monitorowania i potencjalnej ekspozycji na bezpieczeństwo [5].

Postępując zgodnie z tymi najlepszymi praktykami, upewniasz się, że globalne kontrole zdrowia akceleratora zapewniają dokładne, bezpieczne i terminowe informacje na temat zdrowia punktu końcowego, umożliwiając niezawodny routing ruchu i wysoką dostępność aplikacji.

Cytaty:
[1] https://docs.aws.amazon.com/global-accelerator/latest/dg/about-endpoint-groups-health-check-options.html
[2] https://aws.amazon.com/blogs/networking-and-content-delivery/best-practices-for-deploy-with-aws-global-accelerator/
[3] https://docs.aws.amazon.com/global-accelerator/latest/dg/introduction-how-it-works.html
[4] https://repost.aws/knowledge-center/global-accelerator-unhealthy-endpoints
[5] https://docs.aws.amazon.com/route53/latest/developerguide/best-practices-healthchecks.html
[6] https://www.alibabacloud.com/help/en/ga/user-guide/enable-and-manage-health-checks
[7] https://support.huaweicloud.com/intl/en-us/usermanual-ga/ga_03_5002.html
[8] https://tutorialsdojo.com/aws-global-accelerator/
[9] https://boto3.amazonaws.com/v1/documentation/api/1.16.27/reference/services/globalaclelerator.html