Regler för utgående trafik Azure Load Balancer

Outbound-regler tillåter dig att explicit definiera source network address translation (SNAT) för en publik Standard Load Balancer. Med den här konfigurationen kan du använda de offentliga IP-adresserna för lastbalanseraren för att tillhandahålla utgående Internetanslutning för dina serverdelsinstanser.

Den här konfigurationen aktiverar:

  • IP-maskering
  • Förenkla dina tillåtna listor.
  • Minskar antalet offentliga IP-resurser för distribution.

Med regler för utgående trafik har du fullständig deklarativ kontroll över utgående Internetanslutning. Med regler för utgående trafik kan du skala och justera den här möjligheten efter dina specifika behov.

Utgående regler gäller endast när den virtuella backend-maskinen (VM) inte har en instansnivå offentlig IP-adress.

Skärmbild av konfigurationen av SNAT-portar på virtuella datorer med regler för utgående lastbalanserare.

Med regler för utgående trafik kan du uttryckligen definiera utgående SNAT-beteende .

Med regler för utgående trafik kan du styra:

  • Vilka virtuella datorer översätts till vilka offentliga IP-adresser.
    • Två regler där serverdelspool 1 använder både blå IP-adresser och serverdelspool 2 använder det gula IP-prefixet.
  • Hur utgående SNAT-portar allokeras.
    • Om serverdelspool 2 är den enda poolen som upprättar utgående anslutningar ger du alla SNAT-portar till serverdelspool 2 och ingen till serverdelspool 1.
  • Vilka protokoll som ska tillhandahålla utgående översättning för.
    • Om serverdelspool 2 behöver UDP-portar för utgående trafik och serverdelspool 1 behöver TCP, ger du TCP-portar till 1 och UDP-portar till 2.
  • Vilken varaktighet som ska användas vid tidsgränsen för inaktivitet för utgående anslutning (4–120 minuter).
    • Om det finns långvariga anslutningar med keepalives reserverar du inaktiva portar för långvariga anslutningar i upp till 120 minuter. Anta att inaktuella anslutningar överges och portar frisläpps efter 4 minuter för att vara tillgängliga för nya anslutningar.
  • Huruvida en TCP-återställning ska skickas vid tidsgräns för inaktivitet.
    • När vi avslutar inaktiva anslutningar, skickar vi en TCP RST till klienten och servern så att de vet att datakommunikationen har avbrutits?

Viktigt!

När en backend-pool konfigureras med IP-adress kommer den att fungera som en grundläggande Load Balancer med standardutgående trafik aktiverad. För en standardkonfiguration som är säker och applikationer med krävande utgående behov, konfigurerar du backend-poolen per nätverkskort.

Regeldefinition för utgående trafik

Regler för utgående trafik följer samma välbekanta syntax som regler för belastningsutjämning och inkommande NAT-regler: frontend + parametrar + backend-pool.

En utgående regel konfigurerar utgående NAT för alla virtuella datorer som identifieras av serverdelspoolen som ska översättas till klientdelen.

Parametrarna ger detaljerad kontroll över den utgående NAT-algoritmen.

Skala utgående NAT med flera IP-adresser

Varje extra IP-adress som tillhandahålls av en klientdel ger ytterligare 64 000 tillfälliga portar som lastbalanseraren kan använda som SNAT-portar. Lastbalanseraren använder IP-adresser efter behov baserat på tillgängliga portar. Lastbalanseraren använder nästa IP-adress när anslutningarna inte längre kan göras med den aktuella IP-adressen som används.

Använd flera IP-adresser för att planera för storskaliga scenarier. Använd utgående regler för att minska SNAT-överbelastning enligt beskrivningen i Support och felsökning för Azure Load Balancer.

Du kan också använda ett offentligt IP-prefix direkt med en regel för utgående trafik.

Ett offentligt IP-prefix ökar skalningen av distributionen. Prefixet kan läggas till i listan över tillåtna flöden som kommer från dina Azure resurser. Du kan konfigurera en IP-konfiguration för klientdelen i lastbalanseraren för att referera till ett offentligt IP-adressprefix.

Lastbalanseraren har kontroll över det offentliga IP-prefixet. Utgående regel använder automatiskt andra offentliga IP-adresser som finns i det offentliga IP-prefixet när inga fler utgående anslutningar kan göras med den aktuella IP-adressen som används från prefixet.

Var och en av IP-adresserna i det offentliga IP-prefixet ger ytterligare 64 000 tillfälliga portar per IP-adress för lastbalanserare som ska användas som SNAT-portar.

Tidsgräns för inaktivitet för utgående flöde och TCP-återställning

Regler för utgående trafik ger en konfigurationsparameter som styr tidsgränsen för inaktivt utgående flöde och matchar programmets behov. Utgående inaktivitetstidsgräns är som standard 4 minuter. För mer information, se konfigurera inaktivitetsavbrott.

Standardbeteendet för lastbalanseraren är att släppa flödet tyst när tidsgränsen för utgående inaktivitet har uppnåtts. Parametern enableTCPReset möjliggör ett förutsägbart programbeteende och kontroll. Parametern avgör om du vill skicka tvåvägs TCP-återställning (TCP RST) vid tidsgränsen för utgående inaktivitet.

Läs TCP Reset on idle timeout (TCP-återställning vid tidsgräns för inaktivitet) för mer information, inklusive regiontillgänglighet.

Skydda och kontrollera explicit utgående anslutningar

Belastningsutjämningsregler ger automatisk programmering av utgående NAT. Vissa scenarier gynnar eller kräver att du inaktiverar automatisk programmering av utgående NAT av belastningsutjämningsregeln. Om du inaktiverar via regeln kan du styra eller förfina beteendet.

Du kan använda den här parametern på två sätt:

  1. Förhindra användningen av inkommande IP-adress i utgående SNAT. Inaktivera utgående SNAT i belastningsutjämningsregeln.

  2. Justera de utgående SNAT-parametrarna för en IP-adress som används för inkommande och utgående samtidigt. Automatisk utgående NAT måste inaktiveras för att en regel för utgående trafik ska kunna ta kontroll. Om du vill ändra SNAT-portallokeringen för en adress som också används för inkommande trafik måste parametern disableOutboundSnat anges till true.

Åtgärden för att konfigurera en utgående regel misslyckas om du försöker omdefiniera en IP-adress som används för inkommande trafik. Inaktivera den utgående NAT för belastningsutjämningsregeln först.

Viktigt!

Den virtuella datorn har inte utgående anslutning om du anger den här parametern till true och inte har någon regel för utgående trafik för att definiera utgående anslutning. Vissa åtgärder för den virtuella datorn eller ditt program kan bero på att det finns en tillgänglig utgående anslutning. Se till att du förstår beroendena i ditt scenario och har övervägt effekten av att göra den här ändringen.

Ibland är det inte önskvärt för en virtuell dator att skapa ett utgående flöde. Det kan finnas ett krav på att hantera vilka mål som tar emot utgående flöden eller vilka mål som påbörjar inkommande flöden. Använd nätverkssäkerhetsgrupper för att hantera destinationerna som den virtuella datorn når. Använd NSG:er för att hantera vilka publika mål som påbörjar inkommande flöden.

När du tillämpar en NSG på en belastningsutjämnad virtuell dator bör du vara uppmärksam på tjänsttaggar och standardsäkerhetsregler.

Se till att den virtuella datorn kan ta emot hälsoavsökningsbegäranden från Azure Load Balancer.

Om en NSG blockerar begäranden om hälsoavsökningar från AZURE_LOADBALANCER standardtagg misslyckas den virtuella datorns hälsoavsökning och den virtuella datorn markeras som otillgänglig. Lastbalanseraren slutar skicka nya flöden till den virtuella datorn.

Scenarier med utgående regler

Scenario 1: Konfigurera utgående anslutningar till en specifik uppsättning offentliga IP-adresser eller prefix

Konfigurera de publika IP-adresser som används för utgående anslutningar

Detta scenario gäller för backend-VM:ar på en offentlig Standard Load Balancer. Använd den för att få utgående anslutningar att starta från en specifik uppsättning publika IP-adresser eller ett publikt IP-prefix. Du kan sedan lägga till dessa adresser eller prefixet i en tillåtslista eller blocklista.

Den här offentliga IP-adressen eller prefixet kan vara samma som används av en belastningsutjämningsregel.

Så här använder du en annan offentlig IP-adress eller ett annat prefix än vad som används av en belastningsutjämningsregel:

  1. Skapa offentligt IP-prefix eller offentlig IP-adress.
  2. Skapa en offentlig standardlastbalanserare
  3. Skapa en klientdel som refererar till det offentliga IP-prefixet eller den offentliga IP-adress som du vill använda.
  4. Återanvänd en serverdelspool eller skapa en serverdelspool och placera de virtuella datorerna i en serverdelspool i den offentliga lastbalanseraren
  5. Konfigurera en regel för utgående trafik på den offentliga lastbalanseraren för att aktivera utgående NAT för de virtuella datorerna med hjälp av klientdelen. Vi rekommenderar inte att du använder en belastningsutjämningsregel för utgående trafik. Inaktivera utgående SNAT på belastningsutjämningsregeln.

Scenario 2: Ändra SNAT-portallokering

Konfigurera SNAT-portar per backend-instans

Detta scenario gäller för en offentlig Standard Load Balancer med en utgående regel. Använd den för att justera den automatiska SNAT-portallokeringen baserat på backend-poolens storlek, inklusive att öka allokeringen när du upplever SNAT-utmattning.

Allokeringsregel Behavior
Portar som är tillgängliga per frontend Varje offentlig IP-adress bidrar med upp till 64 000 tillfälliga portar.
Tillgängliga portar per VM Dela upp det totala antalet tillgängliga portar över VM:arna i backend-poolen. Till exempel kan en VM ta emot upp till 64 000 portar från en frontend IP-adress, medan två VM:ar kan ta emot upp till 32 000 portar vardera.
Allokeringsinkrementer Ange portar i multiplar av åtta. Azure avvisar värden som inte är delbara med åtta. Lastbalanseringsregler och inkommande NAT-regler förbrukar vardera ett intervall på åtta portar, men regler som delar samma intervall förbrukar inte extra portar.
Kapacitetsvalidering Portarna som tilldelas per VM multiplicerat med antalet VM:ar får inte överstiga portarna som finns tillgängliga från alla frontend-IP-adresser. Azure avvisar tilldelningar som överstiger denna kapacitet.
Återställ automatisk allokering Ange 0 antalet portar.

Till exempel kräver en tilldelning av 10 000 portar per VM för sju VM:ar 70 000 portar. En frontend IP-adress ger endast 64 000 portar, så Azure avvisar konfigurationen. Lägg till en annan publik IP-adress i frontend eller minska tilldelningen per VM.

För mer information, se tabellen för SNAT-portallokering.

Scenario 3: Aktivera endast utgående trafik

Tillhandahålla utgående anslutning utan inkommande regler

Detta scenario gäller för en publik Standard Load Balancer vars backend-VM:ar behöver utgående anslutning utan inkommande lastbalanseringsregler. Konfigurera regeln för utgående trafik separat, utan att konfigurera ytterligare regler.

Anteckning

Azure NAT Gateway kan tillhandahålla utgående anslutning för virtuella datorer utan att behöva en lastbalanserare. Mer information finns i Vad är Azure NAT Gateway?.

Scenario 4: Endast utgående NAT för virtuella datorer (inga inkommande)

Anteckning

Azure NAT Gateway kan tillhandahålla utgående anslutning för virtuella datorer utan att behöva en lastbalanserare. Mer information finns i Vad är Azure NAT Gateway?.

Konfigurera endast utgående anslutning för backend-VM:er

Detta scenario gäller för virtuella maskiner som behöver utgå från ett virtuellt nätverk utan inkommande anslutning. Azure Load Balancer outbound-regler och Azure NAT Gateway är de tillgängliga alternativen.

  1. Skapa en offentlig IP-adress eller ett prefix.
  2. Skapa en offentlig standardlastbalanserare.
  3. Skapa en klientdel som är associerad med den offentliga IP-adressen eller prefixet för utgående trafik.
  4. Skapa en serverdelspool för de virtuella datorerna.
  5. Placera de virtuella datorerna i serverdelspoolen.
  6. Konfigurera en utgående regel för att aktivera utgående NAT.

Använd ett prefix eller en offentlig IP-adress för att skala SNAT-portar . Lägg till källan för utgående anslutningar i en lista över tillåtna eller blockerade anslutningar.

Scenario 5: Utgående NAT för intern standardlastbalanserare

Anteckning

Azure NAT Gateway kan tillhandahålla utgående anslutning för virtuella datorer som använder en intern standardlastbalanserare. Mer information finns i Vad är Azure NAT Gateway?.

Tillhandahålla utgående anslutning för en intern standard lastbalanserare

Detta scenario gäller backend-VM:er som använder en intern standard lastbalanserare. Dessa virtuella datorer har ingen utgående anslutning förrän du uttryckligen tillhandahåller den via offentliga IP-adresser på instansnivå, Azure NAT Gateway eller en konfiguration för en offentlig lastbalanserare endast för utgående trafik som du kopplar till medlemmarna i backend-poolen.

Mer information finns i Konfiguration av lastbalanserare med endast utgående trafik.

Scenario 6: Aktivera både TCP- och UDP-protokoll för utgående NAT med en offentlig standardlastbalanserare

Aktivera TCP och UDP för utgående NAT

Detta scenario gäller för en offentlig Standard Load Balancer. Automatisk utgående NAT använder samma transportprotokoll som lastbalanseringsregeln. För att tillhandahålla både TCP- och UDP-utgående anslutning, konfigurera en utgående regel som använder alla protokoll.

  1. Inaktivera utgående SNAT på belastningsutjämningsregeln.
  2. Konfigurera en regel för utgående trafik på samma lastbalanserare.
  3. Återanvänd den serverdelspool som redan används av dina virtuella datorer.
  4. Ange "protokoll": "Alla" som en del av den utgående regeln.

När endast inkommande NAT-regler används tillhandahålls ingen utgående NAT.

  1. Placera virtuella datorer i en serverdelspool.
  2. Definiera en eller flera IP-konfigurationer på klientsidan med offentliga IP-adresser eller offentligt IP-prefix
  3. Konfigurera en regel för utgående trafik på samma lastbalanserare.
  4. Ange "protokoll": "Alla" som en del av utgående regel

Begränsningar

  • Det maximala antalet användbara tillfälliga portar per klientdels-IP-adress är 64 000.
  • Intervallet för den konfigurerbara tidsgränsen för utgående inaktivitet är 4 till 120 minuter (240 till 7 200 sekunder).
  • Lastbalanseraren stöder inte ICMP för utgående NAT, de enda protokoll som stöds är TCP och UDP.
  • Regler för utgående trafik kan endast tillämpas på den primära IPv4-konfigurationen för ett nätverkskort. Du kan inte skapa en regel för utgående trafik för de sekundära IPv4-konfigurationerna för en virtuell dator eller NVA. Flera nätverkskort stöds.
  • Utgående regler för den sekundära IP-konfigurationen stöds endast för IPv6.
  • Alla virtuella datorer i en tillgänglighetsuppsättning måste läggas till i serverdelspoolen för utgående anslutning.
  • Alla virtuella datorer i en VM-skalningsuppsättning måste läggas till i serverdelspoolen för utgående anslutning.

Nästa steg