Konfigurera offentlig lastbalanserare
Som lösningsarkitekt för sjukvårdsportalen måste du distribuera belastningen från klientens webbläsare över de virtuella datorerna i din webbservergrupp. Du måste konfigurera en lastbalanserare och konfigurera de virtuella datorer som ska balanseras.
En offentlig lastbalanserare mappar offentliga IP-adresser och portnummer i den inkommande trafiken mot privata IP-adresser och portnummer för virtuella datorer i serverdelspoolen. Svaren returneras sedan till klienten. Genom att tillämpa belastningsutjämningsregler kan du distribuera specifika typer av trafik över flera virtuella datorer eller tjänster.
Distributionslägen
Som standard distribuerar Azure Load Balancer nätverkstrafik jämnt mellan VM-instanser. Följande distributionslägen kan också användas om du vill uppnå ett annat beteende:
Hash med fem tupppel: Standarddistributionsläget för Load Balancer är en hash med fem tuppler. Tuppeln består av käll-IP, källport, mål-IP, målport och protokolltyp. Eftersom källporten ingår i hashen och källporten ändras för varje session kan klienter dirigeras till en ny virtuell dator för varje session.
Käll-IP-tillhörighet: Det här distributionsläget kallas även sessionstillhörighet eller klientens IP-tillhörighet. För att mappa trafik till de tillgängliga servrarna använder källans IP-tillhörighetsläge en hash med två tuppeln (från källans IP-adress och mål-IP-adress) eller en hash med tre tuppler (från källans IP-adress, mål-IP-adress och protokolltyp). Hashen ser till att förfrågningar från en viss klient alltid skickas till samma virtuella dator bakom lastbalanseraren.
Välja ett distributionsläge
I exemplet med sjukvårdsportalen kan du tänka dig att ett utvecklarkrav för presentationsnivån är att använda minnesinterna sessioner för att lagra den inloggade användarens profil när användaren interagerar med portalen.
I det här scenariot måste lastbalanseraren tillhandahålla källans IP-tillhörighet för att upprätthålla en användarsession. Profilen lagras endast på den virtuella dator som klienten först ansluter till, eftersom ip-adressen dirigeras till samma server. När du skapar lastbalanserarens slutpunkt måste du ange distributionsläget med hjälp av följande PowerShell-exempel:
$lb = Get-AzLoadBalancer -Name MyLb -ResourceGroupName MyResourceGroup
$lb.LoadBalancingRules[0].LoadDistribution = 'sourceIp'
Set-AzLoadBalancer -LoadBalancer $lb
Så här lägger du till sessionspermanens via Azure-portalen:
I Azure Portal väljer du din Load Balancer-resurs.
På sidan Belastningsutjämningsregler under fönstret Inställningar väljer du relevant belastningsutjämningsregel.
På sidan inställningar för belastningsutjämningsregel ändrar du värdet för Sessionspersistence från Ingen till Klient-IP.
Load Balancer och Fjärrskrivbordsgateway
Fjärrskrivbordsgateway är en Windows-tjänst som gör det möjligt för klienter på Internet att upprätta RDP-anslutningar (Remote Desktop Protocol) via brandväggar till fjärrskrivbordsservrar i ditt privata nätverk. 5-tuppelstandardhashen i Load Balancer är inte kompatibel med den här tjänsten. Om du vill använda Load Balancer med dina fjärrskrivbordsservrar ska du använda källans IP-tillhörighet.
Load Balancer och uppladdning av media
Ett annat användningsfall för källans IP-tillhörighet är medieuppladdning. I många implementeringar initierar en klient en session via ett TCP-protokoll (Transmission Control Protocol) och ansluter till en mål-IP-adress. Den här anslutningen är öppen under uppladdningen för att övervaka förloppet, men filen laddas upp via ett separat UDP-protokoll (User Datagram Protocol).
Med hashen med fem tupplar skickar lastbalanseraren troligen TCP- och UDP-anslutningarna till olika mål-IP-adresser och uppladdningen slutförs inte. Använd källans IP-tillhörighet för att åtgärda det här problemet.