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.
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.
Table of Contents
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 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í
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?