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.

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.

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. Configureren van de VM 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 <loopbackinterfacename> floatingip floatingipnetmask
netsh interface ipv4 set interface <loopbackinterfacename> weakhostreceive=enabled  weakhostsend=enabled 

(vervang loopbackinterfacename door de naam van deze loopback-interface en floatingip en floatingipnetmask door de juiste waarden die overeenkomen met het front-end-IP 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.
  • U kunt zwevend IP-adres niet gebruiken voor secundaire IP-configuraties voor scenario's met taakverdeling. Deze beperking geldt niet voor openbare load balancers waarbij de secundaire IP-configuratie IPv6 is, een onderdeel van een configuratie met dubbele stack of voor architecturen die gebruikmaken van een NAT-gateway voor uitgaande connectiviteit.

Volgende stappen