教學課程:使用 Azure CLI 建立網路閘道負載平衡器
Azure Load Balancer 是由標準、基本和閘道 SKU 構成。 Gateway Load Balancer 用於網路虛擬設備 (NVA) 的透明插入。 Gateway Load Balancer 可用於 NVA 需要高效能和高可擴縮性的情境。
在本教學課程中,您會了解如何:
- 建立虛擬網路。
- 建立網路安全性群組。
- 設定閘道負載平衡器。
- 將負載平衡器前端鏈結到閘道負載平衡器。
必要條件
在 Azure Cloud Shell 中使用 Bash 環境。 如需詳細資訊,請參閱 Azure Cloud Shell 中的 Bash 快速入門。
若要在本地執行 CLI 參考命令,請安裝 Azure CLI。 若您在 Windows 或 macOS 上執行,請考慮在 Docker 容器中執行 Azure CLI。 如需詳細資訊,請參閱〈如何在 Docker 容器中執行 Azure CLI〉。
如果您使用的是本機安裝,請使用 az login 命令,透過 Azure CLI 來登入。 請遵循您終端機上顯示的步驟,完成驗證程序。 如需其他登入選項,請參閱使用 Azure CLI 登入。
出現提示時,請在第一次使用時安裝 Azure CLI 延伸模組。 如需擴充功能詳細資訊,請參閱使用 Azure CLI 擴充功能。
執行 az version 以尋找已安裝的版本和相依程式庫。 若要升級至最新版本,請執行 az upgrade。
本教學課程需要 2.0.28 版或更新版本的 Azure CLI。 如果您是使用 Azure Cloud Shell,就已安裝最新版本。
包含作用中訂用帳戶的 Azure 帳戶。建立免費帳戶。
現有的公開標準 SKU Azure Load Balancer。 如需建立負載平衡器的詳細資訊,請參閱使用 Azure CLI 建立公開負載平衡器。
- 針對本教學課程之用,範例中的現有負載平衡器名為 myLoadBalancer。
建立資源群組
Azure 資源群組是在其中部署與管理 Azure 資源的邏輯容器。
使用 az group create 來建立資源群組:
az group create \
--name TutorGwLB-rg \
--location eastus
設定虛擬網路
位於閘道負載平衡器後端集區的資源需要使用虛擬網路。
建立虛擬網路
使用 az network vnet create 建立虛擬網路。
az network vnet create \
--resource-group TutorGwLB-rg \
--location eastus \
--name myVNet \
--address-prefixes 10.1.0.0/16 \
--subnet-name myBackendSubnet \
--subnet-prefixes 10.1.0.0/24
建立 Bastion 公用 IP 位址
使用 az network public-ip create 建立 Azure Bastion 主機的公用 IP 位址
az network public-ip create \
--resource-group TutorGwLB-rg \
--name myBastionIP \
--sku Standard \
--zone 1 2 3
建立 Bastion 子網路
使用 az network vnet subnet create 建立 Bastion 子網路。
az network vnet subnet create \
--resource-group TutorGwLB-rg \
--name AzureBastionSubnet \
--vnet-name myVNet \
--address-prefixes 10.1.1.0/27
建立 Bastion 主機
使用 az network bastion create 來部署 Bastion 主機,藉此在虛擬網路中安全地管理資源。
az network bastion create \
--resource-group TutorGwLB-rg \
--name myBastionHost \
--public-ip-address myBastionIP \
--vnet-name myVNet \
--location eastus
部署 Azure Bastion 主機需要幾分鐘的時間。
重要
無論輸出資料使用量為何,每小時價格都是從部署 Bastion 的那一刻開始計費。 如需詳細資訊,請參閱價格和 SKU。 如果您要將 Bastion 部署為教學課程或測試的一部分,建議您在完成使用之後刪除此資源。
設定 NSG
可使用以下範例建立網路安全性群組。 需要在先前建立的虛擬網路中,設定網路流量所需的 NSG 規則。
建立 NSG
使用 az network nsg create 建立 NSG。
az network nsg create \
--resource-group TutorGwLB-rg \
--name myNSG
建立 NSG 規則
使用 az network nsg rule create 來建立 NSG 的規則。
az network nsg rule create \
--resource-group TutorGwLB-rg \
--nsg-name myNSG \
--name myNSGRule-AllowAll \
--protocol '*' \
--direction inbound \
--source-address-prefix '0.0.0.0/0' \
--source-port-range '*' \
--destination-address-prefix '0.0.0.0/0' \
--destination-port-range '*' \
--access allow \
--priority 100
az network nsg rule create \
--resource-group TutorGwLB-rg \
--nsg-name myNSG \
--name myNSGRule-AllowAll-TCP-Out \
--protocol 'TCP' \
--direction outbound \
--source-address-prefix '0.0.0.0/0' \
--source-port-range '*' \
--destination-address-prefix '0.0.0.0/0' \
--destination-port-range '*' \
--access allow \
--priority 100
如何設定閘道負載平衡器
本節會帶領您建立設定並部署閘道負載平衡器。
建立閘道負載平衡器
若要建立負載平衡器,請使用 az network lb create。
az network lb create \
--resource-group TutorGwLB-rg \
--name myLoadBalancer-gw \
--sku Gateway \
--vnet-name myVNet \
--subnet myBackendSubnet \
--backend-pool-name myBackendPool \
--frontend-ip-name myFrontEnd
建立通道介面
系統會自動建立 Azure CLI 的內部介面,具有 900 的 --identifier
和 10800 的 --port
。
您將使用 az network lb address-pool tunnel-interface add 來建立負載平衡器的外部通道介面。
az network lb address-pool tunnel-interface add \
--address-pool myBackEndPool \
--identifier '901' \
--lb-name myLoadBalancer-gw \
--protocol VXLAN \
--resource-group TutorGwLB-rg \
--type External \
--port '10801'
建立健全狀況探查
需要健全狀態探查,才能監視負載平衡器中後端執行個體的健全狀態。 使用 az network lb probe create 來建立健全狀態探查。
az network lb probe create \
--resource-group TutorGwLB-rg \
--lb-name myLoadBalancer-gw \
--name myHealthProbe \
--protocol http \
--port 80 \
--path '/' \
--interval '5' \
--threshold '2'
建立負載平衡規則
目的地為後端執行個體的流量會以負載平衡規則進行路由。 使用 az network lb rule create 來建立負載平衡規則。
az network lb rule create \
--resource-group TutorGwLB-rg \
--lb-name myLoadBalancer-gw \
--name myLBRule \
--protocol All \
--frontend-port 0 \
--backend-port 0 \
--frontend-ip-name myFrontEnd \
--backend-pool-name myBackEndPool \
--probe-name myHealthProbe
將網路虛擬設備新增到 Gateway Load Balancer 後端集區
可透過 Azure Marketplace 部署 NVA。 部署完成後,使用 az network nic ip-config address-pool add 將虛擬機器新增至後端集區。
將負載平衡器前端鏈結到閘道負載平衡器
在此範例中,您會將標準負載平衡器的前端鏈結到閘道負載平衡器。
需將該前端新增到您訂閱項目中既有的負載平衡器前端 IP。
使用 az network lb frontend-ip show 將閘道負載平衡器前端的資源識別碼放到變數中。
使用 az network lb frontend-ip update,將閘道負載平衡器前端鏈結至現有的負載平衡器。
feid=$(az network lb frontend-ip show \
--resource-group TutorGwLB-rg \
--lb-name myLoadBalancer-gw \
--name myFrontend \
--query id \
--output tsv)
az network lb frontend-ip update \
--resource-group CreatePubLBQS-rg \
--name myFrontendIP \
--lb-name myLoadBalancer \
--public-ip-address myPublicIP \
--gateway-lb $feid
將虛擬機器鏈結至閘道負載平衡器
或者可以將 VM 的 NIC IP 設定鏈結至閘道負載平衡器。
您會將閘道負載平衡器的前端,新增至現有 VM 的 NIC IP 設定。
使用 az network lb frontend-ip show 將閘道負載平衡器前端的資源識別碼放到變數中。
使用 az network lb frontend-ip update,將閘道負載平衡器前端鏈結至您現有 VM 的 NIC IP 設定。
feid=$(az network lb frontend-ip show \
--resource-group TutorGwLB-rg \
--lb-name myLoadBalancer-gw \
--name myFrontend \
--query id \
--output tsv)
az network nic ip-config update \
--resource-group MyResourceGroup
--nic-name MyNIC
--name MyIPconfig
--gateway-lb $feid
清除資源
若不再需要,您可以使用 az group delete 命令來移除資源群組、負載平衡器和其餘資源。
az group delete \
--name TutorGwLB-rg
下一步
請在 Azure 中建立網路虛擬設備。
建立網路虛擬設備時,請選擇本教學課程中建立的資源:
虛擬網路
子網路
網路安全性群組
閘道負載平衡器
前往下一篇文章,以了解如何建立跨區域 Azure Load Balancer。