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:
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.
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ő |
---|---|---|---|
1 | 65.52.0.1 | TCP | 80 |
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 | FIP1:80 | FIP1:80 (VM1 és VM2 esetén) |
2 | FIP2:80 | 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ő |
---|---|---|---|---|---|
1 | 65.52.0.1 | TCP | 80 | ugyanaz, mint az előtér (65.52.0.1) | ugyanaz, mint az előtér (80) |
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
- Ismerje meg, hogyan használhat több előtérrendszert az Azure Load Balancerrel.
- Tudnivalók az Azure Load Balancer kimenő kapcsolatairól.