Ismerje meg, hogyan használhatja a Cloudflare terheléselosztót (LB) a forgalom elosztására az AWS (Amazon Web Services) és a GCP (Google Cloud Platform) között.
A legtöbb webalkalmazás megköveteli vagy megköveteli a terheléselosztást a szerverek/szolgáltatások között ugyanabban az adatközpontban.
Ha azonban kritikus fontosságú alkalmazásokat futtat, ahol folyamatosan rendelkezésre állásra van szükség szerte a világon, akkor szüksége van egy felhőalapú terheléselosztóra.
Nem csak az üzemidő, hanem sok más tényező is lehet.
Volt:
- Aktív-passzív vagy aktív-aktív adatközpont követelmény
- Katasztrófa-helyreállítási terv
- Több adatközpont előnyeinek kihasználása a kérések kiszolgálására a legközelebbi helyről
- Megfelelés
Cloudflare helyi és globális terheléselosztási lehetőségeket kínál, amelyek segítik a forgalmat több adatközpontba irányítani.
A Cloudflare LB néhány funkciója a következő:
- Az állapotellenőrzések be vannak építve, így gyorsan eltávolíthatja a hibás szervert.
- Aktiválja a feladatátvételt, ha az állapotellenőrzés sikertelen
- Csökkentse a várakozási időt azáltal, hogy a forgalmat a legközelebbi szerverre irányítja
- DNS-szint és támogatja a HTTP(S), TCP és UDP-t
- A munkamenet ragadóssága biztosítja, hogy a kérés ugyanarra a szerverre kerüljön
A teljes dolgokat a Cloudflare irányítópulton vagy API-n keresztül konfigurálhatja.
Technikailag a következő utasítások vonatkoznak a terhelési egyensúlyra bármely felhőplatformon, például az Azure-on, DigitalOceanAlibaba stb. De a bemutatóhoz a GCP-t és az AWS-t választottam.
Az AWS és a GCP beállításának részletei
Kiépítettem egy szervert GCP és AWS platformon a következőkkel.
- Telepített Nginx
- Hozzáadott index.html egyéni szöveggel, amely megmutatja, hogy az oldalt a megfelelő szerver szolgáltatja
- Elindította az Nginx-et, és az oldal mindkét szerverről elérhető
Térjünk át a Cloudflare-re az LB megvalósításához.
A Cloudflare Load Balancer aktiválása
Van egy elérhető domainem (bloggerflare.com), amelyet ehhez a laborhoz fogok használni.
Megjegyzés: A Cloudflare terheléselosztója nem INGYENES, és árazás havi 5 dollártól kezdődik.
Feltételezem, hogy már van fiókja a Cloudflare-nél; ha nem, akkor létrehozhatja és hozzáadhatja a domaint, amint azt az előző bejegyzésemben kifejtettem.
- Jelentkezzen be a Cloudflare szolgáltatásba, és válassza ki azt a tartományt, ahol engedélyezni szeretné az egyensúlyozást
- Lépjen a Forgalom lapra, és engedélyezze a terheléselosztást.
- Konfigurálja a funkciókat a követelmények alapján. Minimális konfigurációval haladok.
Ha azt szeretné, hogy a kérések a legközelebbi helyre kerüljenek átirányításra, akkor engedélyeznie kell a Geo Routing szolgáltatást.
- Erősítse meg az előfizetést, és engedélyezze.
Amint látja, havi 5 dollártól kezdheti el, két eredeti szerverrel és egyperces állapotellenőrzési időközzel.
Az infrastruktúra most nagyon megfizethető. 5 évvel ezelőtt el tudod képzelni a felhő terheléselosztót 5 dollárért?
Ez azt jelzi, hogy a Cloudflare LB aktiválva van, és készen áll a konfigurálásra.
Cloudflare LB létrehozása
Eltart néhány másodpercig, amíg megerősíti az előfizetést, és visszaviszi a Forgalom oldalra.
- Kattintson a Load Balancer létrehozása elemre
- Adja meg azt a tartományt, ahol be szeretné állítani az egyensúlyozást.
- Bontsa ki a Session Affinity elemet, és válassza a Cloudflare Cookie által lehetőséget, ha engedélyeznie kell a munkamenet ragadósságát
- Adja meg a készlet nevét, és ez lesz az eredet (szerver, amelyre a forgalmat át kell irányítani)
- Ezután konfigurálhat egy állapotfelmérést.
Az állapotfelmérés elengedhetetlen. A Cloudflare leállítja a forgalom küldését a hibás eredetre, ha az állapotfelmérés sikertelen.
- Ha az eredet a 80-as porton figyel, akkor a 443-as porthoz választhat HTTP vagy https.
A Cloudflare segítségével speciális állapotellenőrzési beállításokat is konfigurálhat, például:
- GET vagy HEAD módszer
- Várt HTTP állapotkód
- Tartalomérvényesítés a választörzsben
- A kísérletek száma, mielőtt egészségesnek vagy egészségtelennek tartják
- Fejléc nevének ellenőrzése
Végül mentse a konfigurációt és telepítse
- Az LB állapotfelmérést végez, és néhány másodpercen belül látni fogja, hogy az állapot egészséges.
Remek, ez arra a következtetésre jut, hogy a Cloudflare terheléselosztó készen áll a világ forgalmának fogadására és továbbítására a konfigurált eredeti kiszolgálókra.
A terheléselosztó tesztelése
Végezzünk el egy alaptesztet, hogy kiderüljön, működik-e.
- Először próbálja meg elérni a tartományt.
Fantasztikus!
Az LB továbbított egy kérést a Google Cloud VM-nek, és megkapta a választ. Látom a kérést Nginxben.
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"
- Hadd állítsam le az Nginxet a GCP-n, és ismét hozzáférjek az oldalhoz.
- És tessék. A kért oldalt az AWS szolgáltatja.
Látom, hogy az LB levette a GCP-pool tagját.
Alapértelmezés szerint a Cloudflare IP megjelenik az Nginx hozzáférési naplóiban, és ha vissza kell állítania az ügyfél IP-jét, akkor nézze meg ezt az útmutatót.
Következtetés
A Cloudflare terheléselosztó megvalósítása egyszerű, és kevesebb mint 15 perc alatt elindítható. Ha magas rendelkezésre állást keres több adatközpont vagy eredeti szerver között, próbálja ki, hogyan működik.
Élvezettel olvasta a cikket? Mit szólnál a világgal való megosztáshoz?