A magánhálózati összekötők és -alkalmazások magas rendelkezésre állása és terheléselosztása
Ez a cikk bemutatja, hogyan működik a forgalomterjesztés az alkalmazásproxy üzembe helyezésével. Megtudhatja, hogyan oszlik el a forgalom a felhasználók és az összekötők között, valamint tippek az összekötők teljesítményének optimalizálásához. Ismerje meg, hogyan folyik a forgalom az összekötők és a háttéralkalmazás-kiszolgálók között, és hogyan lehet terheléselosztást végezni több háttérkiszolgáló között.
Forgalomeloszlás összekötők között
Csatlakozás orok a magas rendelkezésre állás alapelvei alapján hozzák létre kapcsolataikat. Nincs garancia arra, hogy a forgalom egyenletesen oszlik el az összekötők között, és nincs munkamenet-affinitás. A használat azonban eltérő, és a rendszer véletlenszerűen küldi el a kérelmeket az alkalmazásproxy-szolgáltatáspéldányoknak. Ennek eredményeképpen a forgalom általában szinte egyenletesen oszlik el az összekötők között. A diagram és a lépések bemutatják, hogyan jönnek létre kapcsolatok a felhasználók és az összekötők között.
- Az ügyféleszközön lévő felhasználók megpróbálnak hozzáférni egy alkalmazásproxyn keresztül közzétett helyszíni alkalmazáshoz.
- A kérés egy Azure Load Balanceren keresztül történik annak meghatározásához, hogy melyik alkalmazásproxy-szolgáltatáspéldánynak kell elvégeznie a kérést. Több tíz példány érhető el a régió összes forgalmára vonatkozó kérések elfogadásához. Ez a módszer segít egyenletesen elosztani a forgalmat a szolgáltatáspéldányok között.
- A rendszer elküldi a kérést a Service Busnak.
- Service Bus-jelek egy elérhető összekötőnek. Az összekötő ezután felveszi a kérést a Service Bustól.
- A 2. lépésben a kérelmek különböző alkalmazásproxy-szolgáltatáspéldányokra kerülnek, így a kapcsolatok nagyobb valószínűséggel jönnek létre különböző összekötőkkel. Ennek eredményeként a csoporton belül szinte egyenletesen használják az összekötőket.
- Az összekötő átadja a kérést az alkalmazás háttérkiszolgálójának. Ezután az alkalmazás visszaküldi a választ az összekötőnek.
- Az összekötő úgy fejezi be a választ, hogy megnyit egy kimenő kapcsolatot annak a szolgáltatáspéldánynak, ahonnan a kérés érkezett. Ezután a kapcsolat azonnal bezárul. Alapértelmezés szerint minden összekötő legfeljebb 200 egyidejű kimenő kapcsolatra korlátozódik.
- Ezt követően a rendszer visszaküldi a választ az ügyfélnek a szolgáltatáspéldányból.
- Az ugyanabból a kapcsolatból érkező további kérések ismételje meg a lépéseket.
Egy alkalmazás gyakran sok erőforrással rendelkezik, és több kapcsolatot nyit meg terhelés alatt. Minden kapcsolat végighalad egy szolgáltatáspéldányhoz való lefoglalás lépésein. Ha a kapcsolat nincs összekötővel párosítva, válasszon egy új elérhető összekötőt.
Ajánlott eljárások az összekötők magas rendelkezésre állásához
Mivel a forgalom az összekötők között a magas rendelkezésre állás érdekében oszlik el, elengedhetetlen, hogy mindig legalább két összekötő legyen egy összekötőcsoportban. Három összekötőt előnyben részesítünk, ha extra puffert biztosítunk az összekötők között. A szükséges összekötők számának meghatározásához kövesse a kapacitástervezési dokumentációt.
Helyezze az összekötőket különböző kimenő kapcsolatokra, hogy elkerülje az egyetlen meghibásodási pontot. Ha az összekötők ugyanazt a kimenő kapcsolatot használják, a kapcsolattal kapcsolatos hálózati probléma az azt használó összes összekötőre hatással van.
Ne kényszerítse az összekötők újraindítását éles alkalmazásokhoz való csatlakozáskor. Ez negatívan befolyásolhatja a forgalom összekötők közötti elosztását. Az összekötők újraindítása miatt több összekötő nem érhető el, és a fennmaradó elérhető összekötőhöz kényszeríti a kapcsolatokat. Az eredmény az összekötők kezdetben egyenetlen használata.
Kerülje az összekötők és az Azure közötti kimenő Transport Layer Security (TLS) kommunikáció beágyazott ellenőrzésének minden formáját. Az ilyen típusú beágyazott vizsgálat a kommunikációs folyamat romlását okozza.
Győződjön meg arról, hogy az összekötők automatikus frissítései továbbra is futnak. Ha a magánhálózati összekötő updater szolgáltatása fut, az összekötők automatikusan frissülnek, és megkapják a legújabb frissítést. Ha nem látja a Csatlakozás or Updater szolgáltatást a kiszolgálón, újra kell telepítenie az összekötőt a frissítések beszerzéséhez.
Forgalom az összekötők és a háttéralkalmazás-kiszolgálók között
Egy másik kulcsfontosságú terület, ahol a magas rendelkezésre állás az összekötők és a háttérkiszolgálók közötti kapcsolat. Amikor egy alkalmazást a Microsoft Entra alkalmazásproxyn keresztül tesznek közzé, a felhasználóktól az alkalmazások felé irányuló forgalom három ugráson halad át:
- A felhasználó csatlakozik a Microsoft Entra alkalmazásproxy szolgáltatás nyilvános végponthoz az Azure-ban. A kapcsolat az ügyfél származó ügyfél IP-címe (nyilvános) és az alkalmazásproxy-végpont IP-címe között jön létre.
- A privát hálózati összekötő lekéri az ügyfél HTTP-kérését az alkalmazásproxy szolgáltatásból.
- A privát hálózati összekötő csatlakozik a célalkalmazáshoz. Az összekötő saját IP-címét használja a kapcsolat létrehozásához.
Az X-Forwarded-For fejlécmezővel kapcsolatos szempontok
Bizonyos helyzetekben (például naplózás, terheléselosztás stb.) követelmény a külső ügyfél származó IP-címének megosztása a helyszíni környezettel. A követelmény teljesítéséhez a Microsoft Entra privát hálózati összekötő hozzáadja az X-Forwarded-For fejlécmezőt az eredeti ügyfél IP-címével (nyilvános) a HTTP-kérelemhez. Ezután a megfelelő hálózati eszköz (terheléselosztó, tűzfal) vagy a webkiszolgáló vagy háttéralkalmazás elolvashatja és felhasználhatja az információkat.
Ajánlott eljárások a terheléselosztáshoz több alkalmazáskiszolgáló között
A terheléselosztás akkor fontos, ha az alkalmazásproxy-alkalmazáshoz rendelt összekötőcsoport két vagy több összekötőt használ. A terheléselosztás akkor is fontos, ha a háttérbeli webalkalmazást több kiszolgálón futtatja.
1. forgatókönyv: A háttéralkalmazás nem igényel munkamenet-megőrzést
A legegyszerűbb forgatókönyv az, amikor a háttér-webalkalmazás nem igényel munkamenet-ragaszkodást (munkamenet-megőrzést). A háttéralkalmazás-példány kezeli a kiszolgálófarm felhasználói kéréseit. Használhat 4. rétegbeli terheléselosztót, és affinitás nélkül konfigurálhatja. Egyes lehetőségek közé tartozik a Microsoft Hálózati terheléselosztás és az Azure Load Balancer, vagy egy másik szállító terheléselosztója. Másik lehetőségként konfiguráljon egy ciklikus időszeleteléses tartománynévrendszer-(DNS-) stratégiát.
2. forgatókönyv: A háttéralkalmazás munkamenet-megőrzést igényel
Ebben a forgatókönyvben a háttér-webalkalmazás a hitelesített munkamenet során ragadós munkamenetet (munkamenet-megőrzést) igényel. A háttéralkalmazás-példány kezeli a felhasználói kéréseket. A thee-kérelmek ugyanazon a kiszolgálón futnak a kiszolgálófarmban. Ez a forgatókönyv bonyolultabb lehet, mert az ügyfél általában több kapcsolatot létesít az alkalmazásproxy szolgáltatással. A különböző kapcsolatokra irányuló kérések a farm különböző összekötőihez és kiszolgálóihoz érkezhetnek. Mivel minden összekötő a saját IP-címét használja ehhez a kommunikációhoz, a terheléselosztó nem tudja biztosítani a munkamenetek ragadósságát az összekötők IP-címe alapján. A forrás IP-affinitása sem használható. Íme néhány lehetőség a 2. forgatókönyvhöz:
1. lehetőség: A munkamenet-adatmegőrzés alapja a terheléselosztó által beállított munkamenet-cookie. Ez a beállítás azért ajánlott, mert lehetővé teszi a terhelés egyenletesebb eloszlását a háttérkiszolgálók között. 7. rétegbeli terheléselosztót igényel ezzel a képességgel, amely képes kezelni a HTTP-forgalmat, és leállítja a TLS-kapcsolatot. Használhatja Azure-alkalmazás átjárót (munkamenet-affinitást) vagy egy másik szállító terheléselosztóját.
2. lehetőség: Alapozza a munkamenet-adatmegőrzést az X-Forwarded-For fejlécmezőn. Ehhez a beállításhoz egy 7. rétegbeli terheléselosztó szükséges ezzel a képességgel, amely képes kezelni a HTTP-forgalmat, és leállítja a TLS-kapcsolatot.
3. lehetőség: Konfigurálja a háttéralkalmazást úgy, hogy ne igényeljen munkamenet-megőrzést.
A háttéralkalmazás terheléselosztási követelményeinek megismeréséhez tekintse meg a szoftvergyártó dokumentációját.