Az Azure Load Balancer működése
Az Azure Load Balancer az OSI-modell átviteli rétegében működik. Ez a 4. rétegbeli funkció lehetővé teszi a forgalom kezelését a forgalom adott tulajdonságai alapján. Tulajdonságok, beleértve a forrás- és célcímet, a TCP- vagy UDP-protokoll típusát és a portszámot.
A Load Balancer számos olyan elemből áll, amelyek együttműködve biztosítják az alkalmazások magas rendelkezésre állását és teljesítményét:
- Előtérbeli IP-cím
- Terheléselosztói szabályok
- Háttérkészlet
- Állapotminták
- Bejövő NAT-szabályok
- Magas rendelkezésre állású portok
- Kimenő szabályok
Előtérbeli IP-cím
Az előtérbeli IP-cím az a cím, amelyet az ügyfelek használnak a webalkalmazáshoz való csatlakozáshoz. Az előtérbeli IP-címek lehetnek nyilvánosak vagy privát IP-címek. Az Azure load balancereknek több előtérbeli IP-címük is lehet. Egy nyilvános vagy egy magánhálózati IP-cím kiválasztása határozza meg, hogy milyen típusú terheléselosztót hozzon létre:
Nyilvános IP-cím: Nyilvános terheléselosztó: A nyilvános terheléselosztó leképozza a bejövő forgalom nyilvános IP-címét és portját a virtuális gép privát IP-címére és portjára. Terheléselosztási szabályok alkalmazásával több virtuális gép vagy szolgáltatás között oszthat el bizonyos típusú forgalmat. A webkérések adatforgalmát például eloszthatja több webkiszolgáló között. A terheléselosztó leképozza a virtuális gép privát IP-címéről és portjáról érkező válaszforgalmat a terheléselosztó nyilvános IP-címére és portjára. Ezután visszaküldi a választ a kérelmező ügyfélnek.
Privát IP-cím: Belső terheléselosztó: A belső terheléselosztó a forgalmat a virtuális hálózaton belüli erőforrások között osztja el. Az Azure korlátozza egy elosztott terhelésű virtuális hálózat előtérbeli IP-címeinek elérését. Az előtérbeli IP-címek és a virtuális hálózatok soha nem lesznek közvetlenül kitéve internetes végpontnak. A belső üzletági alkalmazások az Azure-ban futnak, és vpn- vagy ExpressRoute-kapcsolaton keresztül érhetők el az Azure-ban vagy a helyszíni erőforrásokból.
Load Balancer-szabályok
A terheléselosztó-szabály határozza meg, hogyan oszlik el a forgalom a háttérkészletben. A szabály leképez egy adott előtérbeli IP-címet és portkombinációt háttérbeli IP-címek és portkombinációk készletére.
A forgalom kezelése a következő elemekből készült ötrekordos kivonat használatával történik:
- Forrás IP-címe: A kérelmező ügyfél IP-címe.
- Forrásport: A kérelmező ügyfél portja.
- Cél IP-címe: A kérés cél IP-címe.
- Célport: A kérés célportja.
- Protokolltípus: A megadott protokolltípus, TCP vagy UDP.
- Munkamenet-affinitás: Biztosítja, hogy ugyanaz a készletcsomópont mindig kezelje az ügyfél forgalmát.
A Load Balancer lehetővé teszi a szolgáltatások terheléselosztását több porton, több IP-címen vagy mindkettőn. Minden előtérbeli IP-címhez különböző terheléselosztási szabályokat konfigurálhat. Több előtér-konfigurációt csak IaaS virtuális gépek támogatnak.
A Load Balancer nem tud különböző szabályokat alkalmazni a belső forgalomtartalom alapján, mert az OSI-modell 4. rétegében (átviteli rétegben) működik. Ha a 7. réteg (alkalmazásréteg) tulajdonságai alapján kell kezelnie a forgalmat, telepítenie kell egy olyan megoldást, mint a Azure-alkalmazás Gateway.
Háttérkészlet
A háttérkészlet egy virtuálisgép-méretezési csoportban lévő virtuális gépek vagy -példányok csoportja, amely válaszol a bejövő kérésre. A nagy mennyiségű bejövő forgalom költséghatékony skálázásához a számítási irányelvek általában azt javasolják, hogy több példányt adjon hozzá a háttérkészlethez.
A Load Balancer automatikus újrakonfigurálást implementál a terhelés újraelosztásához a példányok fel- vagy leskálázása során módosított példányok között. Ha például két további virtuálisgép-példányt ad hozzá a háttérkészlethez, a Load Balancer újrakonfigurálja magát, hogy a már konfigurált terheléselosztási szabályok alapján kezdje el kiegyensúlyozni az adott példányok forgalmát.
Állapotminták
A háttérkészletben lévő példányok állapotának meghatározásához állapotmintát használunk. Ez az állapotadat-mintavétel meghatározza, hogy egy példány kifogástalan állapotban van-e, és képes-e fogadni a forgalmat. Megadhatja az állapotadat-mintavételek nem megfelelő állapotküszöbét. Ha egy mintavétel nem válaszol, a terheléselosztó nem küld új kapcsolatokat a nem megfelelő állapotú példányoknak. A mintavételi hiba nincs hatással a meglévő kapcsolatokra. A kapcsolat a következő időpontig folytatódik:
- Az alkalmazás befejezi a folyamatot.
- Tétlen időtúllépés történik.
- A virtuális gép leáll.
A Load Balancer lehetővé teszi, hogy különböző állapotadat-mintavételi típusokat konfiguráljon a végpontokhoz: TCP, HTTP és HTTPS.
- EGYÉNI TCP-mintavétel: Ez a mintavétel egy sikeres TCP-munkamenet létrehozásán alapul egy meghatározott mintavételi porton. Ha a virtuális gépen a megadott figyelő létezik, a mintavétel sikeres lesz. Ha a kapcsolat megtagadva, a mintavétel meghiúsul. Megadhatja a port, az intervallum és a nem megfelelő állapot küszöbértékét.
- HTTP- vagy HTTPS-egyéni mintavétel: A terheléselosztó rendszeresen mintavételezi a végpontot (alapértelmezés szerint 15 másodpercenként). A példány kifogástalan állapotú, ha http 200-zal válaszol az időtúllépési időszakon belül (alapértelmezés szerint 31 másodperc). A HTTP 200-tól eltérő állapot esetén a mintavétel sikertelen lesz. Megadhatja a portot (portot), a háttérrendszer állapotának (URI) lekéréséhez szükséges URI-t, a mintavételi kísérletek közötti időtartamot (Intervallum), valamint azt a hibát, amely ahhoz szükséges, hogy a példány kifogástalan állapotúnak minősüljön (nem megfelelő küszöbérték).
Munkamenet-állandóság
A Load Balancer alapértelmezés szerint egyenlően osztja el a hálózati forgalmat több virtuálisgép-példány között. Csak egy átviteli munkameneten belül biztosít ragadósságot. A munkamenet-adatmegőrzés határozza meg, hogyan kell kezelni az ügyféltől érkező forgalmat. Az alapértelmezett viselkedés (Nincs) az, hogy minden kifogástalan állapotú virtuális gép képes kezelni az ügyféltől érkező egymást követő kéréseket.
A munkamenet-megőrzést munkamenet-affinitásnak, forrás IP-affinitásnak vagy ügyfél IP-affinitásnak is nevezik. Ez a terjesztési mód egy kétrekordos (forrás IP-cím és cél IP-cím) vagy háromrekordos (forrás IP-cím, cél IP-cím és protokolltípus) kivonatot használ a háttérpéldányokra való átirányításhoz. Munkamenet-adatmegőrzés használatakor az egyazon ügyféltől származó kapcsolatok a háttérkészleten belül ugyanarra a háttérpéldányra kerülnek. Az alábbi munkamenet-adatmegőrzési beállítások egyikét konfigurálhatja:
- Nincs (alapértelmezett): Azt határozza meg, hogy bármely kifogástalan állapotú virtuális gép képes-e kezelni a kérést.
- Ügyfél IP-címe (2-tuple):Azt adja meg, hogy ugyanaz a háttérpéldány képes kezelni az azonos ügyfél IP-címről érkező egymást követő kéréseket.
- Ügyfél IP-címe és protokollja (3-tuple): Azt határozza meg, hogy ugyanaz a háttérpéldány képes-e kezelni az azonos ügyfél IP-címről és protokollkombinációból érkező egymást követő kéréseket.
Ezt a viselkedést az alábbi szakaszokban ismertetett beállítások egyikének konfigurálásával módosíthatja.
Magas rendelkezésre állású portok
A terheléselosztó-szabályt protocol - all and port - 0
magas rendelkezésre állású (HA) portszabálynak nevezzük. Ez a szabály lehetővé teszi, hogy egyetlen szabály betöltse az összes OLYAN TCP- és UDP-folyamatot, amely egy belső standard terheléselosztó összes portjára érkezik.
A terheléselosztási döntés folyamatonként történik. Ez a művelet a következő ötrekordos kapcsolaton alapul:
- Forrás IP-címe
- Forrásport
- Cél IP-cím
- Célport
- Protokoll
A HA-portok terheléselosztási szabályai segítenek a kritikus forgatókönyvekben, például a virtuális hálózatokon belüli hálózati virtuális berendezések (NVA-k) magas rendelkezésre állásában és méretezésében. A funkció segíthet, ha nagy számú portot kell terheléselosztással elosztani.
Bejövő NAT-szabályok
A terheléselosztási szabályokat a hálózati címfordítási (NAT) szabályokkal kombinálva használhatja. Használhatja például a NAT-ot a terheléselosztó nyilvános címéről a TCP 3389-be egy adott virtuális gépen. Ez a szabálykombináció távoli asztali hozzáférést tesz lehetővé az Azure-on kívülről.
Kimenő szabályok
A kimenő szabály a forráshálózati címfordítást (SNAT) konfigurálja a háttérkészlet által azonosított összes virtuális géphez vagy példányhoz. Ez a szabály lehetővé teszi, hogy a háttérpéldányok kommunikáljanak (kimenő) az internettel vagy más nyilvános végpontokkal.