共用方式為


快速入門:使用 Azure CLI 建立內部基本負載平衡器以平衡 VM 的負載

使用 Azure CLI 建立內部負載平衡器和兩部虛擬機器,以開始使用 Azure Load Balancer。

如果您沒有 Azure 訂閱,請在開始之前,先建立 Azure 免費帳戶

必要條件

本快速入門需要 2.0.28 版或更新版本的 Azure CLI。 若您使用的是 Azure Cloud Shell,即已安裝最新版本。

建立資源群組

Azure 資源群組是一種邏輯容器,您可在其中部署與管理 Azure 資源。

使用 az group create 來建立資源群組。

  az group create \
    --name CreateIntLBQS-rg \
    --location westus3

當您建立內部負載平衡器時,會將虛擬網路設定為負載平衡器的網路。

建立虛擬網路

請先建立支援的虛擬網路和子網路,才可部署 VM 並測試您的負載平衡器。 虛擬網路和子網路將包含本文稍後部署的資源。

使用 az network vnet create 建立虛擬網路。

  az network vnet create \
    --resource-group CreateIntLBQS-rg \
    --location westus3 \
    --name myVNet \
    --address-prefixes 10.1.0.0/16 \
    --subnet-name myBackendSubnet \
    --subnet-prefixes 10.1.0.0/24

建立 Azure Bastion 主機

在本範例中,您將建立 Azure Bastion 主機。 本文稍後會使用 Azure Bastion 主機,來安全地管理虛擬機器並測試負載平衡器部署。

重要

無論輸出資料使用量為何,每小時價格都是從部署 Bastion 的那一刻開始計費。 如需詳細資訊,請參閱價格SKU。 如果您要將 Bastion 部署為教學課程或測試的一部分,建議您在完成使用之後刪除此資源。

建立堡壘公用 IP 位址

使用 az network public-ip create 建立 Azure Bastion 主機的公用 IP 位址。

az network public-ip create \
    --resource-group CreateIntLBQS-rg  \
    --name myBastionIP \
    --sku Standard \
    --zone 1 2 3

建立 Bastion 子網路

使用 az network vnet subnet create 建立子網路。

az network vnet subnet create \
    --resource-group CreateIntLBQS-rg  \
    --name AzureBastionSubnet \
    --vnet-name myVNet \
    --address-prefixes 10.1.1.0/27

建立堡壘主機

使用 az network bastion create 建立主機。

az network bastion create \
    --resource-group CreateIntLBQS-rg  \
    --name myBastionHost \
    --public-ip-address myBastionIP \
    --vnet-name myVNet \
    --location westus3

部署 Azure Bastion 主機需要幾分鐘的時間。

建立負載平衡器

本節將詳細說明如何建立及設定下列負載平衡器元件:

  • 前端 IP 集區,可接收負載平衡器上的連入網路流量

  • 後端 IP 集區,前端集區在其中傳送負載平衡網路流量

  • 健康狀態探查,可判斷後端 VM 執行個體的健康狀態

  • 負載平衡器規則,可定義如何將流量分散至 VM

建立負載平衡器資源

使用 az network lb create 建立內部負載平衡器。

  az network lb create \
    --resource-group CreateIntLBQS-rg \
    --name myLoadBalancer \
    --sku Basic \
    --vnet-name myVNet \
    --subnet myBackendSubnet \
    --frontend-ip-name myFrontEnd \
    --backend-pool-name myBackEndPool

建立健康狀態探查

健全狀況探查會檢查所有虛擬機器執行個體,確認可以傳送網路流量。

已從負載平衡器移除具有失敗探查檢查的虛擬機器。 解決失敗情況之後,系統會將虛擬機器新增回負載平衡器。

使用 az network lb probe create 建立健康狀態探查。

  az network lb probe create \
    --resource-group CreateIntLBQS-rg \
    --lb-name myLoadBalancer \
    --name myHealthProbe \
    --protocol tcp \
    --port 80

建立負載平衡器規則

負載平衡器規則定義:

  • 傳入流量的前端 IP 設定

  • 接收流量的後端 IP 集區

  • 所需的來源和目的地連接埠

使用 az network lb rule create 建立負載平衡器規則。

  az network lb rule create \
    --resource-group CreateIntLBQS-rg \
    --lb-name myLoadBalancer \
    --name myHTTPRule \
    --protocol tcp \
    --frontend-port 80 \
    --backend-port 80 \
    --frontend-ip-name myFrontEnd \
    --backend-pool-name myBackEndPool \
    --probe-name myHealthProbe \
    --idle-timeout 15

建立網路安全性群組

如果是標準負載平衡器,後端集區中的 VM 都需要有屬於網路安全性群組的網路介面。

若要建立網路安全性群組,請使用 az network nsg create

  az network nsg create \
    --resource-group CreateIntLBQS-rg \
    --name myNSG

建立網路安全性群組規則

若要建立網路安全性群組規則,使用 az network nsg rule create

  az network nsg rule create \
    --resource-group CreateIntLBQS-rg \
    --nsg-name myNSG \
    --name myNSGRuleHTTP \
    --protocol '*' \
    --direction inbound \
    --source-address-prefix '*' \
    --source-port-range '*' \
    --destination-address-prefix '*' \
    --destination-port-range 80 \
    --access allow \
    --priority 200

建立後端伺服器

在這個小節中,您會建立:

  • 虛擬機器的兩個網路介面

  • 兩個虛擬機器,作為負載平衡器的伺服器

建立虛擬機器的網路介面

使用 az network nic create 建立兩個網路介面。

  array=(myNicVM1 myNicVM2)
  for vmnic in "${array[@]}"
  do
    az network nic create \
        --resource-group CreateIntLBQS-rg \
        --name $vmnic \
        --vnet-name myVNet \
        --subnet myBackEndSubnet \
        --network-security-group myNSG
  done

建立虛擬機器的可用性設定組

使用 az vm availability-set create建立可用性設定組。

  az vm availability-set create \
    --name myAvailabilitySet \
    --resource-group CreateIntLBQS-rg \
    --location westus3  

建立虛擬機器

使用 az vm create 建立虛擬機器。

  array=(1 2)
  for n in "${array[@]}"
  do
    az vm create \
    --resource-group CreateIntLBQS-rg \
    --name myVM$n \
    --nics myNicVM$n \
    --image win2019datacenter \
    --admin-username azureuser \
    --availability-set myAvailabilitySet \
    --no-wait
  done

部署 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=(VM1 VM2)
  for vm in "${array[@]}"
  do
  az network nic ip-config address-pool add \
   --address-pool myBackendPool \
   --ip-config-name ipconfig1 \
   --nic-name myNic$vm \
   --resource-group CreateIntLBQS-rg \
   --lb-name myLoadBalancer
  done

建立測試虛擬機器

使用 az network nic create 建立網路介面。

  az network nic create \
    --resource-group CreateIntLBQS-rg \
    --name myNicTestVM \
    --vnet-name myVNet \
    --subnet myBackEndSubnet \
    --network-security-group myNSG

使用 az vm create 建立虛擬機器。

  az vm create \
    --resource-group CreateIntLBQS-rg \
    --name myTestVM \
    --nics myNicTestVM \
    --image Win2019Datacenter \
    --admin-username azureuser \
    --no-wait

您可能需要等候幾分鐘的時間,才能部署虛擬機器。

安裝 IIS

使用 az vm extension set 在後端虛擬機器上安裝 IIS,並將預設網站設為電腦名稱。

  array=(myVM1 myVM2)
    for vm in "${array[@]}"
    do
     az vm extension set \
       --publisher Microsoft.Compute \
       --version 1.8 \
       --name CustomScriptExtension \
       --vm-name $vm \
       --resource-group CreateIntLBQS-rg \
       --settings '{"commandToExecute":"powershell Add-WindowsFeature Web-Server; powershell Add-Content -Path \"C:\\inetpub\\wwwroot\\Default.htm\" -Value $($env:computername)"}'
  done

測試負載平衡器

  1. 登入 Azure 入口網站。

  2. 在 [概觀] 頁面上尋找負載平衡器的私人 IP 位址。 在左側功能表中,依序選取 [所有服務] > [所有資源] > [myLoadBalancer]

  3. myLoadBalancer 的 [概觀] 中,複製私人 IP 位址旁的位址。 如果看不到 [私人 IP 位址],請選取 [查看更多]

  4. 在左側功能表中,依序選取 [所有服務] > [所有資源]。 從資源清單的 CreateIntLBQS-rg 資源群組中,選取 [myTestVM]

  5. 在 [概觀] 頁面上,依序選取 [連線] > [Bastion]

  6. 輸入您在建立 VM 時所輸入的使用者名稱和密碼。

  7. myTestVM 上開啟 Internet Explorer

  8. 在瀏覽器的網址列中,輸入上一個步驟中的 IP 位址。 IIS Web 伺服器的預設頁面會顯示在瀏覽器上。

清除資源

若不再需要資源時,請使用 az group delete 命令來移除資源群組、負載平衡器和所有相關資源。

  az group delete \
    --name CreateIntLBQS-rg

下一步

在本快速入門中:

  • 您已建立內部基本負載平衡器

  • 已與兩部虛擬機器連結

  • 已設定負載平衡器流量規則和健全狀態探查

  • 測試了負載平衡器

若要深入了解 Azure Load Balancer,請繼續: