Azure NAT Gateway-resurs

Den här artikeln beskriver de viktigaste komponenterna i NAT-gatewayresursen som gör att den kan tillhandahålla mycket säker, skalbar och elastisk utgående anslutning. Vissa av dessa komponenter kan konfigureras i din prenumeration via Azure-portalen, Azure CLI, Azure PowerShell, Resource Manager-mallar eller lämpliga alternativ.

NAT Gateway-arkitektur

NAT Gateway använder programvarudefinierade nätverk för att fungera som en distribuerad och fullständigt hanterad tjänst. Eftersom NAT Gateway har flera feldomäner kan den klara flera fel utan någon effekt på tjänsten.

NAT Gateway tillhandahåller källnätverksadressöversättning (SNAT) för privata instanser i undernät i ditt virtuella Azure-nätverk. När de konfigureras i ett undernät ansluter de privata IP-adresserna i dina undernät SNAT till en NAT-gateways statiska offentliga IP-adresser för att ansluta utgående till Internet. NAT Gateway tillhandahåller även målnätverksadressöversättning (DNAT) för svarspaket endast till en utgående anslutning.

Diagram över en NAT-gatewayresurs med virtuella datorer.

Bild: NAT-gateway för utgående trafik till Internet

När en NAT-gateway är ansluten till ett undernät i ett virtuellt nätverk förutsätter NAT-gatewayen undernätets standardtyp för nästa hopp för all utgående trafik som dirigeras till Internet. Inga extra routningskonfigurationer krävs. NAT Gateway tillhandahåller inte oönskad inkommande anslutningar från Internet. DNAT utförs endast för paket som anländer som svar på ett utgående paket.

Undernät

En NAT-gateway kan kopplas till flera undernät i ett virtuellt nätverk för att tillhandahålla utgående anslutning till Internet. När en NAT-gateway är ansluten till ett undernät förutsätter den standardvägen till Internet. NAT-gatewayen blir sedan nästa hopptyp för all utgående trafik som är avsedd för Internet.

Följande undernätskonfigurationer kan inte användas med en NAT-gateway:

  • När NAT-gatewayen är ansluten till ett undernät förutsätter den standardvägen till Internet. Endast en NAT-gateway kan fungera som standardväg till Internet för ett undernät.

  • En NAT-gateway kan inte kopplas till undernät från olika virtuella nätverk.

  • En NAT-gateway kan inte användas med ett gateway-undernät. Ett gateway-undernät är ett särskilt undernät för en VPN-gateway för att skicka krypterad trafik mellan ett virtuellt Azure-nätverk och en lokal plats. Mer information om gatewayundernätet finns i Gateway-undernät.

Statiska offentliga IP-adresser

En NAT-gateway kan associeras med statiska offentliga IP-adresser eller offentliga IP-prefix för att tillhandahålla utgående anslutning. NAT Gateway stöder IPv4-adresser. En NAT-gateway kan använda offentliga IP-adresser eller prefix i valfri kombination upp till totalt 16 IP-adresser. Om du tilldelar ett offentligt IP-prefix används hela det offentliga IP-prefixet. Du kan använda ett offentligt IP-prefix direkt eller distribuera de offentliga IP-adresserna för prefixet över flera NAT-gatewayresurser. NAT-gatewayen rensar all trafik till prefixets IP-adressintervall.

  • En NAT-gateway kan inte användas med offentliga IPv6-IP-adresser eller prefix.

  • En NAT-gateway kan inte användas med grundläggande offentliga SKU-IP-adresser.

SNAT-portar

SNAT-portinventering tillhandahålls av offentliga IP-adresser, offentliga IP-prefix eller båda anslutna till en NAT-gateway. SNAT-portinventeringen görs tillgänglig på begäran för alla instanser i ett undernät som är kopplat till NAT-gatewayen. Ingen förallokering av SNAT-portar per instans krävs.

Mer information om SNAT-portar och Azure NAT Gateway finns i SNAT (Source Network Address Translation) med Azure NAT Gateway.

När flera undernät i ett virtuellt nätverk är anslutna till samma NAT-gatewayresurs delas SNAT-portinventeringen som tillhandahålls av NAT Gateway över alla undernät.

SNAT-portar fungerar som unika identifierare för att skilja olika anslutningsflöden från varandra. Samma SNAT-port kan användas för att ansluta till olika målslutpunkter samtidigt.

Olika SNAT-portar används för att upprätta anslutningar till samma målslutpunkt för att skilja olika anslutningsflöden från varandra. SNAT-portar som återanvänds för att ansluta till samma mål placeras på en timer för nedkylning av återanvändning innan de kan återanvändas.

Diagram över SNAT-portallokering.

Bild: SNAT-portallokering

En enda NAT-gateway kan skala upp till 16 IP-adresser. Varje offentlig IP-adress för NAT-gatewayen tillhandahåller 64 512 SNAT-portar för att upprätta utgående anslutningar. En NAT-gateway kan skala upp till över 1 miljon SNAT-portar. TCP och UDP är separata SNAT-portinventeringar och är inte relaterade till NAT Gateway.

Tillgänglighetszoner

En NAT-gateway kan skapas i en specifik tillgänglighetszon eller placeras i ingen zon. När en NAT-gateway placeras i ingen zon väljer Azure en zon som NAT-gatewayen ska finnas i.

Zonredundanta offentliga IP-adresser kan användas med zonindeliga eller inga NAT-gatewayresurser i zonen.

Rekommendationen är att konfigurera en NAT-gateway till enskilda tillgänglighetszoner. Dessutom bör den kopplas till undernät med privata instanser från samma zon. Mer information om tillgänglighetszoner och Azure NAT Gateway finns i Designöverväganden för tillgänglighetszoner.

Diagram över zonisolering genom att skapa zonindelade staplar.

När en NAT-gateway har distribuerats kan zonvalet inte ändras.

Protokoll

NAT Gateway interagerar med IP- och IP-transporthuvuden för UDP- och TCP-flöden. NAT Gateway är agnostisk för nyttolaster på programnivå. Andra IP-protokoll stöds inte.

TCP-återställning

Ett TCP-återställningspaket skickas när en NAT-gateway identifierar trafik i ett anslutningsflöde som inte finns. TCP-återställningspaketet anger för den mottagande slutpunkten att versionen av anslutningsflödet har inträffat och all framtida kommunikation om samma TCP-anslutning misslyckas. TCP-återställning är enkelriktad för en NAT-gateway.

Anslutningsflödet kanske inte finns om:

  • Tidsgränsen för inaktivitet uppnåddes efter en period av inaktivitet i anslutningsflödet och anslutningen avbryts tyst.

  • Avsändaren, antingen från Azure-nätverkssidan eller från den offentliga Internetsidan, skickade trafik efter att anslutningen avbröts.

Ett TCP-återställningspaket skickas endast vid identifiering av trafik i det borttagna anslutningsflödet. Den här åtgärden innebär att ett TCP-återställningspaket kanske inte skickas direkt när ett anslutningsflöde har upphört.

Systemet skickar ett TCP-återställningspaket som svar på identifiering av trafik i ett icke-existerande anslutningsflöde, oavsett om trafiken kommer från Azure-nätverkssidan eller den offentliga Internetsidan.

Tidsgräns för TCP-inaktivitet

En NAT-gateway ger ett konfigurerbart tidsgränsintervall för inaktivitet på 4 minuter till 120 minuter för TCP-protokoll. UDP-protokoll har en icke-konfigurerbar tidsgräns för inaktivitet på 4 minuter.

När en anslutning blir inaktiv håller NAT-gatewayen kvar på SNAT-porten tills tidsgränsen för inaktiv anslutning överskrids. Eftersom tidsgränser för långa inaktiva tidsgränser i onödan kan öka sannolikheten för SNAT-portöverbelastning rekommenderar vi inte att TCP-timeouten ökar till längre tid än standardtiden på 4 minuter. Timern för inaktivitet påverkar inte ett flöde som aldrig blir inaktivt.

TCP keepalives kan användas för att ge ett mönster för uppdatering av långa inaktiva anslutningar och identifiering av slutpunkts liveness. Mer information finns i dessa .NET-exempel. TCP keepalives visas som duplicerade ACL:er till slutpunkterna, är låga omkostnader och osynliga för programskiktet.

Tidsgränser för UDP-inaktivitet kan inte konfigureras, UDP keepalives ska användas för att säkerställa att tidsgränsvärdet för inaktivitet inte nås och att anslutningen underhålls. Till skillnad från TCP-anslutningar gäller en UDP keepalive aktiverad på ena sidan av anslutningen endast för trafikflödet i en riktning. UDP keepalives måste vara aktiverat på båda sidor av trafikflödet för att hålla trafikflödet vid liv.

Timers

Timers för återanvändning av portar

Timers för återanvändning av portar avgör hur lång tid när en anslutning stängs som en källport hålls nere innan den kan återanvändas för att gå till samma målslutpunkt av NAT-gatewayen.

Följande tabell innehåller information om när en TCP-port blir tillgänglig för återanvändning till samma målslutpunkt av NAT-gatewayen.

Timer beskrivning Värde
TCP FIN När en anslutning stängs av ett TCP FIN-paket aktiveras en 65-sekunders timer som innehåller SNAT-porten. SNAT-porten är tillgänglig för återanvändning när timern är slut. 65 sekunder
TCP RST När en anslutning stängs av ett TCP RST-paket (återställning) aktiveras en 16-sekunders timer som innehåller SNAT-porten. När timern slutar är porten tillgänglig för återanvändning. 16 sekunder
TCP halvöppet Under anslutningsetableringen där en anslutningsslutpunkt väntar på bekräftelse från den andra slutpunkten aktiveras en 30-sekunders timer. Om ingen trafik identifieras stängs anslutningen. När anslutningen stängs är källporten tillgänglig för återanvändning till samma målslutpunkt. 30 sekunder

När en anslutning har stängts för UDP-trafik är porten i undantagsfall i 65 sekunder innan den är tillgänglig för återanvändning.

Timers för inaktiv timeout

Timer beskrivning Värde
Tidsgräns för TCP-inaktivitet TCP-anslutningar kan gå inaktiva när inga data överförs mellan någon av slutpunkterna under en längre tid. En timer kan konfigureras från 4 minuter (standard) till 120 minuter (2 timmar) för att tidsgränsen för en anslutning som har gått inaktiv. Trafik i flödet återställer timern för inaktiv timeout. Konfigurerbara; 4 minuter (standard) – 120 minuter
Tidsgräns för UDP-inaktivitet UDP-anslutningar kan gå inaktiva när inga data överförs mellan någon av slutpunkterna under en längre tid. TIDSGRÄNSER för UDP-inaktivitet är 4 minuter och kan inte konfigureras. Trafik i flödet återställer timern för inaktiv timeout. Inte konfigurerbar; 4 minuter

Kommentar

Dessa timerinställningar kan komma att ändras. Värdena tillhandahålls för felsökning och du bör inte vara beroende av specifika timers just nu.

Bandbredd

Varje NAT-gateway kan ge upp till totalt 50 Gbit/s dataflöde. Dataflödesbegränsning delas mellan utgående och inkommande data (svar). Dataflödet är hastighetsbegränsat till 25 Gbit/s för utgående och 25 Gbit/s för inkommande data (svar) per NAT-gatewayresurs. Du kan dela upp dina distributioner i flera undernät och tilldela varje undernät eller grupp av undernät till en NAT-gateway för att skala ut.

Prestanda

En NAT-gateway kan stödja upp till 50 000 samtidiga anslutningar per offentlig IP-adress till samma målslutpunkt via Internet för TCP och UDP. NAT-gatewayen kan bearbeta 1M-paket per sekund och skala upp till 5 miljoner paket per sekund.

Det totala antalet anslutningar som en NAT-gateway kan stödja vid en viss tidpunkt är upp till 2 miljoner. Om NAT-gatewayen överskrider 2 miljoner anslutningar ser du en minskning av datasökvägens tillgänglighet och nya anslutningar misslyckas.

Begränsningar

  • Grundläggande lastbalanserare och grundläggande offentliga IP-adresser är inte kompatibla med NAT-gateway. Använd standard-SKU-lastbalanserare och offentliga IP-adresser i stället.

  • NAT-gatewayen stöder inte ICMP

  • IP-fragmentering är inte tillgängligt för NAT Gateway.

  • NAT Gateway stöder inte offentliga IP-adresser med routningskonfigurationstypen Internet. En lista över Azure-tjänster som stöder routningskonfiguration på internet på offentliga IP-adresser finns i Tjänster som stöds för routning via offentligt Internet.

  • Offentliga IP-adresser med DDoS-skydd aktiverat stöds inte med NAT-gateway. Mer information finns i DDoS-begränsningar.

Nästa steg