Jak załadować witrynę równoważenia obciążenia między GCP a AWS za pomocą Cloudflare?

Dowiedz się, jak używać systemu równoważenia obciążenia (LB) Cloudflare do dystrybucji ruchu między AWS (Amazon Web Services) i GCP (Google Cloud Platform).

Większość aplikacji internetowych wymaga lub wykonuje równoważenie obciążenia między serwerami/usługami w tym samym centrum danych.

Jeśli jednak korzystasz z aplikacji o znaczeniu krytycznym, które wymagają ciągłej dostępności na całym świecie, potrzebujesz systemu równoważenia obciążenia w chmurze.

Nie tylko dyspozycyjność, ale może to być wiele innych czynników.

Były:

  • Aktywny-pasywny lub aktywny-aktywny wymóg centrum danych
  • Plan odzyskiwania po awarii
  • Korzystanie z wielu centrów danych do obsługi żądań z najbliższej lokalizacji
  • Zgodność

Cloudflare oferuje lokalne i globalne opcje równoważenia obciążenia, które pomagają kierować ruch do wielu centrów danych.

Niektóre z funkcji Cloudflare LB to:

  • Kontrole stanu są wbudowane, dzięki czemu możesz szybko usunąć wadliwy serwer.
  • Aktywuj przełączanie awaryjne, gdy kontrola stanu nie powiedzie się
  • Zmniejsz opóźnienia, kierując ruch do najbliższego serwera
  • Poziom DNS i obsługa HTTP(S), TCP i UDP
  • Trwałość sesji, aby upewnić się, że żądanie trafia do tego samego serwera

Możesz skonfigurować całe rzeczy za pomocą pulpitu nawigacyjnego Cloudflare lub interfejsu API.

Z technicznego punktu widzenia poniższe instrukcje dotyczą równoważenia obciążenia na dowolnej platformie w chmurze, takiej jak Azure, Cyfrowy OceanAlibaba itp. Ale do demonstracji wybrałem GCP i AWS.

Szczegóły konfiguracji AWS i GCP

Udostępniłem jeden serwer na platformie GCP i AWS z następującymi elementami.

  • Zainstalowany Nginx
  • Dodano index.html z niestandardowym tekstem, aby pokazać, że strona jest obsługiwana z odpowiedniego serwera
  • Uruchomiłem Nginx, a strona jest dostępna z obu serwerów

Przejdźmy do Cloudflare, aby wdrożyć LB.

Aktywacja systemu równoważenia obciążenia Cloudflare

Mam jedną dostępną domenę (bloggerflare.com), której użyję do tego laboratorium.

Uwaga: Load balancer od Cloudflare nie jest BEZPŁATNY i cennik zaczyna się od 5 USD miesięcznie.

Zakładam, że masz już konto w Cloudflare; jeśli nie, możesz utworzyć i dodać domenę, jak wyjaśniłem w poprzednim poście.

  • Zaloguj się do Cloudflare i wybierz domenę, w której chcesz włączyć balansowanie
  • Przejdź do zakładki ruchu i włącz równoważenie obciążenia.

  • Skonfiguruj funkcje w oparciu o wymagania. Kontynuuję z minimalną konfiguracją.

Jeśli chcesz, aby żądania były przekierowywane do najbliższej lokalizacji, musisz włączyć Geo Routing.

  • Potwierdź subskrypcję i włącz ją.

Jak widać, możesz zacząć od 5 USD miesięcznie z dwoma serwerami pochodzenia i jednominutowym interwałem kontroli stanu.

Infrastruktura jest teraz tak przystępna cenowo. 5 lat temu, czy możesz sobie wyobrazić system równoważenia obciążenia w chmurze za 5 USD?

Oznacza to, że Cloudflare LB jest aktywowany i gotowy do skonfigurowania.

Tworzenie Cloudflare LB

Potwierdzenie subskrypcji i powrót do strony Ruch drogowy zajmie kilka sekund.

  • Kliknij Utwórz system równoważenia obciążenia

  • Wprowadź domenę, w której chcesz skonfigurować równoważenie.
  • Rozwiń Powinowactwo sesji i wybierz Według Cloudflare Cookie, jeśli chcesz włączyć lepkość sesji

  • Wpisz nazwę puli i jest to źródło (serwer, na który ma być przekierowywany ruch)

  • Następnie możesz skonfigurować kontrolę stanu.

Konieczna jest kontrola stanu zdrowia. Cloudflare przestanie wysyłać ruch do wadliwego źródła, gdy kontrola stanu nie powiedzie się.

  • Jeśli Twoje źródło nasłuchuje na porcie 80, możesz wybrać HTTP lub https dla portu 443.

Cloudflare pozwala również skonfigurować zaawansowane ustawienia kontroli stanu, takie jak:

  • Metoda GET lub HEAD
  • Oczekiwany kod stanu HTTP
  • Walidacja treści w treści odpowiedzi
  • Liczba prób, zanim uznają, że są zdrowe lub niezdrowe
  • Walidacja nazwy nagłówka

I na koniec zapisz konfigurację i wdróż

  • LB przeprowadzi kontrolę kondycji i za kilka sekund zobaczysz, że stan jest zdrowy.

Świetnie, oznacza to, że system równoważenia obciążenia Cloudflare jest gotowy do przyjmowania ruchu ze świata i przekazywania go do skonfigurowanych serwerów pochodzenia.

Testowanie systemu równoważenia obciążenia

Przeprowadźmy podstawowy test, aby sprawdzić, czy to działa.

  • Najpierw spróbuj uzyskać dostęp do domeny.

Wspaniały!

LB przesłał żądanie do Google Cloud VM i otrzymał odpowiedź. Widzę prośbę w Nginx.

162.158.167.174 - - [19/Dec/2017:10:25:41 +0000] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36"
  • Pozwól, że zamknę Nginx na GCP i ponownie uzyskam dostęp do strony.

  • I proszę bardzo. Żądana strona jest dostarczana z AWS.

Widzę, że LB usunął członka puli GCP.

Domyślnie adres IP Cloudflare będzie wyświetlany w dziennikach dostępu Nginx, a jeśli chcesz przywrócić adres IP klienta, możesz zapoznać się z tym przewodnikiem.

Wniosek

Wdrożenie systemu równoważenia obciążenia Cloudflare jest proste i można je uruchomić w mniej niż 15 minut. Jeśli szukasz wysokiej dostępności między wieloma centrami danych lub serwerami pochodzenia, wypróbuj to, aby zobaczyć, jak to działa.

Podobał Ci się artykuł? Co powiesz na dzielenie się ze światem?