管理 Azure Load Balancer 的輸入 NAT 規則
本文內容
輸入 NAT 規則可用來將流量從負載平衡器前端轉送至後端集區中的單一或多個執行個體。
輸入 NAT 規則有兩種類型:
在本文,您會了解如何新增和移除這兩種類型的輸入 NAT 規則。 您也會了解如何在多個執行個體輸入 NAT 規則中變更前端連接埠配置。 您可以從 Azure 入口網站、PowerShell 或 CLI 範例中選擇。
如果您沒有 Azure 訂閱 ,請在開始之前,先建立 Azure 免費帳戶 。
必要條件
訂用帳戶中的公用負載平衡器。 如需建立 Azure Load Balancer 的詳細資訊,請參閱快速入門:使用 Azure 入口網站建立公用負載平衡器以平衡 VM 的負載 。 本文中範例的負載平衡器名稱是 myLoadBalancer 。
如果您選擇在本機安裝和使用 PowerShell,本文會要求使用 Azure PowerShell 模組版本 5.4.1 或更新版本。 執行 Get-Module -ListAvailable Az
以尋找安裝的版本。 如果您需要升級,請參閱安裝 Azure PowerShell 模組 。 如果正在本機執行 PowerShell,也需要執行 Connect-AzAccount
,以建立與 Azure 的連線。
虛擬機的輸入NAT規則 V1
選擇此選項來設定單一 VM 的規則。 選取 Azure 入口網站、PowerShell 或 CLI 以取得指示。
在此範例中,您會建立輸入 NAT 規則,將連接埠 500 轉送至後端連接埠 443 。
登入 Azure 入口網站 。
在入口網站頂端的搜尋方塊中,輸入負載平衡器 。 在搜尋結果中,選取 [負載平衡器] 。
選取 myLoadBalancer 或您的負載平衡器。
在負載平衡器頁面的 [設定] 中,選取 [輸入 NAT 規則] 。
選取輸入 NAT 規則 中的 [+ 新增] 以新增規則。
在 [新增輸入 NAT 規則] 中,輸入或選取下列資訊。
設定
值
名稱
輸入 myInboundNATrule 。
類型
選取 [Azure 虛擬機器] 。
目標虛擬機器
選取您要轉送連接埠的虛擬機器。 在此範例中為 myVM1 。
網路 IP 設定
選取虛擬機器的 IP 組態。 在此範例中為 ipconfig1(10.1.0.4) 。
前端 IP 位址
選取 [myFrontend] 。
前端連接埠
輸入 500 。
服務標籤
保留 [自訂] 的預設值。
後端連接埠
輸入 443 。
通訊協定
選取 [TCP]。
其餘設定保留預設值,然後選取 [新增] 。
在此範例中,您會建立輸入 NAT 規則,將連接埠 500 轉送至後端連接埠 443 。
若要將此設定儲存至網路介面,請使用 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
在此範例中,您將會建立輸入 NAT 規則,將連接埠 500 轉送至後端連接埠 443 。 您接著會將輸入 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
虛擬機和虛擬機擴展集的輸入NAT規則 V2
選擇此選項來設定一個規則,其中具有虛擬機器後端集區的連接埠範圍。 選取 Azure 入口網站、PowerShell 或 CLI 以取得指示。
在此範例中,您會建立輸入 NAT 規則,從連接埠 500 開始將多個連接埠轉送至後端連接埠 443。 由後端集區中機器數目上限 設定後端集區中的機器數目上限,其參數值為 500 。 此設定會將後端集區限制為 500 部虛擬機器。
登入 Azure 入口網站 。
在入口網站頂端的搜尋方塊中,輸入負載平衡器 。 在搜尋結果中,選取 [負載平衡器] 。
選取 myLoadBalancer 或您的負載平衡器。
在負載平衡器頁面的 [設定] 中,選取 [輸入 NAT 規則] 。
選取輸入 NAT 規則 中的 [+ 新增] 以新增規則。
在 [新增輸入 NAT 規則] 中,輸入或選取下列資訊。
設定
值
名稱
輸入 myInboundNATrule 。
類型
選取 [後端集區] 。
目標後端集區
選取您的後端集區。 在此範例中為 myBackendPool 。
前端 IP 位址
選取您的前端 IP 位址。 在此範例中為 myFrontendIP 。
前端連接埠範圍開始
輸入 500 。
後端集區中的機器數目上限
輸入 500 。
後端連接埠
輸入 443 。
通訊協定
選取 [TCP]。
其餘設定保留的預設值,然後選取 [新增] 。
在此範例中,您會建立輸入 NAT 規則,從連接埠 500 開始將多個連接埠轉送至後端連接埠 443。 設定後端集區中的機器數目上限,其 -FrontendPortRangeEnd
參數值為 1000 。 此設定會將後端集區限制為 500 部虛擬機器。
## 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
在此範例中,您會建立輸入 NAT 規則,從連接埠 500 開始將多個連接埠轉送至後端連接埠 443。 設定後端集區中的機器數目上限,其 --frontend-port-range-end
參數值為 1000 。 此設定會將後端集區限制為 500 部虛擬機器。
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 入口網站 。
在入口網站頂端的搜尋方塊中,輸入負載平衡器 。 在搜尋結果中,選取 [負載平衡器] 。
選取 myLoadBalancer 或您的負載平衡器。
在負載平衡器頁面的 [設定] 中,選取 [輸入 NAT 規則] 。
選取您想要變更的輸入 NAT 規則。 在此範例中為 myInboundNATrule 。
在輸入 NAT 規則的屬性中,將 後端集區中機器數目上限 中的值變更為 1000 。
選取 [儲存]。
若要在多個執行個體規則的後端集區中容納更多的虛擬機器,請變更輸入 NAT 規則中的前端連接埠配置。 在此範例中,您會將參數 -FrontendPortRangeEnd
變更為 1500 。 此設定會將後端集區中的機器數目上限增加到 1000 。
## 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-nat-rule update \
--frontend-port-range-end 1500 \
--lb-name myLoadBalancer \
--name myInboundNATrule \
--resource-group myResourceGroup
檢視連接埠對應
您可以使用 Azure 入口網站來檢視後端集區中虛擬機器的連接埠對應。
登入 Azure 入口網站 。
在入口網站頂端的搜尋方塊中,輸入負載平衡器 。 在搜尋結果中,選取 [負載平衡器] 。
選取 myLoadBalancer 或您的負載平衡器。
在負載平衡器頁面的 [設定] 中,選取 [輸入 NAT 規則] 。
選取 myInboundNATrule 或您的輸入 NAT 規則。
捲動至輸入 NAT 規則屬性頁面的 [連接埠對應] 區段。
移除輸入 NAT 規則
在此範例中,您會移除輸入 NAT 規則。
登入 Azure 入口網站 。
在入口網站頂端的搜尋方塊中,輸入負載平衡器 。 在搜尋結果中,選取 [負載平衡器] 。
選取 myLoadBalancer 或您的負載平衡器。
在負載平衡器頁面的 [設定] 中,選取 [輸入 NAT 規則] 。
選取您要移除的規則旁邊的三個點。
選取 [刪除] 。
在此範例中,您會移除輸入 NAT 規則。
## 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-nat-rule delete \
--lb-name myLoadBalancer \
--name myInboundNATrule \
--resource-group myResourceGroup
下一步
在本文中,您已了解如何使用 Azure 入口網站、PowerShell 和 CLI,管理 Azure Load Balancer 的輸入 NAT 規則。
如需 Azure Load Balancer 的詳細資訊,請參閱: