Delen via


Overwegingen voor Azure NAT Gateway voor multitenancy

Azure NAT Gateway biedt controle over uitgaande netwerkconnectiviteit van uw resources die worden gehost in een virtueel Azure-netwerk. In dit artikel bekijken we hoe NAT Gateway SNAT-poortuitputting (Source Network Address Translation) kan beperken, wat van invloed kan zijn op multitenant-toepassingen. We bekijken ook hoe NAT Gateway statische IP-adressen toewijst aan het uitgaande verkeer van uw multitenant-oplossing.

Notitie

Met firewalls, zoals Azure Firewall, kunt u uitgaand verkeer beheren en registreren. Azure Firewall biedt ook vergelijkbare SNAT-poortschaal en beheer van uitgaande IP-adressen voor NAT Gateway. NAT-gateway is goedkoper, maar heeft ook minder functies en is geen beveiligingsproduct.

Functies van NAT-gateway die ondersteuning bieden voor multitenancy

Grootschalige SNAT-poorten

SNAT-poorten worden toegewezen wanneer uw toepassing meerdere gelijktijdige uitgaande verbindingen tot stand brengt met hetzelfde openbare IP-adres, op dezelfde poort. SNAT-poorten zijn een eindige resource binnen load balancers. Als uw toepassing grote aantallen afzonderlijke verbindingen met dezelfde host opent, kan deze alle beschikbare SNAT-poorten gebruiken. Deze situatie wordt SNAT-poortuitputting genoemd.

In de meeste toepassingen geeft SNAT-poortuitputting aan dat uw toepassing HTTP-verbindingen of TCP-poorten onjuist verwerkt. Sommige multitenant-toepassingen lopen echter een bijzonder risico om de SNAT-poortlimieten te overschrijden, zelfs als ze verbindingen op de juiste manier hergebruiken. Deze situatie kan zich bijvoorbeeld voordoen wanneer uw toepassing verbinding maakt met veel tenantspecifieke databases achter dezelfde databasegateway.

Tip

Als u SNAT-poortuitputting in een multitenant-toepassing ziet, moet u controleren of uw toepassing goede procedures volgt. Zorg ervoor dat u HTTP-verbindingen opnieuw gebruikt en maak geen nieuwe verbindingen telkens wanneer u verbinding maakt met een externe service. Mogelijk kunt u een NAT-gateway implementeren om het probleem te omzeilen, maar als uw code niet voldoet aan de aanbevolen procedures, kan het probleem in de toekomst opnieuw optreden.

Het probleem wordt verergerd wanneer u werkt met Azure-services die SNAT-poorttoewijzingen delen tussen meerdere klanten, zoals Azure App Service en Azure Functions.

Als u vaststelt dat u last hebt van SNAT-uitputting en er zeker van bent dat uw toepassingscode uw uitgaande verbindingen correct verwerkt, kunt u overwegen NAT Gateway te implementeren. Deze benadering wordt vaak gebruikt door klanten die multitenant-oplossingen implementeren die zijn gebouwd op Azure App Service en Azure Functions.

Elk openbaar IP-adres dat is gekoppeld aan de NAT-gateway, biedt 64.512 SNAT-poorten voor het maken van uitgaande verbindingen met internet. Nat-gateway kan worden geschaald voor gebruik van maximaal 16 openbare IP-adressen, die meer dan 1 miljoen SNAT-poorten bieden. Als u deze limiet wilt overschrijden, kunt u overwegen om meerdere NAT Gateway-exemplaren te implementeren in meerdere subnetten of VNets. Elke virtuele machine in een subnet kan een van de beschikbare SNAT-poorten gebruiken, als deze nodig zijn.

Uitgaand IP-adresbeheer

Het beheer van uitgaande IP-adressen kan handig zijn in toepassingen met meerdere tenants, wanneer u aan alle volgende vereisten voldoet:

  • U gebruikt Azure-services die niet automatisch toegewezen statische IP-adressen bieden voor uitgaand verkeer. Deze services omvatten Azure App Service, Azure Functions, API Management (bij uitvoering in de verbruikslaag) en Azure Container Instances.
  • U moet via internet verbinding maken met de netwerken van uw tenants.
  • Uw tenants moeten binnenkomend verkeer filteren op basis van het IP-adres van elke aanvraag.

Wanneer een NAT Gateway-exemplaar wordt toegepast op een subnet, gebruikt uitgaand verkeer van dat subnet de openbare IP-adressen die zijn gekoppeld aan de NAT-gateway.

Notitie

Wanneer u meerdere openbare IP-adressen koppelt aan één NAT-gateway, kan het uitgaande verkeer afkomstig zijn van een van deze IP-adressen. Mogelijk moet u firewallregels configureren op de bestemming. U moet elk IP-adres toestaan of een resource voor een openbaar IP-adresvoorvoegsel gebruiken om een set openbare IP-adressen in hetzelfde bereik te gebruiken.

Isolatiemodellen

Als u verschillende uitgaande openbare IP-adressen voor elke tenant moet opgeven, moet u afzonderlijke NAT Gateway-resources implementeren. Elk subnet kan worden gekoppeld aan één NAT Gateway-exemplaar. Als u meer NAT-gateways wilt implementeren, moet u meerdere subnetten of virtuele netwerken implementeren. U moet waarschijnlijk meerdere sets rekenresources implementeren.

Raadpleeg Architectuurbenaderingen voor netwerken in multitenant-oplossingen voor meer informatie over het ontwerpen van een netwerktopologie met meerdere tenants.

Medewerkers

Dit artikel wordt onderhouden door Microsoft. Het is oorspronkelijk geschreven door de volgende inzenders.

Hoofdauteur:

Andere inzenders:

Als u niet-openbare LinkedIn-profielen wilt zien, meldt u zich aan bij LinkedIn.

Volgende stappen