Azure NAT Gateway를 사용하여 SNAT 포트 스케일링

Azure Firewall은 백 엔드 가상 머신 확장 집합 인스턴스당 구성된 공용 IP 주소당 2496개의 SNAT 포트(최소 2개의 인스턴스)를 제공하며, 최대 250개의 공용 IP 주소에 연결할 수 있습니다. 이 구성에서는 아키텍처 및 트래픽 패턴에 따라 사용 가능한 SNAT 포트가 1,248,000개 넘게 필요할 수 있습니다. Microsoft 365 앱과 통합되는 많은 Azure Virtual Desktop 배포를 보호하는 데 사용하는 경우를 예로 들 수 있습니다.

많은 수의 공용 IP 주소를 사용하는 데 따르는 문제 중 하나는 다운스트림 IP 주소 필터링 요구 사항이 있는 경우 발생합니다. Azure Firewall은 연결에 사용할 원본 공용 IP 주소를 임의로 선택하므로 모든 공용 IP 주소에서 연결이 허용되어야 합니다. 공용 IP 주소 접두사를 사용하고 아웃바운드 SNAT 포트 요구 사항을 충족하도록 250개의 공용 IP 주소를 연결해야 하는 경우에도 16개의 공용 IP 주소 접두사를 만들고 연결을 허용해야 합니다.

아웃바운드 SNAT 포트의 크기를 조정하고 동적으로 할당하는 더 나은 옵션은 Azure NAT 게이트웨이를 사용하는 것입니다. 공용 IP 주소당 64,512개의 SNAT 포트를 제공하고 최대 16개의 공용 IP 주소를 지원합니다. 이를 통해 최대 1,032,192개의 아웃바운드 SNAT 포트를 효과적으로 제공합니다. 또한 Azure NAT Gateway는 서브넷 수준에서 SNAT 포트를 동적으로 할당하므로 연결된 IP 주소에서 제공하는 모든 SNAT 포트를 요청 시 사용하여 아웃바운드 연결을 제공할 수 있습니다.

NAT Gateway 리소스가 Azure Firewall 서브넷과 연결되면 모든 아웃바운드 인터넷 트래픽에서 자동으로 NAT Gateway의 공용 IP 주소를 사용합니다. 사용자 정의 경로를 구성할 필요가 없습니다. 아웃바운드 흐름에 대한 응답 트래픽도 NAT 게이트웨이를 통과합니다. NAT Gateway와 연결된 IP 주소가 여러 개인 경우 IP 주소가 임의로 선택됩니다. 사용할 주소를 지정할 수 없습니다.

이 아키텍처에서 NAT는 하나만 있습니다. Azure Firewall 인스턴스는 Azure Firewall 공용 IP 주소가 아닌 개인 IP 주소를 사용하여 NAT Gateway로 트래픽을 보냅니다.

참고 항목

NAT 게이트웨이는 현재 영역 중복 배포를 지원하지 않으므로 영역 중복 방화벽을 사용하여 NAT 게이트웨이를 배포하는 것은 권장되지 않습니다. Azure Firewall로 NAT 게이트웨이를 사용하려면 영역 방화벽 배포가 필요합니다.

또한 Azure NAT Gateway 통합은 현재 보안 가상 허브 네트워크(vWAN) 아키텍처에서 지원되지 않습니다. 허브 가상 네트워크 아키텍처를 사용하여 배포해야 합니다. NAT 게이트웨이를 허브 및 스포크 네트워크 아키텍처의 Azure Firewall과 통합하는 방법에 대한 자세한 지침은 NAT 게이트웨이 및 Azure Firewall 통합 자습서를 참조하세요. Azure Firewall 아키텍처 옵션에 대한 자세한 내용은 Azure Firewall Manager 아키텍처 옵션은 무엇인가요?를 참조하세요.

NAT Gateway와 Azure Firewall 서브넷 연결 - Azure PowerShell

다음 예제에서는 Azure PowerShell을 사용하여 NAT Gateway를 만들고 Azure Firewall 서브넷과 연결합니다.

# 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

NAT Gateway와 Azure Firewall 서브넷 연결 - Azure CLI

다음 예제에서는 Azure CLI를 사용하여 NAT Gateway를 만들고 Azure Firewall 서브넷과 연결합니다.

# 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

# Associate NAT gateway to subnet
az network vnet subnet update --name AzureFirewallSubnet --vnet-name nat-vnet --resource-group nat-rg --nat-gateway firewall-nat

다음 단계