開始使用 Azure Load Balancer,使用Azure CLI建立一個公開負載平衡器和兩台虛擬機。 除了這些資源之外,您也會部署 Azure Bastion、NAT 閘道、虛擬網路和所需的子網路。
如果您沒有 Azure 帳戶,請在開始之前建立 免費帳戶 。
必要條件
在 Azure Cloud Shell 中使用 Bash 環境。 如需詳細資訊,請參閱開始使用 Azure Cloud Shell。
若要在本地執行 CLI 參考命令,請安裝 Azure CLI。 若您在 Windows 或 macOS 上執行,請考慮在 Docker 容器中執行 Azure CLI。 如需詳細資訊,請參閱〈如何在 Docker 容器中執行 Azure CLI〉。
如果您使用的是本機安裝,請使用 az login 命令,透過 Azure CLI 來登入。 請遵循您終端機上顯示的步驟,完成驗證程序。 如需其他登入選項,請參閱 使用 Azure CLI 向 Azure 進行驗證。
出現提示時,請在第一次使用時安裝 Azure CLI 延伸模組。 如需擴充功能的詳細資訊,請參閱 使用和管理 Azure CLI 的擴充功能。
執行 az version 以尋找已安裝的版本和相依程式庫。 若要升級至最新版本,請執行 az upgrade。
- 此快速入門需要 Azure CLI 2.0.28 或更新版本。 如果你用的是 Azure Cloud Shell,最新版本已經安裝了。
建立資源群組
Azure 資源群組是一種邏輯容器,您可在其中部署和管理 Azure 資源。
透過 az 群組創建來建立資源群組:
az group create \
--name load-balancer-cli-rg \
--location eastus
建立虛擬網路
請先建立支援的虛擬網路和子網路,才可部署 VM 並測試您的負載平衡器。
使用 az network vnet create 建立虛擬網路。 虛擬網路和子網路會包含本文稍後部署的資源。
az network vnet create \
--resource-group load-balancer-cli-rg \
--location eastus \
--name lb-vnet \
--address-prefixes 10.1.0.0/16 \
--subnet-name backend-subnet \
--subnet-prefixes 10.1.0.0/24
建立公用 IP 位址
若要在網際網路上存取您的 Web 應用程式,您需要負載平衡器的公用 IP 位址。
使用 az network public-ip create 來建立負載平衡器前端的公用 IP。
az network public-ip create \
--resource-group load-balancer-cli-rg \
--name lb-frontend-ip \
--sku Standard \
--zone 1 2 3
如果要改為在區域 1 中建立區域性的公用 IP 位址,請執行下列命令:
az network public-ip create \
--resource-group load-balancer-cli-rg \
--name lb-frontend-ip \
--sku Standard \
--zone 1
建立負載平衡器
本節說明如何建立及設定負載平衡器的以下元件:
前端 IP 集區,可接收負載平衡器上的連入網路流量
前端集區將負載平衡網路流量傳送至後端 IP 集區
一個健康探針,用來判斷後端虛擬機實例的健康狀況
負載平衡器規則,可定義如何將流量分散至 VM
建立負載平衡器資源
使用 az network lb create 建立公用負載平衡器:
az network lb create \
--resource-group load-balancer-cli-rg \
--name load-balancer \
--sku Standard \
--public-ip-address lb-frontend-ip \
--frontend-ip-name lb-frontend \
--backend-pool-name lb-backend-pool
如果你建立區域公共 IP,建立公共負載平衡器時,請指定該區域。
az network lb create \
--resource-group load-balancer-cli-rg \
--name load-balancer \
--sku Standard \
--public-ip-address lb-frontend-ip \
--frontend-ip-name lb-frontend \
--public-ip-zone 1 \
--backend-pool-name lb-backend-pool
建立健康狀態探查
運作狀況檢查工具會檢查所有虛擬機器實例,以確保它們能夠傳送網路流量。
虛擬機器在探針檢查失敗後已從負載平衡器中移除。 解決失敗情況之後,系統會將虛擬機器新增回負載平衡器。
使用 az network lb probe create 創建健康探測器:
az network lb probe create \
--resource-group load-balancer-cli-rg \
--lb-name load-balancer \
--name lb-health-probe \
--protocol tcp \
--port 80
建立負載平衡器規則
負載平衡器規則定義:
傳入流量的前端 IP 設定
接收流量的後端 IP 集區
所需的來源和目的地連接埠
使用 az network lb rule create 建立負載平衡器規則:
az network lb rule create \
--resource-group load-balancer-cli-rg \
--lb-name load-balancer \
--name lb-HTTP-rule \
--protocol tcp \
--frontend-port 80 \
--backend-port 80 \
--frontend-ip-name lb-frontend \
--backend-pool-name lb-backend-pool \
--probe-name lb-health-probe \
--disable-outbound-snat true \
--idle-timeout 15 \
--enable-tcp-reset true
建立網路安全性群組
如果是標準負載平衡器,後端集區中的 VM 都需要有屬於網路安全性群組的網路介面。
使用 az network nsg create 來建立網路安全性群組:
az network nsg create \
--resource-group load-balancer-cli-rg \
--name lb-nsg
建立網路安全性群組規則
透過使用 az network nsg 規則建立網路安全群組規則。
az network nsg rule create \
--resource-group load-balancer-cli-rg \
--nsg-name lb-nsg \
--name lb-nsg-rule \
--protocol '*' \
--direction inbound \
--source-address-prefix '*' \
--source-port-range '*' \
--destination-address-prefix '*' \
--destination-port-range 80 \
--access allow \
--priority 200
建立堡壘主機
本節中會建立 Azure Bastion 的資源。 使用 Azure Bastion 來安全地管理負載平衡器後端池中的虛擬機器。
重要
無論輸出資料使用量為何,每小時價格都是從部署 Bastion 的那一刻開始計費。 如需詳細資訊,請參閱價格和 SKU。 如果您要將 Bastion 部署為教學課程或測試的一部分,建議您在完成使用之後刪除此資源。
建立公用 IP 位址
使用 az network public-ip create 來建立堡壘主機的公用 IP 位址。 堡壘主機使用公開 IP 來安全存取虛擬機資源。
az network public-ip create \
--resource-group load-balancer-cli-rg \
--name lb-vnet-bastion-ip \
--sku Standard \
--zone 1 2 3
建立 Bastion 子網路
使用 az network vnet subnet create 來建立堡壘子網路。 堡壘主機利用堡壘子網來存取虛擬網路。
az network vnet subnet create \
--resource-group load-balancer-cli-rg \
--name AzureBastionSubnet \
--vnet-name lb-vnet \
--address-prefixes 10.1.1.0/26
建立 Bastion 主機
使用 az network bastion create 來建立堡壘主機。 堡壘主機會安全地連線至您稍後在本文中建立的虛擬機器資源。
az network bastion create \
--resource-group load-balancer-cli-rg \
--name lb-vnet-bastion \
--public-ip-address lb-vnet-bastion-ip \
--vnet-name lb-vnet \
--sku Basic \
--location eastus
部署 Azure Bastion 主機需要幾分鐘的時間。
建立後端伺服器
在這個小節中,您會建立:
虛擬機器的兩個網路介面
兩台虛擬機作為負載平衡器的後端伺服器
建立虛擬機器的網路介面
使用 az network nic create 建立兩個網路介面:
array=(lb-VM1-nic lb-VM2-nic)
for vmnic in "${array[@]}"
do
az network nic create \
--resource-group load-balancer-cli-rg \
--name $vmnic \
--vnet-name lb-vnet \
--subnet backend-subnet \
--network-security-group lb-nsg
done
建立虛擬機器
透過使用 az vm create 來建立虛擬機器:
az vm create \
--resource-group load-balancer-cli-rg \
--name lb-VM1 \
--nics lb-VM1-nic \
--image Win2022AzureEditionCore \
--size Standard_D2s_v3 \
--admin-username azureuser \
--zone 1 \
--no-wait
az vm create \
--resource-group load-balancer-cli-rg \
--name lb-VM2 \
--nics lb-VM2-nic \
--image Win2022AzureEditionCore \
--size Standard_D2s_v3 \
--admin-username azureuser \
--zone 2 \
--no-wait
部署 VM 可能需要幾分鐘的時間。 在虛擬機器建立期間,您可以繼續執行後續步驟。
備註
無論是未獲指派公用 IP 位址的 VM,或位於內部基本 Azure 負載平衡器後端集區的 VM,Azure 都會為其提供預設輸出存取 IP。 預設輸出存取 IP 機制能提供無法自行設定的輸出 IP 位址。
發生下列其中一個事件時,會停用預設輸出存取 IP:
- 公用 IP 位址會指派給 VM。
- 無論有沒有輸出規則,都會將 VM 放在標準負載平衡器的後端集區中。
- Azure NAT 閘道資源會指派給 VM 的子網路。
您在彈性協調流程模式中使用虛擬機器擴展集建立的 VM 沒有預設輸出存取。
如需 Azure 中輸出連線的詳細資訊,請參閱 Azure 中的預設輸出存取與針對輸出連線,使用來源網路位址轉譯 (SNAT)。
將虛擬機器新增至負載平衡器後端集區
使用 az network nic ip-config address-pool add,將虛擬機器新增至後端集區:
array=(lb-VM1-nic lb-VM2-nic)
for vmnic in "${array[@]}"
do
az network nic ip-config address-pool add \
--address-pool lb-backend-pool \
--ip-config-name ipconfig1 \
--nic-name $vmnic \
--resource-group load-balancer-cli-rg \
--lb-name load-balancer
done
建立 NAT 閘道
若要為後端集區中的資源提供輸出網際網路存取能力,請建立 NAT 閘道。
建立公用 IP
使用 az network public-ip create 建立輸出連線的單一 IP。
az network public-ip create \
--resource-group load-balancer-cli-rg \
--name nat-gw-public-ip \
--sku Standard \
--zone 1 2 3
如果要改為在區域 1 中建立區域性的公用 IP 位址,請執行下列命令:
az network public-ip create \
--resource-group load-balancer-cli-rg \
--name nat-gw-public-ip \
--sku Standard \
--zone 1
建立 NAT 閘道資源
使用 az network nat gateway create 來建立 NAT 閘道資源。 在前一個步驟中,已建立的公用 IP 會與 NAT 閘道建立關聯。
az network nat gateway create \
--resource-group load-balancer-cli-rg \
--name lb-nat-gateway \
--public-ip-addresses nat-gw-public-ip \
--idle-timeout 10
將 NAT 閘道與子網路建立關聯
使用 az network vnet subnet update 設定虛擬網路中的來源子網路,以使用特定 NAT Gateway 資源。
az network vnet subnet update \
--resource-group load-balancer-cli-rg \
--vnet-name lb-vnet \
--name backend-subnet \
--nat-gateway lb-nat-gateway
安裝 IIS
使用 az vm extension set 在虛擬機器上安裝 IIS,並將預設網站設為電腦名稱。
array=(lb-VM1 lb-VM2)
for vm in "${array[@]}"
do
az vm extension set \
--publisher Microsoft.Compute \
--version 1.8 \
--name CustomScriptExtension \
--vm-name $vm \
--resource-group load-balancer-cli-rg \
--settings '{"commandToExecute":"powershell Add-WindowsFeature Web-Server; powershell Add-Content -Path \"C:\\inetpub\\wwwroot\\Default.htm\" -Value $($env:computername)"}'
done
測試負載平衡器
若要取得負載平衡器的公用 IP 位址,請使用 az network public-ip show。
將公用 IP 位址複製並貼到您瀏覽器的網址列。
az network public-ip show \
--resource-group load-balancer-cli-rg \
--name lb-frontend-ip \
--query ipAddress \
--output tsv
清除資源
當你不再需要資源時,使用 az 群組刪除 指令,移除資源群組、負載平衡器及所有相關資源。
az group delete \
--name load-balancer-cli-rg
下一步
在此快速入門中:
你建立了標準的公共負載平衡器。
你連接了兩台虛擬機。
你設定了負載平衡器流量規則和健康探針。
你測試過負載平衡器。
若要深入了解 Azure Load Balancer,請繼續: