Een openbare load balancer configureren

Voltooid

Als architect van oplossingen voor de zorgportal moet u de belasting van de clientbrowsers verdelen over de virtuele machines in uw webfarm. U moet een load balancer zo instellen dat de virtuele machines evenwichtig worden belast.

Met een openbare load balancer worden het openbare IP-adres en poortnummer van het inkomende verkeer toegewezen aan het privé IP-adres en poortnummer van een virtuele machine in de back-endpool. Vervolgens worden de antwoorden geretourneerd naar de client. Door taakverdelingsregels toe te passen, kunt u specifieke soorten verkeer verdelen over meerdere virtuele machines of services.

Distributiemodi

Standaard wordt het netwerkverkeer via Azure Load Balancer evenredig over virtuele machines verdeeld. De volgende distributiemodi zijn ook mogelijk als er ander gedrag nodig is:

  • Hash met vijf tuples: de standaarddistributiemodus voor Load Balancer is een hash met vijf tuples. De tuple bestaat uit bron-IP, bronpoort, doel-IP, doelpoort en protocoltype. Omdat de bronpoort in de hash is opgenomen en de bronpoort elke sessie verandert, kunnen clients elke sessie worden omgeleid naar een andere virtuele machine.

    Diagram waarin wordt getoond hoe distributie op basis van hash werkt.

  • Bron-IP-affiniteit: deze distributiemodus wordt ook wel sessieaffiniteit of client-IP-affiniteit genoemd. Als u verkeer wilt toewijzen aan de beschikbare servers, gebruikt de bron-IP-affiniteitsmodus een hash met twee tuples (van het bron-IP-adres en het doel-IP-adres) of een hash met drie tuples (van het bron-IP-adres, het doel-IP-adres en het protocoltype). Dankzij de hash worden aanvragen van een bepaalde client altijd verzonden naar dezelfde virtuele machine achter de load balancer.

    Diagram waarin wordt getoond hoe sessieaffiniteit werkt.

Een distributiemodus kiezen

Stel dat in het voorbeeld van de gezondheidszorgportal een ontwikkelaarsvereiste van de presentatielaag moet worden gebruikt om in-memory sessies te gebruiken om het profiel van de aangemelde gebruiker op te slaan wanneer de gebruiker communiceert met de portal.

In dit scenario moet de load balancer de bron-IP-affiniteit leveren om de sessie van een gebruiker te handhaven. Het profiel wordt alleen opgeslagen op de virtuele machine waarmee de client voor het eerst verbinding maakt, omdat dat IP-adres wordt omgeleid naar dezelfde server. Wanneer u het eindpunt van de load balancer maakt, moet u de distributiemodus opgeven met behulp van het volgende PowerShell-voorbeeld:

$lb = Get-AzLoadBalancer -Name MyLb -ResourceGroupName MyResourceGroup
$lb.LoadBalancingRules[0].LoadDistribution = 'sourceIp'
Set-AzLoadBalancer -LoadBalancer $lb

Sessiepersistentie toevoegen via Azure Portal:

  1. Selecteer uw Load Balancer-resource in Azure Portal.

  2. Selecteer op de pagina Taakverdelingsregels onder het deelvenster Instellingen de relevante taakverdelingsregel.

    Schermopname die laat zien hoe u een taakverdelingsregel selecteert in Azure Portal.

  3. Wijzig op de pagina instellingen voor taakverdelingsregels de waarde voor sessiepersistentie van Geen in Client-IP.

Schermopname van het instellen van IP-affiniteit in Azure Portal.

Load Balancer en Extern bureaublad-gateway

Extern bureaublad-gateway is een Windows-service waarmee clients op internet RDP-verbindingen (Remote Desktop Protocol) kunnen maken via firewalls naar Extern bureaublad-servers in uw privénetwerk. De standaard-hash met vijf tuples in Load Balancer is incompatibel met deze service. Als u Load Balancer wilt gebruiken met uw extern-bureaubladservers, moet u bron-IP-affiniteit gebruiken.

Load Balancer en media uploaden

Een ander gebruiksvoorbeeld van bron-IP-affiniteit is het uploaden van media. In veel implementaties initieert een client een sessie via een TCP-protocol (Transmission Control Protocol) en maakt deze verbinding met een doel-IP-adres. Deze verbinding blijft tijdens het uploaden geopend om de voortgang te controleren, maar het bestand wordt geüpload via een afzonderlijk UDP-protocol (User Datagram Protocol).

Met de hash met vijf tuples verzendt de load balancer waarschijnlijk de TCP- en UDP-verbindingen naar verschillende DOEL-IP-adressen en wordt het uploaden niet voltooid. Gebruik bron-IP-affiniteit om dit probleem op te lossen.