Azure PowerShell を使用して複数のパブリック IP アドレスを使用する Azure Firewall をデプロイする
この機能により、次のシナリオが可能になります。
- DNAT - 複数の標準ポート インスタンスをバックエンド サーバーに変換できます。 たとえば、2 つのパブリック IP アドレスがある場合、両方の IP アドレス用の TCP ポート 3389 (RDP) を変換できます。
- SNAT -送信 SNAT 接続に追加のポートを使用できるので、SNAT ポートが不足する可能性が低減されます。 Azure Firewall では、接続に使用する送信元パブリック IP アドレスがランダムに選択されます。 ネットワークにダウンストリーム フィルターがある場合、ファイアウォールに関連付けられているすべてのパブリック IP アドレスを許可する必要があります。 この構成を簡略化するには、パブリック IP アドレス プレフィックスを使用することを検討してください。
Azure portal、Azure PowerShell、Azure CLI、REST、テンプレートで、複数のパブリック IP アドレスを持つ Azure Firewall を使用できます。
最大 250 個のパブリック IP アドレスを使用する Azure Firewall をデプロイできますが、DNAT 宛先ルールも最大 250 個にカウントされます。
パブリック IP + DNAT 宛先ルール = 最大 250。
以下の Azure PowerShell の例は、Azure Firewall のパブリック IP アドレスを構成、追加、および削除する方法を示しています。
Note
Azure Firewall のパブリック IP アドレス構成ページから最初の ipConfiguration を削除することはできません。 IP アドレスを変更する場合は、Azure PowerShell を使用できます。
2 つ以上のパブリック IP アドレスを使用するファイアウォールを作成する
この例では、2 つのパブリック IP アドレスで仮想ネットワーク vnet に接続されたファイアウォールを作成します。
$rgName = "resourceGroupName"
$vnet = Get-AzVirtualNetwork `
-Name "vnet" `
-ResourceGroupName $rgName
$pip1 = New-AzPublicIpAddress `
-Name "AzFwPublicIp1" `
-ResourceGroupName "rg" `
-Sku "Standard" `
-Location "centralus" `
-AllocationMethod Static
$pip2 = New-AzPublicIpAddress `
-Name "AzFwPublicIp2" `
-ResourceGroupName "rg" `
-Sku "Standard" `
-Location "centralus" `
-AllocationMethod Static
New-AzFirewall `
-Name "azFw" `
-ResourceGroupName $rgName `
-Location centralus `
-VirtualNetwork $vnet `
-PublicIpAddress @($pip1, $pip2)
既存のファイアウォールにパブリック IP アドレスを追加する
この例では、パブリック IP アドレス azFwPublicIp1 がファイアウォールにアタッチされます。
$pip = New-AzPublicIpAddress `
-Name "azFwPublicIp1" `
-ResourceGroupName "rg" `
-Sku "Standard" `
-Location "centralus" `
-AllocationMethod Static
$azFw = Get-AzFirewall `
-Name "AzureFirewall" `
-ResourceGroupName "rg"
$azFw.AddPublicIpAddress($pip)
$azFw | Set-AzFirewall
既存のファイアウォールからパブリック IP アドレスを削除する
この例では、パブリック IP アドレス azFwPublicIp1 がファイアウォールからデタッチされます。
$pip = Get-AzPublicIpAddress `
-Name "azFwPublicIp1" `
-ResourceGroupName "rg"
$azFw = Get-AzFirewall `
-Name "AzureFirewall" `
-ResourceGroupName "rg"
$azFw.RemovePublicIpAddress($pip)
$azFw | Set-AzFirewall