練習 - 設定環境

已完成

在本練習中,您會設定使用 Load Balancer 的預先設定環境,並建立圖表來監視 Load Balancer 的健康情況。

此練習為選擇性項目。 若要完成本練習,您需要存取能建立 Azure 資源的 Azure 訂用帳戶。 如尚未擁有 Azure 訂用帳戶,請在開始之前先建立免費帳戶

設定您的環境

  1. 登入 Azure 入口網站

  2. 從右上方的功能表列中,選取 [Cloud Shell]

  3. 選取 [Bash]

  4. 執行下列命以下載本練習中您會用到的指令碼。

    git clone https://github.com/MicrosoftDocs/mslearn-troubleshoot-inbound-network-connectivity-azure-load-balancer load-balancer
    
  5. 前往 load-balancer/src/scripts 資料夾。

    cd ~/load-balancer/src/scripts
    
  6. 執行下列命令,設定 VM 的使用者名稱。 您可以變更使用者的名稱。 稍後在本練習中,您會需要用到這個使用者名稱,所以請記下來。

    export USERNAME=azureuser
    
  7. 執行下列命令來建立指令碼所建立的虛擬機器密碼。 如果稍後需要密碼,請記得密碼儲存在變數中,也記錄在文字檔 passwd.txt 中。

    export PASSWORD=$(openssl rand -base64 32)
    echo $PASSWORD > passwd.txt
    
  8. 設定資源群組名稱。

    export RESOURCEGROUP=learn-ts-loadbalancer-rg
    
  9. 設定位置。 將 eastus 值取代為您附近的位置。

    export LOCATION=eastus
    

    下列清單包含一些可使用的位置值:

    • westus2
    • 美國中南部
    • centralus
    • eastus
    • westeurope
    • 東南亞
    • japaneast
    • brazilsouth
    • australiasoutheast
    • centralindia
  10. 執行下列 命令以建立資源群組。

    az group create --name $RESOURCEGROUP --location $LOCATION
    
  11. 執行下列命令來建立負載平衡器、虛擬機器和虛擬網路。

    bash setup.sh $RESOURCEGROUP
    

    此指令碼最多需要 25 分鐘的時間來執行。

檢查建立的資源

  1. 在 Azure 入口網站中,搜尋資源群組

  2. 選取 learn-ts-loadbalancer-rg

  3. 類型排序資源清單。

  4. 資源群組應包含此表格中顯示的資源。

    名稱 類型​​ 描述
    retailappvm1_disk1_xxx and retailappvm1_disk2_xxx 磁碟 兩部 VM 的虛擬硬碟。
    retailapplb 負載平衡器 VM 上所執行應用程式的負載平衡器。 負載平衡器中的後端集區會參照 retailappvm1retailappvm2 虛擬機器。
    nicvm1nicvm2 網路介面 兩部 VM 的網路介面。
    retailappnicvm1nsgretailappnicvm2nsg 網路安全性群組 (NSG) 控制每部 VM 輸入流量的 NSG。
    retailappnsg 網路安全性群組 作為這兩個虛擬機器的初始篩選條件,但每部虛擬機器的 NSG 允許根據每台機器進行流量篩選。
    retailappip 公用 IP 位址 提供負載平衡器前端存取的公用 IP 位址。
    retailappvm1retailappvm2 虛擬機器 執行零售應用程式的 VM。
    retailappvmjumpbox 虛擬機器 同樣位於虛擬網路中,但具有公用 IP 位址的 VM。 系統管理員可以登入此虛擬機器,以存取僅具有私人 IP 位址的 retailappvm1retailappvm2 VM。
    retailappvnet 虛擬網路 VM 的虛擬網路。
  5. 選取 retailapplb 負載平衡器。

  6. 在 [設定] 下,選取 [負載平衡規則]

  7. 選取 [retailapprule]。 負載平衡器設定如下:將抵達連接埠 80 的流量路由傳送至後端集區中機器的連接埠 80。

  8. 關閉 retailapprule 窗格。

  9. 在 [設定] 下,選取 [健康狀態探查]

  10. 選取 [retailapphealthprobe]。 後端集區的健康狀態探查也會將訊息傳送至連接埠 80,以檢查每部虛擬機器上是否有該應用程式。

  11. 關閉 retailapphealthprobe 窗格。

測試負載平衡器

  1. 返回 Azure Cloud Shell。

  2. 執行下列命令,尋找負載平衡器前端的公用 IP 位址。

    bash findip.sh
    
  3. 開啟瀏覽器視窗,並前往這個 IP 位址。 結果應該是含有 retailappvm1retailappvm2 訊息的頁面,視負載平衡器路由傳送要求的方式而定。

    瀏覽器的螢幕擷取畫面,其中顯示來自 Load Balancer 中所執行的範例應用程式的回應。

  4. 在 Cloud Shell 中,執行下列命令以前往 src/stresstest 資料夾。

    cd ~/load-balancer/src/stresstest
    

    此資料夾包含 .NET Core 應用程式,該應用程式可模擬數以百計的並行使用者透過 Load Balancer 將要求傳送到虛擬機器。

  5. 執行下列命令以啟動應用程式。 以負載平衡器的前端 IP 位址取代 <ip address>。

    dotnet run <ip address>
    

    應用程式應該會以一系列的訊息回應,指出是否已收到 retailappvm1retailappvm2 的回應。

  6. 允許應用程式執行五分鐘。 按 Enter 以停止應用程式。

建立圖表來監視計量

  1. 在 Azure 入口網站中,前往資源群組 learn-ts-loadbalancer-rg

  2. 選取 retailapplb 負載平衡器。

  3. 在 [監視] 下,選取 [計量]。

  4. 將下列計量新增至空白圖表。

    屬性
    範圍 retailapplb
    計量命名空間 負載平衡器標準計量
    計量 封包計數
    彙總 平均
  5. 在頁面頂端,將時間範圍設定為 [過去 30 分鐘]。 此圖表應該與此處顯示的畫面相似。 請注意平均封包計數的尖峰值。

    顯示負載平衡器處於狀健康狀態時的平均封包計數的圖表。

  6. 選取 [釘選到儀表板] 。

  7. 選取 [建立新項目],然後使用下列值。

    欄位
    類型 私人
    儀表板名稱 dashboard-learn-ts-loadbalancer
  8. 選取 [建立並釘選]

  9. 選取 [新增圖表],然後新增下列計量。

    屬性
    範圍 retailapplb
    計量命名空間 負載平衡器標準計量
    計量 健康狀態探查狀態
    彙總 平均
  10. 選取 [新增計量] 並輸入下列值,將另一個計量新增至圖表。

    屬性
    範圍 retailapplb
    計量命名空間 負載平衡器標準計量
    計量 資料路徑可用性
    彙總 平均
  11. 將時間範圍設為 [過去 30 分鐘]。 圖表應該會以 100% 的比例來回報這兩個統計資料。

  12. 選取 [釘選到儀表板]>[現有]

  13. 針對儀表板,選取 dashboard-learn-ts-loadbalancer

  14. 選取釘選

這樣一來,當系統正確執行時,您就會有一組基準計量。