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 de uitputting van SNAT-poorten (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 uw uitgaande verkeer beheren en registreren. Azure Firewall biedt ook vergelijkbare SNAT-poortschaal en uitgaand IP-adresbeheer 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

SNAT-poorten op grote schaal

SNAT-poorten worden toegewezen wanneer uw toepassing meerdere gelijktijdige uitgaande verbindingen met hetzelfde openbare IP-adres maakt 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 opnieuw gebruiken. Deze situatie kan bijvoorbeeld optreden 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 de aanbevolen procedures volgt, kunt u het probleem in de toekomst opnieuw tegenkomen.

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 SNAT-uitputting ondervindt en zeker weet 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.

Aan een afzonderlijke NAT-gateway kunnen meerdere openbare IP-adressen zijn gekoppeld en elk openbaar IP-adres biedt een set SNAT-poorten voor het verbinden van uitgaande verbindingen met internet. Voor meer informatie over het maximum aantal SNAT-poorten en IP-adressen dat door één NAT-gateway kan worden ondersteund, raadpleegt u Azure-abonnements- en servicelimieten, quota en beperkingen. Als u buiten deze limiet wilt schalen, 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, indien nodig.

Besturingselement voor uitgaand IP-adres

Uitgaand IP-adresbeheer kan handig zijn in multitenant-toepassingen 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 (wanneer deze wordt uitgevoerd in de verbruikslaag) en Azure Container Instances.
  • U moet verbinding maken met de netwerken van uw tenants via internet.
  • 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 elk 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 het doel. U moet elk IP-adres toestaan of een resource voor het voorvoegsel van een openbaar IP-adres 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. Op zijn beurt moet u waarschijnlijk meerdere sets rekenresources implementeren.

Bekijk architectuurbenaderingen voor netwerken in multitenant-oplossingen voor meer informatie over het ontwerpen van een multitenant-netwerktopologie.

Medewerkers

Dit artikel wordt onderhouden door Microsoft. De tekst is oorspronkelijk geschreven door de volgende Inzenders.

Hoofdauteur:

  • John Downs | Principal Customer Engineer, FastTrack voor Azure

Andere Inzenders:

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

Volgende stappen