Az Azure Load Balancer működése

Befejeződött

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.

    Diagram that depicts how public and internal load balancers work in Azure Load Balancer.

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.

Diagram that depicts how load balancer rules work in Azure Load Balancer.

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.

Diagram that shows how high availability ports work in Azure Load Balancer.

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.

Diagram that shows how inbound NAT rules work in Azure Load Balancer.

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.

Diagram that shows how outbound rules work in Azure Load Balancer.