Skalieren von SNAT-Ports mit Azure NAT Gateway

Azure Firewall stellt 2.496 SNAT-Ports pro öffentliche IP-Adresse bereit, die für jede virtuelle Maschinen-Skalierungsinstanz (mindestens zwei Instanzen) konfiguriert wird, und Sie können bis zu 250 öffentliche IP-Adressen zuordnen. Je nach Architektur und Datenverkehrsmustern benötigen Sie möglicherweise mehr als 1.248.000 verfügbare SNAT-Ports mit dieser Konfiguration. Wenn Sie sie beispielsweise verwenden, um große Azure Virtual Desktop bereitstellungen zu schützen, die in Microsoft 365 Apps integriert sind.

Eine der Herausforderungen bei der Nutzung einer großen Anzahl von öffentlichen IP-Adressen ist, wenn es nachgelagerte Anforderungen an die IP-Adressfilterung gibt. Die Azure Firewall unterstützt das Anhängen eines öffentlichen IP-Präfixes selbst nicht, kann aber einzelne Standard-SKU-öffentliche IP-Adressen verwenden, die von einem öffentlichen IP-Präfix bereitgestellt werden. Wenn die Azure Firewall mit mehreren öffentlichen IP-Adressen verknüpft ist, muss die Downstream-Filterung alle damit verbundenen öffentlichen IP-Adressen zulassen. Wenn Sie diese Adressen aus öffentlichen IP-Präfixen bereitstellen, können Sie die entsprechenden Präfixbereiche erlauben, anstatt jede Adresse einzeln aufzulisten.

Eine bessere Option zum Skalieren und dynamischen Zuweisen ausgehender SNAT-Ports ist die Verwendung eines Azure NAT Gateway. Es stellt 64.512 SNAT-Ports pro öffentliche IP-Adresse bereit und unterstützt bis zu 16 öffentliche IPv4-IP-Adressen. Dadurch werden effektiv bis zu 1.032.192 ausgehende SNAT-Ports zur Verfügung gestellt. Azure NAT Gateway weist SNAT-Ports auf Subnetzebene dynamisch zu, sodass alle von seinen zugeordneten IP-Adressen bereitgestellten SNAT-Ports bei Bedarf für ausgehende Verbindungen verfügbar sind.

Wenn Sie ein NAT-Gateway mit AzureFirewallSubnet verknüpfen, verwendet der ausgehende Internetverkehr von der Firewall die öffentlichen IP-Adressen des NAT-Gateways. Du brauchst keine zusätzliche benutzerdefinierte Route (UDR), um den Datenverkehr von der Firewall über das NAT-Gateway zu senden. Behalten Sie die Workload-Subnetzrouten, die den Datenverkehr zur Überprüfung an die private IP-Adresse der Firewall leiten. Der Antwortverkehr zu einem ausgehenden Datenfluss wird ebenfalls über das NAT-Gateway geleitet. Wenn mehrere öffentliche IP-Adressen mit dem NAT-Gateway verknüpft sind, wählt es eine Adresse zufällig aus. Du kannst nicht angeben, welche Adresse du verwenden sollst.

Es gibt keine doppelte NAT mit dieser Architektur. Azure Firewall Instanzen senden den Datenverkehr über ihre private IP-Adresse an das NAT-Gateway und nicht über Azure Firewall öffentliche IP-Adresse.

Wählen Zwischen mehreren öffentlichen IP-Adressen und NAT-Gateway

Wenn Ihrer Firewall die SNAT-Ports ausgehen, können Sie entweder mehrere öffentliche IP-Adressen hinzufügen oder ein NAT-Gateway verwenden:

  • Fügen Sie mehrere öffentliche IP-Adressen hinzu , wenn Sie kostenempfindlich sind und Ihre Skalierungsanforderungen moderat sind. Jede öffentliche IP-Adresse fügt pro Backend-Instanz 2.496 SNAT-Ports hinzu, und man kann bis zu 250 öffentliche IP-Adressen zuordnen. Schritte finden Sie unter Bereitstellen einer Azure Firewall mit mehreren öffentlichen IP-Adressen.
  • Verwenden Sie ein NAT-Gateway , wenn Sie eine dynamische SNAT-Portzuweisung über das Subnetz benötigen. Es bietet bis zu 64.512 SNAT-Ports pro öffentliche IP-Adresse.

Einen vollständigen Vergleich der Vor- und Nachteile finden Sie unter Bewährte Methoden für Azure Firewall Leistung.

Um ein StandardV2 NAT-Gateway im Rahmen einer Azure Firewall-Bereitstellung im Portal zu erstellen, wählen Sie auf dem Reiter ErweitertNAT-Gateway aktivieren. Für das vollständige Verfahren siehe Azure Firewall mit einem StandardV2 NAT-Gateway erstellen. Die folgenden PowerShell- und CLI-Beispiele ordnen ein Standard-NAT-Gateway einem bestehenden Firewall-Subnetz zu.

Hinweis

Verwenden Sie ein StandardV2 NAT-Gateway mit einer zonenredundanten Firewall. Ein Standard-NAT-Gateway unterstützt keine zonenredundanten Deployments. Für Schritte siehe Integrate Azure Firewall with NAT Gateway V2. Weitere Informationen zu SKU-Unterschieden finden Sie unter NAT-Gateway-SKUs. Azure NAT Gateway wird in einem gesicherten virtuellen Hub (vWAN) nicht unterstützt. In einer vWAN-Architektur konfigurieren Sie stattdessen das NAT Gateway direkt auf den Speichen-Virtual-Netzwerken. Für Schritte zur Integration eines NAT Gateways mit einer Firewall in einem Hub-Virtual-Netzwerk siehe das Tutorial zur Integration von NAT Gateway und Azure Firewall. Weitere Informationen zu Azure Firewall Architekturoptionen finden Sie unter What are the Azure Firewall Manager architecture options?

Zuordnen eines NAT-Gateways zu einem Azure Firewall-Subnetz – Azure PowerShell

Im folgenden Beispiel wird mithilfe von Azure PowerShell ein NAT-Gateway mit einem Azure Firewall Subnetz erstellt und angefügt.

# 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

Zuordnen eines NAT-Gateways zu einem Azure Firewall Subnetz – Azure CLI

Im folgenden Beispiel wird ein NAT-Gateway mit einem Azure Firewall Subnetz mithilfe von Azure CLI erstellt und angefügt.

# 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

Nächste Schritte