Läs på engelska

Så här fungerar Azure Load Balancer

Slutförd

Azure Load Balancer körs på transportskiktet i OSI-modellen. Den här Layer 4-funktionen tillåter trafikhantering baserat på specifika egenskaper för trafiken. Egenskaper som käll- och måladress, TCP- eller UDP-protokolltyp och portnummer.

Load Balancer har flera element som fungerar tillsammans för att säkerställa ett programs höga tillgänglighet och prestanda:

  • Front-end IP-adress
  • Regler för lastbalanserare
  • Serverdelspool
  • Hälsokontroller
  • Inkommande NAT-regler
  • Portar med hög tillgänglighet
  • Regler för utgående trafik

Frontend-IP

Klientdelens IP-adress är den adress som klienter använder för att ansluta till ditt webbprogram. En klientdels-IP-adress kan vara antingen en offentlig eller en privat IP-adress. Azure-lastbalanserare kan ha flera ip-adresser på klientsidan. Valet av en offentlig eller en privat IP-adress avgör vilken typ av lastbalanserare som ska skapas:

  • offentlig IP-adress: En offentlig lastbalanserare: En offentlig lastbalanserare mappar den offentliga IP-adressen och porten för inkommande trafik till den privata IP-adressen och porten för den virtuella datorn. Du kan distribuera specifika typer av trafik över flera virtuella datorer eller tjänster genom att tillämpa belastningsutjämningsregler. Du kan till exempel sprida belastningen på webbbegärandetrafik över flera webbservrar. Lastbalanseraren mappar svarstrafiken från den privata IP-adressen och porten för den virtuella datorn till den offentliga IP-adressen och porten för lastbalanseraren. Sedan skickar den tillbaka svaret till den begärande klienten.

  • privat IP-adress: En intern lastbalanserare: En intern lastbalanserare distribuerar trafik till resurser som finns i ett virtuellt nätverk. Azure begränsar åtkomsten till klientdelens IP-adresser för ett virtuellt nätverk som är lastbalanserat. Klientdelens IP-adresser och virtuella nätverk exponeras aldrig direkt för en Internetslutpunkt. Interna verksamhetsspecifika program körs i Azure och nås från Azure eller från lokala resurser via en VPN- eller ExpressRoute-anslutning.

    diagram som visar hur offentliga och interna lastbalanserare fungerar i Azure Load Balancer.

Regler för lastbalanserare

En lastbalanseringsregel definierar hur trafik distribueras till serverdelspoolen. Regeln mappar en given ip- och portkombination för klientdelen till en uppsättning backend-IP-adresser och portkombinationer.

diagram som visar hur lastbalanseringsregler fungerar i Azure Load Balancer.

Trafiken hanteras med hjälp av en fem-tuple hash som består av följande element:

  • Käll-IP-: IP-adressen för den begärande klienten.
  • Source port: Porten för den begärande klienten.
  • MÅL-IP-: Begärans mål-IP-adress.
  • Målport: Målporten för begäran.
  • Protokolltyp: Den angivna protokolltypen, TCP eller UDP.
  • Sessionstillhörighet: Säkerställer att samma poolnod alltid hanterar trafik för en klient.

Med Load Balancer kan du lastbalansera tjänster på flera portar, flera IP-adresser eller båda. Du kan konfigurera olika belastningsutjämningsregler för varje klientdels-IP. Flera klientdelskonfigurationer stöds endast med virtuella IaaS-datorer.

Load Balancer kan inte tillämpa olika regler baserat på internt trafikinnehåll eftersom det fungerar på Layer 4 (transportlager) i OSI-modellen. Om du behöver hantera trafik baserat på dess layer 7-egenskaper (programskikt) måste du distribuera en lösning som Azure Application Gateway.

Serverdelspool

Serverdelspoolen är en grupp med virtuella datorer eller instanser i en VM-skalningsuppsättning som svarar på inkommande förfrågningar. För att skala kostnadseffektivt för att möta stora volymer inkommande trafik rekommenderar riktlinjerna för databehandling vanligtvis att du lägger till fler instanser i serverdelspoolen.

Load Balancer implementerar automatisk omkonfiguration för att omdistribuera belastningen över det ändrade antalet instanser när du skalar instanser uppåt eller nedåt. Om du till exempel har lagt till ytterligare två virtuella datorinstanser i serverdelspoolen konfigurerar Load Balancer om sig själv för att börja balansera trafik till dessa instanser baserat på de redan konfigurerade belastningsutjämningsreglerna.

Hälsokontroller

En hälsokontroll används för att fastställa hälsostatusen för instanserna i backend-poolen. Den här hälsokontrollen avgör om en instans är i gott skick och kan ta emot trafik. Du kan definiera ohälsotillståndströskeln för dina hälsokontroller. När en sond misslyckas med att svara upphör lastbalanseraren att skicka nya anslutningar till de icke-fungerande instanserna. Ett pro/fel påverkar inte befintliga anslutningar. Anslutningen fortsätter tills:

  • Programmet avslutar flödet.
  • Tidsgränsen för inaktivitet uppstår.
  • Den virtuella datorn stängs av.

Med Load Balancer kan du konfigurera olika typer av hälsokontroller för slutpunkter: TCP, HTTP och HTTPS.

  • anpassad TCP-sond: Den här sonden förlitar sig på att etablera en lyckad TCP-session till en definierad sondport. Om den angivna lyssnaren på den virtuella datorn finns lyckas avsökningen. Om anslutningen nekas misslyckas proben. Du kan ange Port, Intervall och ohälsosam tröskelvärde.
  • http- eller HTTPS-anpassad avsökning: Lastbalanseraren avsöker regelbundet slutpunkten (var 15:e sekund som standard). Instansen är felfri om den svarar med en HTTP 200 inom tidsgränsen (standardvärdet är 31 sekunder). Alla andra statusar än HTTP 200 gör att avsökningen misslyckas. Du kan ange porten (port), URI:n för att begära hälsostatus från serverdelen (URI), hur lång tid det tar mellan avsökningsförsök (intervall) och antalet fel som måste inträffa för att instansen ska betraktas som felaktig (tröskelvärde för ej felfri).

Sessionsbeständighet

Som standard distribuerar Load Balancer nätverkstrafik lika mellan flera VM-instanser. Det ger endast stabilitet inom en transportsession. Sessionspersistence anger hur trafik från en klient ska hanteras. Standardbeteendet (Ingen) är att alla felfria virtuella datorer kan hantera efterföljande begäranden från en klient.

Sessionspersistence kallas även sessionstillhörighet, käll-IP-tillhörighet eller klientens IP-tillhörighet. Det här distributionsläget använder en hash med två tupplar (käll-IP och mål-IP) eller tre tupplar (käll-IP, mål-IP och protokolltyp) för att dirigera till back-endinstanser. När du använder sessionspersistence går anslutningar från samma klient till samma serverdelsinstans i serverdelspoolen. Du kan konfigurera något av följande alternativ för sessionspersistence:

  • Ingen (standard): Anger att en felfri virtuell dator kan hantera begäran.
  • klient-IP (2-tupplar): Anger att samma serverdelsinstans kan hantera efterföljande begäranden från samma klient-IP-adress.
  • klient-IP och protokoll (3 tupplar): Anger att samma serverdelsinstans kan hantera efterföljande begäranden från samma klient-IP-adress och protokollkombination.

Du kan ändra det här beteendet genom att konfigurera något av de alternativ som beskrivs i följande avsnitt.

Portar med hög tillgänglighet

En lastbalanseringsregel som konfigurerats med protocol - all and port - 0 kallas portregel för hög tillgänglighet (HA). Den här regeln gör det möjligt för en enskild regel att belastningsutjämna alla TCP- och UDP-flöden som tas emot på alla portar i en intern standardlastbalanserare.

Belastningsutjämningsbeslutet fattas per flöde. Den här åtgärden grundar sig på följande femtalskoppling:

  • Källans IP-adress
  • Källport
  • Mål-IP-adress
  • Målport
  • Protokoll

Regler för lastbalansering av HA-portar hjälper dig med kritiska scenarier, till exempel hög tillgänglighet och skalning för virtuella nätverksinstallationer (NVA) i virtuella nätverk. Funktionen kan vara till hjälp när ett stort antal portar måste lastbalanseras.

diagram som visar hur portar med hög tillgänglighet fungerar i Azure Load Balancer.

Inkommande NAT-regler

Du kan använda belastningsutjämningsregler i kombination med NAT-regler (Network Address Translation). Du kan till exempel använda NAT från lastbalanserarens offentliga adress till TCP 3389 på en specifik virtuell dator. Den här regelkombinationen tillåter fjärrskrivbordsåtkomst utanför Azure.

diagram som visar hur inkommande NAT-regler fungerar i Azure Load Balancer.

Regler för utgående trafik

En regel för utgående trafik konfigurerar SNAT (Source Network Address Translation) för alla virtuella datorer eller instanser som identifieras av serverdelspoolen. Den här regeln gör det möjligt för instanser i serverdelen att kommunicera (utgående) till Internet eller andra offentliga slutpunkter.

diagram som visar hur utgående regler fungerar i Azure Load Balancer.