Dela via


Överväganden för Azure NAT Gateway för flera klientorganisationer

Azure NAT Gateway ger kontroll över utgående nätverksanslutningar från dina resurser som finns i ett virtuellt Azure-nätverk. I den här artikeln går vi igenom hur NAT Gateway kan minska SNAT-portöverbelastning (Source Network Address Translation), vilket kan påverka program med flera klienter. Vi granskar också hur NAT Gateway tilldelar statiska IP-adresser till den utgående trafiken från din lösning för flera klienter.

Kommentar

Med brandväggar som Azure Firewall kan du styra och logga utgående trafik. Azure Firewall tillhandahåller också liknande SNAT-portskalning och utgående IP-adresskontroll till NAT Gateway. NAT Gateway är billigare, men den har också färre funktioner och är inte en säkerhetsprodukt.

Funktioner i NAT Gateway som stöder flera klientorganisationer

Storskaliga SNAT-portar

SNAT-portar allokeras när ditt program gör flera samtidiga utgående anslutningar till samma offentliga IP-adress på samma port. SNAT-portar är en begränsad resurs i lastbalanserare. Om programmet öppnar ett stort antal separata anslutningar till samma värd kan det använda alla tillgängliga SNAT-portar. Den här situationen kallas för SNAT-portöverbelastning.

I de flesta program indikerar SNAT-portöverbelastning att programmet hanterar HTTP-anslutningar eller TCP-portar felaktigt. Vissa program med flera klienter löper dock särskild risk att överskrida SNAT-portgränserna, även om de återanvänder anslutningar på lämpligt sätt. Den här situationen kan till exempel inträffa när ditt program ansluter till många klientspecifika databaser bakom samma databasgateway.

Dricks

Om du ser SNAT-portöverbelastning i ett program med flera klientorganisationer bör du kontrollera om programmet följer god praxis. Se till att du återanvänder HTTP-anslutningar och inte återskapar nya anslutningar varje gång du ansluter till en extern tjänst. Du kanske kan distribuera en NAT Gateway för att lösa problemet, men om koden inte följer bästa praxis kan du stöta på problemet igen i framtiden.

Problemet förvärras när du arbetar med Azure-tjänster som delar SNAT-portallokeringar mellan flera kunder, till exempel Azure App Service och Azure Functions.

Om du bedömer att du upplever SNAT-överbelastning och är säker på att programkoden hanterar dina utgående anslutningar korrekt bör du överväga att distribuera NAT Gateway. Den här metoden används ofta av kunder som distribuerar lösningar med flera klientorganisationer som bygger på Azure App Service och Azure Functions.

En enskild NAT-gateway kan ha flera offentliga IP-adresser kopplade, och varje offentlig IP-adress tillhandahåller en uppsättning SNAT-portar för att ansluta utgående till Internet. Information om det maximala antalet SNAT-portar och IP-adresser som en enda NAT-gateway kan stödja finns i Azure-prenumerations- och tjänstgränser, kvoter och begränsningar. Om du behöver skala över den här gränsen kan du överväga att distribuera flera NAT Gateway-instanser över flera undernät eller virtuella nätverk. Varje virtuell dator i ett undernät kan använda någon av de tillgängliga SNAT-portarna om den behöver dem.

Utgående IP-adresskontroll

Utgående IP-adresskontroll kan vara användbar i program med flera klienter när du har alla följande krav:

  • Du använder Azure-tjänster som inte automatiskt tillhandahåller dedikerade statiska IP-adresser för utgående trafik. Dessa tjänster omfattar Azure App Service, Azure Functions, API Management (när du kör på förbrukningsnivån) och Azure Container Instances.
  • Du måste ansluta till klientorganisationens nätverk via Internet.
  • Dina klienter måste filtrera inkommande trafik baserat på IP-adressen för varje begäran.

När en NAT Gateway-instans tillämpas på ett undernät använder all utgående trafik från det undernätet de offentliga IP-adresser som är associerade med NAT-gatewayen.

Kommentar

När du associerar flera offentliga IP-adresser med en enda NAT Gateway kan din utgående trafik komma från någon av dessa IP-adresser. Du kan behöva konfigurera brandväggsregler på målet. Du bör antingen tillåta varje IP-adress eller använda en offentlig IP-adressprefixresurs för att använda en uppsättning offentliga IP-adresser i samma intervall.

Isoleringsmodeller

Om du behöver ange olika utgående offentliga IP-adresser för varje klientorganisation måste du distribuera enskilda NAT Gateway-resurser. Varje undernät kan associeras med en enda NAT Gateway-instans. Om du vill distribuera fler NAT-gatewayer måste du distribuera flera undernät eller virtuella nätverk. I sin tur behöver du förmodligen distribuera flera uppsättningar beräkningsresurser.

Mer information om hur du utformar en nätverkstopologi för flera klientorganisationer finns i Arkitekturmetoder för nätverk i lösningar med flera klientorganisationer.

Deltagare

Den här artikeln underhålls av Microsoft. Det har ursprungligen skrivits av följande medarbetare.

Huvudförfattare:

  • John Downs | Huvudkundtekniker, FastTrack för Azure

Övriga medarbetare:

Om du vill se icke-offentliga LinkedIn-profiler loggar du in på LinkedIn.

Nästa steg