Delen via


Zwevende IP-configuratie van Azure Load Balancer

Load Balancer biedt verschillende mogelijkheden voor zowel UDP- als TCP-toepassingen.

Zwevend IP-adres

Sommige toepassingsscenario's geven de voorkeur aan of vereisen het gebruik van dezelfde poort door meerdere toepassingsexemplaren op één VIRTUELE machine in de back-endpool. Veelvoorkomende voorbeelden waarin een poort opnieuw wordt gebruikt, zijn clustering voor hoge beschikbaarheid, virtuele netwerkapparaten en meerdere TLS-eindpunten beschikbaar maken zonder herversleuteling. Als u de back-endpoort voor meerdere regels opnieuw wilt gebruiken, moet u Zwevend IP inschakelen in de regeldefinitie. Het inschakelen van zwevend IP-adres biedt meer flexibiliteit.

Zwevende IP-status Resultaat
Zwevend IP-adres ingeschakeld Azure wijzigt de IP-adrestoewijzing in het Front-end-IP-adres van de Load Balancer
Zwevend IP-adres uitgeschakeld Azure maakt het IP-adres van de VM-exemplaren beschikbaar

In de diagrammen ziet u hoe IP-adrestoewijzing werkt voor en na het inschakelen van zwevend IP-adres: In dit diagram ziet u netwerkverkeer via een load balancer voordat u zwevend IP-adres inschakelt.

Dit diagram toont netwerkverkeer via een load balancer na het inschakelen van zwevend IP-adres.

U configureert zwevend IP-adres op een load balancer-regel via Azure Portal, REST API, CLI, PowerShell of een andere client. Naast de regelconfiguratie moet u ook het gastbesturingssysteem van uw virtuele machine configureren om zwevend IP-adres te kunnen gebruiken.

Diagram van load balancer-verkeer voor meerdere front-end-IP's met zwevend IP-adres.

Voor dit scenario heeft elke VIRTUELE machine in de back-endpool drie netwerkinterfaces:

  • Back-end-IP: een virtuele NIC die is gekoppeld aan de VM (IP-configuratie van de NIC-resource van Azure).
  • Front-end 1 (FIP1): een loopback-interface binnen gastbesturingssystemen die is geconfigureerd met HET IP-adres van FIP1.
  • Front-end 2 (FIP2): een loopback-interface binnen gastbesturingssystemen die is geconfigureerd met HET IP-adres van FIP2.

Laten we uitgaan van dezelfde front-endconfiguratie als in het vorige scenario:

Front-end IP-adres protocol poort
groene front-end 1 65.52.0.1 TCP 80
paarse front-end 2 65.52.0.2 TCP 80

We definiëren twee zwevende IP-regels:

Regel Front-end Toewijzen aan back-endpool
1 groene regel FIP1:80 groene back-end FIP1:80 (in VM1 en VM2)
2 paarse regel FIP2:80 paarse back-end FIP2:80 (in VM1 en VM2)

In de volgende tabel ziet u de volledige toewijzing in de load balancer:

Regel IP-adres voor front-end protocol poort Bestemming poort
groene regel 1 65.52.0.1 TCP 80 hetzelfde als front-end (65.52.0.1) hetzelfde als front-end (80)
paarse regel 2 65.52.0.2 TCP 80 hetzelfde als front-end (65.52.0.2) hetzelfde als front-end (80)

Het doel van de binnenkomende stroom is nu het front-end-IP-adres op de loopback-interface in de VIRTUELE machine. Elke regel moet een stroom produceren met een unieke combinatie van doel-IP-adres en doelpoort. Poorthergebruik is mogelijk op dezelfde VIRTUELE machine door het IP-doeladres te variëren naar het front-end-IP-adres van de stroom. Uw service wordt blootgesteld aan de load balancer door deze te binden aan het IP-adres en de poort van de desbetreffende loopback-interface van de front-end.

U ziet dat de doelpoort niet verandert in het voorbeeld. In zwevende IP-scenario's ondersteunt Azure Load Balancer ook het definiëren van een taakverdelingsregel om de back-endbestemmingspoort te wijzigen en deze anders te maken dan de front-endbestemmingspoort.

Het type zwevende IP-regel vormt de basis van verschillende load balancer-configuratiepatronen. Een voorbeeld dat momenteel beschikbaar is, is de configuratie van een of meer Listeners voor AlwaysOn-beschikbaarheidsgroepen configureren. In de loop van de tijd documenteer we meer van deze scenario's. Raadpleeg de zwevende IP-configuratie van Azure Load Balancer in de volgende sectie voor meer gedetailleerde informatie over de specifieke configuraties voor gastbesturingssystemen die nodig zijn om Zwevend IP-adres in te schakelen.

Configuratie van zwevend IP-gastbesturingssystemen

Als u wilt functioneren, configureert u het gastbesturingssysteem voor de virtuele machine om al het verkeer te ontvangen dat is gebonden aan het front-end-IP-adres en de poort van de load balancer. Voor het configureren van de VIRTUELE machine is het volgende vereist:

  • een loopback-netwerkinterface toevoegen
  • de loopback configureren met het front-end-IP-adres van de load balancer
  • ervoor zorgen dat het systeem pakketten kan verzenden/ontvangen op interfaces waarvoor het IP-adres niet is toegewezen aan die interface. Voor Windows-systemen is het instellen van interfaces vereist voor het gebruik van het 'zwakke hostmodel'. Voor Linux-systemen wordt dit model normaal gesproken standaard gebruikt.
  • de hostfirewall zo configureren dat verkeer op de front-end-IP-poort wordt toegestaan.

Notitie

In de onderstaande voorbeelden wordt IPv4 gebruikt; als u IPv6 wilt gebruiken, vervangt u 'ipv6' door 'ipv4'.

Windows Server

Uitbreiden

Voer voor elke VM in de back-endpool de volgende opdrachten uit op een Windows-opdrachtprompt op de server.

Typ deze opdracht om de lijst met interfacenamen op uw VIRTUELE machine op te halen:

netsh interface ipv4 show interface 

Typ deze opdracht voor de VM-NIC (door Azure beheerd).

netsh interface ipv4 set interface "interfacename" weakhostreceive=enabled

(vervang interfacenaam door de naam van deze interface)

Herhaal deze opdrachten voor elke loopback-interface die u hebt toegevoegd:

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

(vervang loopbackinterface door de naam van deze loopback-interface en floatingip - en floatingipnetmask door de juiste waarden die overeenkomen met het front-end-IP-adres van de load balancer)

Als de gasthost ten slotte een firewall gebruikt, moet u ervoor zorgen dat er een regel is ingesteld, zodat het verkeer de VIRTUELE machine op de juiste poorten kan bereiken.

In deze voorbeeldconfiguratie wordt ervan uitgegaan dat een front-end-IP-configuratie van de load balancer van 1.2.3.4 en een taakverdelingsregel voor poort 80:

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

Uitbreiden

Voer voor elke VIRTUELE machine in de back-endpool de volgende opdrachten uit via een SSH-sessie.

Typ deze opdracht om de lijst met interfacenamen op uw VIRTUELE machine op te halen:

ip addr

Herhaal voor elke loopback-interface deze opdrachten, die het zwevende IP-adres toewijzen aan de loopback-alias:

sudo ip addr add floatingip/floatingipnetmask dev lo:0

(vervang floatingip en floatingipnetmask door de juiste waarden die overeenkomen met het front-end-IP-adres van de load balancer)

Als de gasthost ten slotte een firewall gebruikt, moet u ervoor zorgen dat er een regel is ingesteld, zodat het verkeer de VIRTUELE machine op de juiste poorten kan bereiken.

In deze voorbeeldconfiguratie wordt ervan uitgegaan dat er een front-end-IP-configuratie van 1.2.3.4 en een taakverdelingsregel voor poort 80 wordt gebruikt. In dit voorbeeld wordt ook uitgegaan van het gebruik van UFW (Uncomplicated Firewall) in Ubuntu.

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

Beperkingen

  • Als Zwevend IP is ingeschakeld op een taakverdelingsregel, moet uw toepassing de primaire IP-configuratie van de netwerkinterface gebruiken voor uitgaand verkeer.
  • Als uw toepassing verbinding maakt met het front-end-IP-adres dat is geconfigureerd op de loopback-interface in het gastbesturingssystem, wordt de uitgaande stroom van Azure niet opnieuw geschreven en mislukt de stroom. Bekijk uitgaande scenario's.

Volgende stappen