インバウンド NAT 規則バージョン 1 からバージョン 2 に移行する
インバウンド NAT 規則は、ロード バランサーのフロントエンドからバックエンド プール内の 1 つ以上のインスタンスにトラフィックを転送するために使用されます。 これらの規則は、ロード バランサーのフロントエンド IP アドレスとバックエンド インスタンスとの間に 1 対 1 のマッピングを提供します。 現在、インバウンド NAT 規則にはバージョン 1 とバージョン 2 の 2 つのバージョンがあります。
重要
2027 年 9 月 30 日に、インバウンド NAT 規則 v1 は廃止されます。 現在、インバウンド NAT 規則 v1 を使用している場合は、提供終了日より前に必ずインバウンド NAT 規則 v2 にアップグレードしてください。
NAT 規則バージョン 1
バージョン 1 は、Azure Load Balancer のフロントエンド ポートを各バックエンド インスタンスに割り当てるための従来の方法です。 規則はバックエンド インスタンスのネットワーク インターフェイス カード (NIC) に適用されます。 Azure Virtual Machine Scale Sets (VMSS) インスタンスの場合、新しいインスタンスがスケールアップまたはスケールダウンされると、インバウンド NAT 規則が自動的に作成または削除されます。 VMSS インスタンスの場合、Inbound NAT Pool
プロパティを使用して、インバウンド NAT 規則バージョン 1 を管理します。
NAT 規則バージョン 2
インバウンド NAT 規則バージョン 2 では、バージョン 1 と同じ機能セットが提供され、追加の利点があります。
- デプロイ エクスペリエンスが簡素化され、更新が最適化されました。
- インバウンド NAT 規則はロード バランサーのバックエンド プールを対象としており、仮想マシンの NIC での参照は不要になりました。 以前のバージョン 1 では、インバウンド NAT 規則が変更されるたびに、ロード バランサーと仮想マシンの NIC の両方を更新する必要がありました。 バージョン 2 では、ロード バランサーの構成の必要な呼び出しは 1 回のみになり、結果として更新が最適化されます。
- インバウンド NAT 規則とバックエンド インスタンス間のポート マッピングを簡単に取得できます。
- レガシ オファリングでは、インバウンド NAT 規則と仮想マシン インスタンスの間のポート マッピングを取得するには、規則を仮想マシンの NIC と関連付ける必要がありました。 バージョン 2 では、規則とバックエンド インスタンスの間のポート マッピングは、ロード バランサーの構成に直接挿入されます。
インバウンド NAT 規則のバージョン 1 を使用しているかどうかを確認する方法
デプロイで機能のバージョン 1 が使用されているかどうかを識別する最も簡単な方法は、ロード バランサーの構成を調べることです。 InboundNATRule
構成内の InboundNATPool
プロパティまたは backendIPConfiguration
プロパティのいずれかが設定されている場合、そのデプロイはインバウンド NAT 規則のバージョン 1 です。
バージョン 1 からバージョン 2 への移行方法
移行する前に、次の情報を確認することが重要です。
- インバウンド NAT 規則バージョン 2 に移行すると、NAT 規則を通過するアクティブなトラフィックにダウンタイムが発生します。 ロード バランサー規則またはアウトバウンド規則を通過するトラフィックは、移行プロセス中に影響を受けません。
- バックエンド プール内のインスタンスの最大数を計画します。 バージョン 2 はロード バランサーのバックエンド プールを対象としているため、NAT 規則のフロントエンドに十分な数のポートを割り当てる必要があります。
- 各バックエンド インスタンスは、新しい NAT 規則で構成されたポートで公開されます。
- 複数の NAT 規則が重複するポート範囲を持っている場合、または同じバックエンド ポートを持っている場合、これらは共存できません。
- NAT 規則と負荷分散規則は、同じバックエンド ポートを共有できません。
手動での移行
インバウンド NAT 規則バージョン 2 に移行するには、次の 3 つの手順を実行する必要があります
- ロード バランサーの構成で、インバウンド NAT 規則バージョン 1 を削除します。
- 仮想マシンまたは仮想マシン スケール セット構成の NAT 規則への参照を削除します。
- すべての仮想マシン スケール セット インスタンスを更新する必要があります。
- インバウンド NAT 規則バージョン 2 をデプロイします。
仮想マシン
仮想マシン用のインバウンド NAT 規則をバージョン 1 からバージョン 2 に移行するには、次の手順を使用します。
az network lb inbound-nat-rule delete -g MyResourceGroup --lb-name MyLoadBalancer --name NATruleV1
az network nic ip-config inbound-nat-rule remove -g MyResourceGroup --nic-name MyNic -n MyIpConfig --inbound-nat-rule MyNatRule
az network lb inbound-nat-rule create -g MyResourceGroup --lb-name MyLoadBalancer -n MyNatRule --protocol Tcp --frontend-port-range-start 201 --frontend-port-range-end 500 --backend-port 22 --backend-address-pool MybackendPool
Virtual Machine Scale Set
次の手順は、仮想マシン スケール セットのインバウンド NAT 規則をバージョン 1 からバージョン 2 に移行するために使用されます。 仮想マシン スケール セットのアップグレード モードが [手動] に設定されていることを前提としています。 詳細については、「Azure での Virtual Machine Scale Sets のオーケストレーション モード」を参照してください
az network lb inbound-nat-pool delete -g MyResourceGroup --lb-name MyLoadBalancer -n MyNatPool
az vmss update -g MyResourceGroup -n MyVMScaleSet --remove virtualMachineProfile.networkProfile.networkInterfaceConfigurations[0].ipConfigurations[0].loadBalancerInboundNatPools
az vmss update-instances --instance-ids '*' --resource-group MyResourceGroup --name MyVMScaleSet
az network lb inbound-nat-rule create -g MyResourceGroup --lb-name MyLoadBalancer -n MyNatRule --protocol Tcp --frontend-port-range-start 201 --frontend-port-range-end 500 --backend-port 22 --backend-address-pool MybackendPool
仮想マシン スケール セットの自動化スクリプトを使用した移行
移行プロセスでは、移行する NAT プールに一致するメンバーシップを持つ既存のバックエンド プールを再利用します。一致するバックエンド プールが見つからない場合、スクリプトは終了し、変更は行われません。 または、-backendPoolReuseStrategy
パラメーターを使用し、常に新しいバックエンド プールを作成するか (NoReuse
)、一致するバックエンド プールがない場合は新しいバックエンド プールを作成します (OptionalFirstMatch
)。 バックエンド プールと NAT 規則の関連付けは、移行後にも希望に合わせて更新できます。
前提条件
移行プロセスを開始する前に、次の前提条件が満たされていることを確認します。
- ロード バランサーの SKU は、ロード バランサーの NAT プールを NAT 規則に移行するためには、Standard である必要があります。 このアップグレード プロセスを自動化するには、「PowerShell を使用して Basic Load Balancer を Standard にアップグレードする」で説明されている手順を参照してください。
- ターゲットのロード バランサーに関連する仮想マシン スケール セットは、"手動" または "自動" のアップグレード ポリシーを使用する必要があります。"ローリング" アップグレード ポリシーはサポートされていません。 詳細については、仮想マシン スケール セットのアップグレード ポリシーに関する記事を参照してください。
- 最新バージョンの PowerShell をインストールします。
- Azure PowerShell モジュールをインストールします。
AzureLoadBalancerNATPoolMigration
モジュールをインストールする
次のコマンドを使用して、PowerShell ギャラリーから AzureLoadBalancerNATPoolMigration
モジュールをインストールします。
# Install the AzureLoadBalancerNATPoolMigration module
Install-Module -Name AzureLoadBalancerNATPoolMigration -Scope CurrentUser -Repository PSGallery -Force
NAT プールを NAT 規則にアップグレードする
azureLoadBalancerNATPoolMigration
モジュールがインストールされたら、次の手順で NAT プールを NAT 規則にアップグレードします。
Connect-AzAccount
を使用して Azure に接続します。NAT 規則のアップグレードとそのリソース グループ名のターゲット ロード バランサーの名前を収集します。
<loadBalancerResourceGroupName>
と<loadBalancerName>
のプレースホルダーをご利用のリソース名に置き換えて、移行コマンドを実行します。# Run the migration command Start-AzNATPoolMigration -ResourceGroupName <loadBalancerResourceGroupName> -LoadBalancerName <loadBalancerName>
次のステップ
- インバウンド NAT 規則の管理について理解します
- Azure Load Balancer の NAT プールと NAT 規則について理解します