Jak načíst balanční web mezi GCP a AWS pomocí Cloudflare?

Přečtěte si, jak můžete pomocí Cloudflare load balancer (LB) distribuovat provoz mezi AWS (Amazon Web Services) a GCP (Google Cloud Platform).

Většina webových aplikací vyžaduje nebo provádí vyvážení zátěže mezi servery/službami ve stejném datovém centru.

Pokud však provozujete kritické aplikace, kde je po celém světě neustále potřeba dostupnost, pak potřebujete nástroj pro vyrovnávání zatížení cloudu.

Nejen doba provozuschopnosti, ale může to být mnoho dalších faktorů.

Příklad:

  • Požadavek aktivního-pasivního nebo aktivního-aktivního datového centra
  • Plán obnovy po katastrofě
  • Využití výhod více datových center pro obsluhu požadavků z nejbližšího místa
  • Dodržování

mračna nabízí místní a globální možnosti vyrovnávání zátěže, které pomáhají směrovat provoz do více datových center.

Některé z funkcí Cloudflare LB jsou:

  • Kontroly stavu jsou vestavěné, takže můžete rychle odstranit vadný server.
  • Spustit převzetí služeb při selhání, když kontrola stavu selže
  • Snižte latenci směrováním provozu na nejbližší server
  • Úroveň DNS a podpora HTTP(S), TCP a UDP
  • Lepkavost relace, aby se zajistilo, že požadavek půjde na stejný server

Celé věci můžete nakonfigurovat buď prostřednictvím řídicího panelu Cloudflare nebo API.

  Jak automaticky organizovat aplikace Gnome do složek aplikací pomocí nástroje App Fixer

Technicky se následující pokyny vztahují na vyvážení zatížení na jakékoli cloudové platformě, jako je Azure, DigitalOceanAlibaba atd. Ale pro ukázku jsem zvolil GCP a AWS.

Podrobnosti o nastavení AWS a GCP

Zřídil jsem jeden server na platformě GCP a AWS s následujícím.

  • Nainstalovaný Nginx
  • Přidán index.html s vlastním textem, který ukazuje, že stránka je obsluhována z příslušného serveru
  • Spustil Nginx a stránka je přístupná z obou serverů

Přesuňme se do Cloudflare, abychom implementovali LB.

Aktivace Cloudflare Load Balancer

Mám jednu dostupnou doménu (bloggerflare.com), kterou použiji pro tuto laboratoř.

Poznámka: Load balancer od Cloudflare není ZDARMA a stanovení cen začíná na 5 dolarech měsíčně.

Předpokládám, že již máte účet u Cloudflare; pokud ne, můžete vytvořit a přidat doménu, jak jsem vysvětlil v předchozím příspěvku.

  • Přihlaste se do Cloudflare a vyberte doménu, kde chcete povolit balancování
  • Přejděte na kartu Doprava a povolte vyrovnávání zátěže.

  • Nakonfigurujte funkce na základě požadavku. Pokračuji s minimální konfigurací.

Pokud chcete, aby byly požadavky přesměrovány na nejbližší místo, musíte povolit Geo Routing.

  • Potvrďte předplatné a povolte jej.
  Jak odblokovat volání přes Messenger ve Spojených arabských emirátech a Dubaji

Jak vidíte, můžete to začít od 5 $ měsíčně se dvěma původními servery a jednominutovým intervalem kontroly stavu.

Infrastruktura je nyní tak dostupná. Před 5 lety, dokážete si představit cloud load balancer za 5 $?

To znamená, že Cloudflare LB je aktivován a připraven ke konfiguraci.

Vytvoření Cloudflare LB

Potvrzení předplatného a návrat na stránku Doprava bude trvat několik sekund.

  • Klikněte na Create Load Balancer

  • Zadejte doménu, kde chcete nastavit vyvažování.
  • Rozbalte Afinitu relace a vyberte By Cloudflare Cookie, pokud potřebujete povolit lepivost relace

  • Zadejte název fondu a je to původ (server, na který má být provoz přesměrován)

  • Dále můžete nakonfigurovat kontrolu stavu.

Nutná je zdravotní prohlídka. Cloudflare přestane posílat provoz do vadného zdroje, když selže kontrola stavu.

  • Pokud váš zdroj naslouchá na portu 80, můžete pro port 443 vybrat HTTP nebo https.

Cloudflare vám také umožňuje nakonfigurovat pokročilá nastavení kontroly stavu, jako jsou:

  • metoda GET nebo HEAD
  • Očekávaný stavový kód HTTP
  • Ověření obsahu v těle odpovědi
  • Počet pokusů, než je považují za zdravé nebo nezdravé
  • Ověření názvu záhlaví
  Jak používat příkaz ps k monitorování procesů Linuxu

A nakonec konfiguraci uložte a nasaďte

  • LB provede kontrolu stavu a během několika sekund uvidíte, že stav je zdravý.

Skvělé, dochází k závěru, že nástroj pro vyrovnávání zatížení Cloudflare je připraven přijímat provoz ze světa a přeposílat jej na nakonfigurované původní servery.

Testování Load Balanceru

Provedeme základní test, abychom zjistili, zda to funguje.

  • Nejprve se pokuste získat přístup k doméně.

Úžasný!

LB přeposlala požadavek na Google Cloud VM a obdržela odpověď. Vidím požadavek v 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"
  • Dovolte mi vypnout Nginx na GCP a znovu otevřít stránku.

  • A je to tady. Požadovaná stránka je obsluhována z AWS.

Vidím, že LB odstranil člena fondu GCP.

Ve výchozím nastavení se Cloudflare IP zobrazí v protokolech přístupu Nginx a pokud potřebujete obnovit IP klienta, můžete se podívat na tuto příručku.

Závěr

Implementace nástroje pro vyrovnávání zatížení Cloudflare je přímočará a může začít za méně než 15 minut. Pokud hledáte vysokou dostupnost mezi více datovými centry nebo původními servery, vyzkoušejte, jak to funguje.

Užili jste si čtení článku? Co takhle sdílet se světem?