Azure Load Balancer のインバウンド NAT 規則を管理する
[アーティクル] 2024/06/26
9 人の共同作成者
フィードバック
この記事の内容
前提条件
VM のインバウンド NAT 規則 V1
VM と VMSS のインバウンド NAT 規則 V2
複数の VM ルールのフロントエンドポート割り当ての変更
ポート マッピングを表示する
インバウンド NAT 規則の削除
次のステップ
さらに 3 個を表示
インバウンド NAT 規則は、ロード バランサー フロントエンドからバックエンド プール内の 1 つ以上のインスタンスにトラフィックを転送するために使用されます。
インバウンド NAT 規則には、次の2種類があります。
この記事では、両方の種類のインバウンド NAT 規則を追加および削除する方法について説明します。 複数インスタンスのインバウンド NAT 規則でフロントエンド ポートの割り当てを変更する方法について説明します。 Azure portal、PowerShell、または CLI の例から選択できます。
Azure サブスクリプション をお持ちでない場合は、開始する前に Azure 無料アカウント を作成してください。
サブスクリプション内のパブリック ロード バランサー。 Azure Load Balancer の作成の詳細については、「クイックスタート: Azure portal を使用して、VM の負荷分散を行うパブリック ロード バランサーを作成する 」を参照してください。 この記事の例で使用するロード バランサーの名前は、myLoadBalancer です。
PowerShell をインストールしてローカルで使用する場合、この記事では Azure PowerShell モジュール バージョン 5.4.1 以降が必要になります。 インストールされているバージョンを確認するには、Get-Module -ListAvailable Az
を実行します。 アップグレードする必要がある場合は、Azure PowerShell モジュールのインストール に関するページを参照してください。 PowerShell をローカルで実行している場合、Connect-AzAccount
を実行して Azure との接続を作成することも必要です。
1 つの VM の規則を構成するには、このオプションを選びます。 手順については、[Azure portal]、[PowerShell]、または [CLI] を選択してください。
この例では、ポート 500 をバックエンド ポート 443 に転送するインバウンド NAT 規則を作成します。
Azure portal にサインインします。
ポータルの上部にある検索ボックスに、「ロード バランサー 」と入力します。 検索結果で [ロード バランサー] を選択します。
myLoadBalancer またはお使いのロード バランサーを選択します。
ロード バランサーのページで、[設定] の [インバウンドNAT規則] を選択します。
[ + 追加 ] [ インバウンド NAT 規則 ] を選択して規則を追加します。
[インバウンド NAT 規則の追加] で、次の情報を入力または選択します。
テーブルを展開する
設定
値
名前
「 MyInboundNATrule 」と入力します。
型
[Azure 仮想マシン] を選択します。
ターゲット仮想マシン
ポートの転送先の仮想マシンを選択します。 この例では myVM1 です。
ネットワーク IP 構成
仮想マシンの IP 構成を選択します。 この例では、ipconfig1(10.1.0.4) を使用します。
フロントエンド IP アドレス
[myFrontend] を選択します。
フロントエンド ポート
「500 」と入力します。
サービス タグ
既定値の [Custom](カスタム) のままにします。
バックエンド ポート
「443 」を入力します。
Protocol
[TCP] を選択します。
残りの部分は既定値のままにし、 [追加] を選択します。
ロードバランサーの情報を変数に配置するには、 AzLoadBalancer を使用します。
AzLoadBalancerInboundNatRuleConfig を使用して、インバウンド NAT 規則を作成します。
ロードバランサーに構成を保存するには、 Set-AzLoadBalancer を使用します。
Get-AzLoadBalancerInboundNatRuleConfig を使って、新しく作成したインバウンド NAT 規則の情報を変数に格納します。
Get-AzNetworkInterface を使って、ネットワーク インターフェイスの情報を変数に格納します。
Set-AzNetworkInterfaceIpConfig を使って、新しく作成したインバウンド NAT 規則をネットワーク インターフェイスの IP 構成に追加します。
構成をネットワーク インターフェイスに保存するには、Set-AzNetworkInterface を使います。
## Place the load balancer information into a variable for later use. ##
$slb = @{
ResourceGroupName = 'myResourceGroup'
Name = 'myLoadBalancer'
}
$lb = Get-AzLoadBalancer @slb
## Create the single virtual machine inbound NAT rule. ##
$rule = @{
Name = 'myInboundNATrule'
Protocol = 'Tcp'
FrontendIpConfiguration = $lb.FrontendIpConfigurations[0]
FrontendPort = '500'
BackendPort = '443'
}
$lb | Add-AzLoadBalancerInboundNatRuleConfig @rule
$lb | Set-AzLoadBalancer
## Add the inbound NAT rule to a virtual machine
$NatRule = @{
Name = 'MyInboundNATrule'
LoadBalancer = $lb
}
$NatRuleConfig = Get-AzLoadBalancerInboundNatRuleConfig @NatRule
$NetworkInterface = @{
ResourceGroupName = 'myResourceGroup'
Name = 'MyNIC'
}
$NIC = Get-AzNetworkInterface @NetworkInterface
$IPconfig = @{
Name = 'Ipconfig'
LoadBalancerInboundNatRule = $NatRuleConfig
}
$NIC | Set-AzNetworkInterfaceIpConfig @IPconfig
$NIC | Set-AzNetworkInterface
この例では、ポート 500 をバックエンドポート 443 に転送するインバウンド NAT 規則を作成します。 次に、そのインバウンド NAT 規則を VM の NIC にアタッチします
az network lb inbound-nat-rule create を使用して NAT 規則を追加します。
az network nic ip-config inbound-nat-rule add を使用して、インバウンド NAT 規則を VM の NIC に追加します
az network lb inbound-nat-rule create \
--backend-port 443 \
--lb-name myLoadBalancer \
--name myInboundNATrule \
--protocol Tcp \
--resource-group myResourceGroup \
--frontend-ip-name myFrontend \
--frontend-port 500
az network nic ip-config inbound-nat-rule add \
--resource-group myResourceGroup \
--nic-name MyNic \
--ip-config-name MyIpConfig \
--inbound-nat-rule MyNatRule \
--lb-name myLoadBalancer
VM と VMSS のインバウンド NAT 規則 V2
このオプションを選ぶと、仮想マシンのバックエンド プールに対してポートの範囲を指定した規則を構成できます。 手順については、[Azure portal]、[PowerShell]、または [CLI] を選択してください。
この例では、ポート 500 で始まるポートの範囲をバックエンド ポート 443 に転送するインバウンド NAT 規則を作成します。 バックエンドプール内のマシンの最大数は、値が500 のバックエンドプール 内のマシンの最大数によって設定されます。 この設定により、バックエンド プールが 500 個の仮想マシンに制限されます。
Azure portal にサインインします。
ポータルの上部にある検索ボックスに、「ロード バランサー 」と入力します。 検索結果で [ロード バランサー] を選択します。
myLoadBalancer またはお使いのロード バランサーを選択します。
ロード バランサーのページで、[設定] の [インバウンドNAT規則] を選択します。
[ + 追加 ] [ インバウンド NAT 規則 ] を選択して規則を追加します。
[インバウンド NAT 規則の追加] で、次の情報を入力または選択します。
テーブルを展開する
設定
値
名前
「 MyInboundNATrule 」と入力します。
型
[バックエンド プール] を選択します。
ターゲット バックエンド プール
バックエンド プールを選択します。 この例では [myBackendPool] です。
フロントエンド IP アドレス
フロントエンド IP アドレスを選択します。 この例では [myFrontend] です。
フロントエンド ポート範囲の始点
「500 」と入力します。
バックエンド プール内にある最大数のマシン
「500 」と入力します。
バックエンド ポート
「443 」を入力します。
Protocol
[TCP] を選択します。
残りの部分は既定値のままにし、[追加] を選択します。
この例では、ポート 500 で始まるポートの範囲をバックエンド ポート 443 に転送するインバウンド NAT 規則を作成します。 バックエンドプール内のマシンの最大数は、-FrontendPortRangeEnd
値が1000 のパラメーター によって設定されます。 この設定により、バックエンド プールが 500 個の仮想マシンに制限されます。
ロードバランサーの情報を変数に配置するには、 AzLoadBalancer を使用します。
AzLoadBalancerInboundNatRuleConfig を使用して、インバウンド NAT 規則を作成します。
ロードバランサーに構成を保存するには、 Set-AzLoadBalancer を使用します。
## Place the load balancer information into a variable for later use. ##
$slb = @{
ResourceGroupName = 'myResourceGroup'
Name = 'myLoadBalancer'
}
$lb = Get-AzLoadBalancer @slb
## Create the multiple virtual machines inbound NAT rule. ##
$rule = @{
Name = 'myInboundNATrule'
Protocol = 'Tcp'
BackendPort = '443'
FrontendIpConfiguration = $lb.FrontendIpConfigurations[0]
FrontendPortRangeStart = '500'
FrontendPortRangeEnd = '1000'
BackendAddressPool = $lb.BackendAddressPools[0]
}
$lb | Add-AzLoadBalancerInboundNatRuleConfig @rule
$lb | Set-AzLoadBalancer
この例では、ポート 500 で始まるポートの範囲をバックエンド ポート 443 に転送するインバウンド NAT 規則を作成します。 バックエンドプール内のマシンの最大数は、--frontend-port-range-end
値が1000 のパラメーター によって設定されます。 この設定により、バックエンド プールが 500 個の仮想マシンに制限されます。
az network lb inbound-nat-rule create を使用して NAT 規則を追加します。
az network lb inbound-nat-rule create \
--backend-port 443 \
--lb-name myLoadBalancer \
--name myInboundNATrule \
--protocol Tcp \
--resource-group myResourceGroup \
--backend-pool-name myBackendPool \
--frontend-ip-name myFrontend \
--frontend-port-range-end 1000 \
--frontend-port-range-start 500
複数の VM ルールのフロントエンドポート割り当ての変更
複数インスタンスルールのバックエンドプール内の仮想マシンの数を増やすには、インバウンド NAT 規則のフロントエンドポートの割り当てを変更します。 この例では、バックエンド プール内のマシンの最大数 を 500 から 1000 に変更します。 この設定により、バックエンド プール内のマシンの最大数が 1000 に増加します。
Azure portal にサインインします。
ポータルの上部にある検索ボックスに、「ロード バランサー 」と入力します。 検索結果で [ロード バランサー] を選択します。
myLoadBalancer またはお使いのロード バランサーを選択します。
ロード バランサーのページで、[設定] の [インバウンドNAT規則] を選択します。
変更するインバウンド NAT 規則を選択します。 この例では、 myInboundNATrule です。
インバウンド NAT 規則のプロパティで、[ バックエンドプール内のマシンの最大数 ] の値を 1000 に変更します。
[保存] を選択します。
複数インスタンスルールのバックエンドプール内の仮想マシンの数を増やすには、インバウンド NAT 規則のフロントエンドポートの割り当てを変更します。 この例では、パラメーター -FrontendPortRangeEnd
を 1500 に変更します。 この設定により、バックエンド プール内のマシンの最大数が 1000 に増加します。
ロードバランサーの情報を変数に配置するには、 AzLoadBalancer を使用します。
ポートの割り当てを変更するには、 AzLoadBalancerInboundNatRuleConfig を使用します。
## Place the load balancer information into a variable for later use. ##
$slb = @{
ResourceGroupName = 'myResourceGroup'
Name = 'myLoadBalancer'
}
$lb = Get-AzLoadBalancer @slb
## Set the new port allocation
$rule = @{
Name = 'myInboundNATrule'
Protocol = 'Tcp'
BackendPort = '443'
FrontendIpConfiguration = $lb.FrontendIpConfigurations[0]
FrontendPortRangeStart = '500'
FrontendPortRangeEnd = '1500'
BackendAddressPool = $lb.BackendAddressPools[0]
}
$lb | Set-AzLoadBalancerInboundNatRuleConfig @rule
複数インスタンスルールのバックエンドプール内の仮想マシンの数を増やすには、インバウンド NAT 規則のフロントエンドポートの割り当てを変更します。 この例では、パラメーター --frontend-port-range-end
を 1500 に変更します。 この設定により、バックエンド プール内のマシンの最大数が 1000 に増加します
フロントエンドポートの割り当てを変更するには、 az network lb inbound-rule update を使用します。
az network lb inbound-nat-rule update \
--frontend-port-range-end 1500 \
--lb-name myLoadBalancer \
--name myInboundNATrule \
--resource-group myResourceGroup
バックエンドプール内の仮想マシンのポートマッピングを表示するには、Azure portal を使用します。
Azure portal にサインインします。
ポータルの上部にある検索ボックスに、「ロード バランサー 」と入力します。 検索結果で [ロード バランサー] を選択します。
myLoadBalancer またはお使いのロード バランサーを選択します。
ロード バランサーのページで、[設定] の [インバウンドNAT規則] を選択します。
MyInboundNATrule またはインバウンド NAT 規則を選択します。
[受信 NAT 規則のプロパティ] ページの [ ポートマッピング ] セクションまでスクロールします。
この例では、インバウンド NAT 規則を削除します。
Azure portal にサインインします。
ポータルの上部にある検索ボックスに、「ロード バランサー 」と入力します。 検索結果で [ロード バランサー] を選択します。
myLoadBalancer またはお使いのロード バランサーを選択します。
ロード バランサーのページで、[設定] の [インバウンドNAT規則] を選択します。
削除するルールの横にある 3 つのドットを選択します。
[削除] を選択します。
この例では、インバウンド NAT 規則を削除します。
ロードバランサーの情報を変数に配置するには、 AzLoadBalancer を使用します。
インバウンド NAT 規則を削除するには、 AzLoadBalancerInboundNatRuleConfig を使用します。
ロードバランサーに構成を保存するには、 Set-AzLoadBalancer を使用します。
## Place the load balancer information into a variable for later use. ##
$slb = @{
ResourceGroupName = 'myResourceGroup'
Name = 'myLoadBalancer'
}
$lb = Get-AzLoadBalancer @slb
## Remove the inbound NAT rule
$lb | Remove-AzLoadBalancerInboundNatRuleConfig -Name 'myInboundNATrule'
$lb | Set-AzLoadBalancer
この例では、インバウンド NAT 規則を削除します。
ルールを削除するには、 az network lb inbound-rule delete を使用します。
az network lb inbound-nat-rule delete \
--lb-name myLoadBalancer \
--name myInboundNATrule \
--resource-group myResourceGroup
この記事では、Azure portal、PowerShell、CLI を使用して、Azure Load Balancer のインバウンド NAT 規則を管理する方法について説明しました。
Azure Load Balancer の詳細については、以下を参照してください。