Az Azure Load Balancer lebegő IP-konfigurációja

A Terheléselosztó számos képességet biztosít mind az UDP-, mind a TCP-alkalmazásokhoz.

Nem fix IP-cím

Egyes alkalmazásforgatókönyvek előnyben részesítik vagy igénylik ugyanazt a portot több alkalmazáspéldány számára egyetlen virtuális gépen a háttérkészletben. A portok újrafelhasználására gyakori példák a magas rendelkezésre állású fürtözés, a hálózati virtuális berendezések és több TLS-végpont ismételt titkosítás nélküli megjelenítése.

Lebegő IP-cím állapota Eredmény
Lebegő IP-cím engedélyezve Az Azure a Load Balancer előtérbeli IP-címére módosítja az IP-címleképezést
A lebegő IP-cím le van tiltva Az Azure közzéteszi a virtuálisgép-példányok IP-címét

Ha több szabály között szeretné újra felhasználni a háttérportot, engedélyeznie kell a lebegő IP-címet a szabálydefinícióban. A lebegő IP-cím engedélyezése nagyobb rugalmasságot tesz lehetővé.

A diagramokon láthatja, hogyan működik az IP-címleképezés a lebegő IP-cím engedélyezése előtt és után: Ez a diagram a terheléselosztón keresztüli hálózati forgalmat mutatja be a lebegő IP-cím engedélyezése előtt.

Ez az ábra a terheléselosztón keresztüli hálózati forgalmat mutatja be a lebegő IP-cím engedélyezése után.

A lebegő IP-címet load Balancer-szabályon konfigurálhatja az Azure Portalon, a REST API-n, a parancssori felületen, a PowerShellen vagy más ügyfélen keresztül. A szabálykonfiguráció mellett a virtuális gép vendég operációs rendszerét is konfigurálnia kell a lebegő IP-cím használatához.

A terheléselosztó forgalmának diagramja több előtérbeli IP-címhez lebegő IP-címmel.

Ebben a forgatókönyvben a háttérkészlet minden virtuális gépének három hálózati adaptere van:

  • Háttér IP-címe: a virtuális géphez társított virtuális hálózati adapter (az Azure hálózati adapter-erőforrásának IP-konfigurációja).
  • Frontend 1 (FIP1): a vendég operációs rendszeren belüli visszacsatolási felület, amely FIP1 IP-címmel van konfigurálva.
  • Frontend 2 (FIP2): a vendég operációs rendszeren belüli visszacsatolási felület, amely FIP2 IP-címmel van konfigurálva.

Tegyük fel, hogy ugyanaz az előtér-konfiguráció, mint az előző forgatókönyvben:

Előtétprogram IP-cím Protokoll kikötő
zöld előtér 1 65.52.0.1 TCP 80
lila előtér 2 65.52.0.2 TCP 80

Két lebegő IP-szabályt határozunk meg:

Szabály Előtétprogram Leképezés háttérkészletre
0 zöld szabály FIP1:80 zöld háttérrendszer FIP1:80 (VM1 és VM2 esetén)
2 lila szabály FIP2:80 lila háttérrendszer FIP2:80 (VM1 és VM2 esetén)

Az alábbi táblázat a terheléselosztó teljes leképezését mutatja be:

Szabály Előtérbeli IP-cím Protokoll kikötő Cél kikötő
zöld szabály 1 65.52.0.1 TCP 80 ugyanaz, mint az előtér (65.52.0.1) ugyanaz, mint az előtér (80)
lila szabály 2 65.52.0.2 TCP 80 ugyanaz, mint az előtér (65.52.0.2) ugyanaz, mint az előtér (80)

A bejövő folyamat célja mostantól a virtuális gép visszacsatolási felületének előtérbeli IP-címe. Minden szabálynak a cél IP-cím és a célport egyedi kombinációjával kell létrehoznia egy folyamatot. A portok újrafelhasználása ugyanazon a virtuális gépen lehetséges, ha a cél IP-címet a folyamat előtérbeli IP-címére változtatja. A szolgáltatás a terheléselosztó számára úgy érhető el, hogy az előtér IP-címéhez és a megfelelő visszacsatolási felület portjához köti.

Láthatja, hogy a célport nem változik a példában. A lebegő IP-forgatókönyvekben az Azure Load Balancer támogatja a terheléselosztási szabály meghatározását a háttérbeli célport módosításához és az előtér célportjától való eltéréshez.

A lebegő IP-szabálytípus számos terheléselosztó konfigurációs mintájának alapja. Az egyik jelenleg elérhető példa az Always On rendelkezésre állási csoport figyelőinek konfigurálása. Idővel több ilyen forgatókönyvet is dokumentálunk. A lebegő IP-cím engedélyezéséhez szükséges konkrét vendég operációsrendszer-konfigurációkkal kapcsolatos részletesebb információkért tekintse meg az Azure Load Balancer lebegő IP-konfigurációját a következő szakaszban.

Lebegő IP-vendég operációs rendszer konfigurációja

A működéshez konfigurálja a virtuális gép vendég operációs rendszerét úgy, hogy a terheléselosztó előtérbeli IP-címéhez és portjához tartozó összes forgalmat megkapja. A virtuális gép konfigurálásához a következőre van szükség:

  • visszacsatolási hálózati adapter hozzáadása
  • a visszacsatolás konfigurálása a terheléselosztó előtérbeli IP-címével
  • annak biztosítása, hogy a rendszer csomagokat küldjön/fogadjon olyan felületeken, amelyekhez nincs hozzárendelve az adott adapter IP-címe. A Windows-rendszerekhez a "gyenge gazdagép" modell használatához be kell állítani a kezelőfelületeket. Linux rendszerek esetén ez a modell alapértelmezés szerint használatos.
  • konfigurálja a gazdagép tűzfalát, hogy engedélyezze a forgalmat az előtérbeli IP-porton.

Feljegyzés

Az alábbi példák az IPv4-et használják; az IPv6 használatához cserélje le az "ipv6" kifejezést az "ipv4" kifejezésre. Azt is vegye figyelembe, hogy az IPv6 lebegő IP-címe nem működik a belső terheléselosztók esetében.

Windows Server

Bontsa ki

A háttérkészlet minden egyes virtuális gépéhez futtassa a következő parancsokat a windowsos parancssorban a kiszolgálón.

A virtuális gépen található felületnevek listájának lekéréséhez írja be a következő parancsot:

netsh interface ipv4 show interface 

A (felügyelt Azure-beli) virtuálisgép-hálózati adapterhez írja be ezt a parancsot.

netsh interface ipv4 set interface "interfacename" weakhostreceive=enabled

(cserélje le a "interfacename" nevet ennek a felületnek a nevére)

Minden hozzáadott visszacsatolási felülethez ismételje meg az alábbi parancsokat:

netsh interface ipv4 add addr floatingipaddress floatingip floatingipnetmask
netsh interface ipv4 set interface floatingipaddress weakhostreceive=enabled  weakhostsend=enabled 

(cserélje le a loopbackinterface nevet ennek a visszacsatolási felületnek a nevére, a floatingip és a floatingipnetmask pedig a terheléselosztó előtérbeli IP-címének megfelelő megfelelő értékekkel)

Végül, ha a vendég gazdagép tűzfalat használ, győződjön meg arról, hogy egy szabály be van állítva, hogy a forgalom a megfelelő portokon elérje a virtuális gépet.

Ez a példakonfiguráció az 1.2.3.4-s terheléselosztó előtérbeli IP-konfigurációját és a 80-s port terheléselosztási szabályát feltételezi:

netsh int ipv4 set int "Ethernet" weakhostreceive=enabled
netsh int ipv4 add addr "Loopback Pseudo-Interface 1" 1.2.3.4 255.255.255.0
netsh int ipv4 set int "Loopback Pseudo-Interface 1" weakhostreceive=enabled weakhostsend=enabled
netsh advfirewall firewall add rule name="http" protocol=TCP localport=80 dir=in action=allow enable=yes

Ubuntu

Bontsa ki

A háttérkészletben lévő összes virtuális géphez futtassa az alábbi parancsokat egy SSH-munkameneten keresztül.

A virtuális gépen található felületnevek listájának lekéréséhez írja be a következő parancsot:

ip addr

Minden visszacsatolási felülethez ismételje meg ezeket a parancsokat, amelyek a lebegő IP-címet a visszacsatolási aliashoz rendelik:

sudo ip addr add floatingip/floatingipnetmask dev lo:0

(cserélje le a floatingip és a floatingipnetmask értéket a terheléselosztó előtérbeli IP-címének megfelelő értékekre)

Végül, ha a vendég gazdagép tűzfalat használ, győződjön meg arról, hogy egy szabály be van állítva, hogy a forgalom a megfelelő portokon elérje a virtuális gépet.

Ez a példakonfiguráció az 1.2.3.4-s terheléselosztó előtérbeli IP-konfigurációját és a 80-s port terheléselosztási szabályát feltételezi. Ez a példa az UFW (Nem komplikált tűzfal) használatát is feltételezi az Ubuntuban.

sudo ip addr add 1.2.3.4/24 dev lo:0
sudo ufw allow 80/tcp

Korlátozások

  • Ha a lebegő IP-cím engedélyezve van egy terheléselosztási szabályon, az alkalmazásnak a hálózati adapter elsődleges IP-konfigurációját kell használnia a kimenő forgalomhoz.
  • Terheléselosztási forgatókönyvekhez nem használhat lebegő IP-címet másodlagos IPv4-konfigurációkon. Ez a korlátozás nem vonatkozik a kettős verem (IPv4 és IPv6) konfigurációjú nyilvános terheléselosztókra, illetve azokra az architektúrákra, amelyek NAT-átjárót használnak a kimenő kapcsolatokhoz.
  • Ha az alkalmazás a vendég operációs rendszer visszacsatolási felületén konfigurált előtérbeli IP-címhez kapcsolódik, az Azure kimenő kimenő folyamata nem írja át a kimenő folyamatot, és a folyamat meghiúsul. Tekintse át a kimenő forgatókönyveket.

Következő lépések