Mettre à l’échelle les ports SNAT avec Azure NAT Gateway

Le Pare-feu Azure fournit 2 496 ports SNAT par adresse IP publique configurée par instance de Virtual Machine Scale Set back-end (au moins deux instances) et vous pouvez associer jusqu’à 250 adresses IP publiques. Selon votre architecture et vos modèles de trafic, vous pouvez avoir besoin de plus de 1 248 000 ports SNAT disponibles avec cette configuration. Par exemple, lorsque vous l’utilisez pour protéger les déploiements volumineux Azure Virtual Desktop qui s’intègrent à Microsoft 365 Apps.

L’une des difficultés liés à l’utilisation d’un grand nombre d’IP publiques correspond au cas où il existe des exigences de filtrage des adresses IP en aval. Pare-feu Azure ne supporte pas l'attachement d'un préfixe IP public lui-même, mais il peut utiliser des adresses IP publiques individuelles du SKU Standard provisionnées à partir d'un préfixe IP public. Lorsque Pare-feu Azure est associé à plusieurs adresses IP publiques, le filtrage en aval doit autoriser toutes les adresses IP publiques qui lui sont associées. Si vous provisionnez ces adresses à partir de préfixes IP publics, vous pouvez autoriser les plages de préfixes correspondantes au lieu de lister chaque adresse individuellement.

Une meilleure option pour mettre à l’échelle et allouer dynamiquement des ports SNAT sortants consiste à utiliser un Azure NAT Gateway. Il fournit 64 512 ports SNAT par adresse IP publique et prend en charge jusqu’à 16 adresses IP publiques IPv4. Cela fournit effectivement jusqu’à 1 032 192 ports SNAT sortants. Azure NAT Gateway également alloue de manière dynamique les ports SNAT au niveau d’un sous-réseau, de sorte que tous les ports SNAT fournis par ses adresses IP associées sont disponibles à la demande pour fournir une connectivité sortante.

Lorsque vous associez une passerelle NAT à AzureFirewallSubnet, le trafic internet sortant depuis le pare-feu utilise les adresses IP publiques de la passerelle NAT. Vous n’avez pas besoin d’une route définie par l’utilisateur (UDR) supplémentaire pour envoyer ce trafic depuis le pare-feu via la passerelle NAT. Conservez les routes de sous-réseau de charge de travail qui dirigent le trafic vers l’adresse IP privée du pare-feu afin qu’il soit inspecté. Le trafic de réponse vers un flux sortant passe également par la passerelle NAT. Si plusieurs adresses IP publiques sont associées à la passerelle NAT, elle sélectionne une adresse de manière aléatoire. Vous ne pouvez pas spécifier quelle adresse utiliser.

Il n’existe pas de double NAT avec cette architecture. Pare-feu Azure instances envoient le trafic à la passerelle NAT à l’aide de leur adresse IP privée plutôt que d’Pare-feu Azure adresse IP publique.

Choisir entre plusieurs adresses IP publiques et passerelle NAT

Lorsque votre pare-feu est faible sur les ports SNAT, vous pouvez ajouter plusieurs adresses IP publiques ou utiliser une passerelle NAT :

  • Ajoutez plusieurs adresses IP publiques lorsque vous êtes sensible aux coûts et que vos besoins de mise à l’échelle sont modérés. Chaque adresse IP publique ajoute 2 496 ports SNAT par instance backend, et vous pouvez associer jusqu’à 250 adresses IP publiques. Pour plus d’informations, consultez Déployer un Pare-feu Azure avec plusieurs adresses IP publiques.
  • Utilisez une passerelle NAT lorsque vous avez besoin d’une allocation dynamique des ports SNAT à travers le sous-réseau. Il fournit jusqu’à 64 512 ports SNAT par adresse IP publique.

Pour obtenir une comparaison complète des avantages et des inconvénients, consultez les meilleures pratiques pour Pare-feu Azure performances.

Pour créer une passerelle NAT StandardV2 dans le cadre d’un déploiement Pare-feu Azure dans le portail, sélectionnez Activer la passerelle NAT dans l’onglet Avancé. Pour la procédure complète, voir Créer Pare-feu Azure avec une passerelle NAT StandardV2. Les exemples suivants de PowerShell et de CLI associent une passerelle NAT standard à un sous-réseau de pare-feu existant.

Remarque

Utilisez une passerelle NAT StandardV2 avec un pare-feu redondant en zone. Une passerelle NAT standard ne supporte pas les déploiements redondants par zone. Pour les étapes, voir Intégrer Pare-feu Azure avec NAT Gateway V2. Pour plus d’informations sur les différences de référence SKU, consultez les références SKU de passerelle NAT. Azure NAT Gateway n'est pas pris en charge dans un hub virtuel sécurisé (vWAN). Dans une architecture vWAN, configurez plutôt NAT Gateway directement sur les réseaux virtuels à raies. Pour les étapes d’intégration de la passerelle NAT avec un pare-feu dans un réseau virtuel central, consultez le tutoriel d’intégration de la passerelle NAT et de Pare-feu Azure. Pour plus d’informations sur les options d’architecture Pare-feu Azure, consultez Quelles sont les options d’architecture Azure Firewall Manager ?

Associer une passerelle NAT à un sous-réseau Pare-feu Azure - Azure PowerShell

L’exemple suivant crée et attache une passerelle NAT avec un sous-réseau Pare-feu Azure à l’aide de Azure PowerShell.

# Create public IP addresses
New-AzPublicIpAddress -Name public-ip-1 -ResourceGroupName nat-rg -Sku Standard -AllocationMethod Static -Location 'South Central US'
New-AzPublicIpAddress -Name public-ip-2 -ResourceGroupName nat-rg -Sku Standard -AllocationMethod Static -Location 'South Central US'

# Create NAT gateway
$PublicIPAddress1 = Get-AzPublicIpAddress -Name public-ip-1 -ResourceGroupName nat-rg
$PublicIPAddress2 = Get-AzPublicIpAddress -Name public-ip-2 -ResourceGroupName nat-rg
New-AzNatGateway -Name firewall-nat -ResourceGroupName nat-rg -PublicIpAddress $PublicIPAddress1,$PublicIPAddress2 -Location 'South Central US' -Sku Standard

# Associate NAT gateway to subnet
$virtualNetwork = Get-AzVirtualNetwork -Name nat-vnet -ResourceGroupName nat-rg
$natGateway = Get-AzNatGateway -Name firewall-nat -ResourceGroupName nat-rg
$firewallSubnet = $virtualNetwork.subnets | Where-Object -Property Name -eq AzureFirewallSubnet
$firewallSubnet.NatGateway = $natGateway
$virtualNetwork | Set-AzVirtualNetwork

Associer une passerelle NAT à un sous-réseau Pare-feu Azure - Azure CLI

L’exemple suivant crée et attache une passerelle NAT avec un sous-réseau Pare-feu Azure à l’aide de Azure CLI.

# Create public IP addresses
az network public-ip create --name public-ip-1 --resource-group nat-rg --sku standard
az network public-ip create --name public-ip-2 --resource-group nat-rg --sku standard
# Create NAT gateway
az network nat gateway create --name firewall-nat --resource-group nat-rg --public-ip-addresses public-ip-1 public-ip-2 --sku standard
# Associate NAT gateway to subnet
az network vnet subnet update --name AzureFirewallSubnet --vnet-name nat-vnet --resource-group nat-rg --nat-gateway firewall-nat

Étapes suivantes