實驗室06 - 實作網路流量管理

實驗室簡介

在本實驗室中,您將了解如何設定及測試公用 Load Balancer 和應用程式閘道。

本實驗室需有 Azure 訂閱。 您的訂用帳戶類型可能會影響此實驗室中的功能可用性。 您可以變更區域,但這些步驟是使用美國東部撰寫而成。

預估時間:50 分鐘

實驗案例

您的組織有公用網站。 您必須平衡不同虛擬機器間的傳入公用要求負載。 您也需要提供來自不同虛擬機器的影像和影片。 您計劃實作 Azure Load Balancer 和 Azure 應用程式閘道。 所有資源都位於同一區域中。

互動式實驗室模擬

您可能會發現部分互動式實驗室模擬對本主題十分有用。 模擬可讓您以自己的步調點選類似的案例。 互動式模擬與此實驗室之間有所差異,但許多核心概念都相同。 不需要有 Azure 訂閱。

作業技能

  • 工作 1:使用範本佈建基礎結構。
  • 工作 2:設定 Azure Load Balancer。
  • 工作 3:設定和 Azure 應用程式閘道。

工作 1:使用範本佈建基礎結構

在此工作中,您會使用範本部署一個虛擬網路、一個網路安全群組和兩部虛擬機器。

  1. 下載 \Allfiles\Lab06 實驗室檔案 (範本和參數)。

  2. 登入 Azure 入口網站 - https://portal.azure.com

  3. 搜尋並選取 Deploy a custom template

  4. 在 [自訂部署] 頁面上,選取 [在編輯器中建置您自己的範本]**

  5. 在 [編輯範本] 頁面上,選取 [載入檔案]**

  6. 找到並選取 \Allfiles\Lab06\az104-06-vms-template.json 檔案,然後選取 [開啟]**

  7. 選取 [儲存]。

  8. 選取 [編輯參數]**,然後載入 **\Allfiles\Lab06\az104-06-vms-parameters.json 檔案。

  9. 選取 [儲存]。

  10. 使用下列資訊填寫 [自訂部署] 頁面上的欄位,所有其他欄位都保留預設值。

    設定
    訂用帳戶 您的 Azure 訂用帳戶
    資源群組 az104-rg6 (如有必要,請選取 [新建]**)
    密碼 提供安全的密碼

    注意:如果收到無法取得 VM 大小的錯誤,請選取訂閱中至少有 2 個核心的可用 SKU。

  11. 選取 [檢閱 + 建立],然後選取 [建立]。

    注意:等候部署完成,再繼續進行下個工作。 部署約需 5 分鐘。

    注意:檢閱正在部署的資源。 會有一個包含三個子網路的虛擬網路。 每個子網路都會有一部虛擬機器。

工作 2:設定 Azure Load Balancer

在此工作中,您會在虛擬網路的兩部 Azure 虛擬機器前端實作 Azure Load Balancer。 這些 Azure Load Balancer 可跨資源提供第 4 層連線能力,例如虛擬機器。 Load Balancer 設定包括接受連線的前端 IP 位址、後端集區,以及定義連線應如何周遊負載平衡器的規則。

架構圖表 - Load Balancer

注意:請注意,Load Balancer 會分散到相同虛擬網路中的兩部虛擬機。

實驗室工作的圖表。

  1. 在 Azure 入口網站中,搜尋並選取 [Load balancers],然後在 [負載平衡器]** 刀鋒視窗上,按一下 [+ 建立]**。

  2. 使用下列設定建立負載平衡器 (其他設定保持預設值),然後按一下 [下一步: 前端 IP 設定]**

    設定
    訂用帳戶 您的 Azure 訂用帳戶
    資源群組 az104-rg6
    名稱 az104-lb
    區域 是您部署 VM 的相同區域
    SKU 標準
    類型 公開
    Regional

    螢幕擷取畫面: [建立負載平衡器] 頁面。

  3. 在 [前端 IP 設定] 索引標籤上,按一下 [新增前端 IP 設定],然後使用下列設定:

    設定
    名稱 az104-fe
    IP 類型 IP 位址
    閘道負載平衡器
    公用 IP 位址 選取 [新建]** (在下一個步驟中依指示作業)
  4. 在 [新增公用 IP 位址] 彈出視窗上,使用以下設定,然後依序按一下 [確定] 和 [新增]。 完成時,按一下 [Next: Backend pools] (下一步:後端集區)。

    設定
    名稱 az104-lbpip
    SKU 標準
    地區
    指派 靜態
    路由喜好設定 Microsoft 網路

    注意: 標準 SKU 提供靜態 IP 位址。 靜態 IP 位址會在資源建立時指派,在資源刪除後釋放。

  5. 在 [後端集區] 索引標籤上,搭配下列設定 (將其他設定保留為預設值) 按一下 [新增後端集區]。 按一下 [+ 新增]** (兩次),然後按一下 [下一步: 輸入規則]**。

    設定
    名稱 az104-be
    虛擬網路 az104-06-vnet1
    後端集區設定 NIC
    按一下 [新增] 以新增虛擬機器  
    az104-06-vm0 核取方塊
    az104-06-vm1 核取方塊
  6. 有時間時,請檢閱其他索引標籤,然後按一下 [檢閱 + 建立]**。 確定沒有任何驗證錯誤,然後按一下 [建立]。

  7. 等候負載平衡器部署,然後按一下 [前往資源]。

新增規則,以判斷傳入流量的分散方式

  1. 在 [設定]** 刀鋒視窗中,選取 [負載平衡規則]**。

  2. 選取 + 新增。 使用下列設定新增負載平衡規則 (將其他設定保留為預設值)。 當您設定規則時,請利用資訊圖示了解每項設定。 完成後,請按一下 [儲存]**

    設定
    名稱 az104-lbrule
    IP 版本 IPv4
    前端 IP 位址 az104-fe
    後端集區 az104-be
    通訊協定 TCP
    連接埠 80
    後端連接埠 80
    健全狀況探查 新建
    名稱 az104-hp
    通訊協定 TCP
    連接埠 80
    間隔 5
    關閉 [create health probe] (建立健全狀態探查) 視窗 儲存
    工作階段持續性
    閒置逾時 (分鐘) 4
    TCP 重設 停用
    浮動 IP Disabled
    輸出來源網路位址轉譯 (SNAT) 建議需求
  3. 從 [Load Balancer] 頁面中選取 [前端 IP 設定]**。 複製公用 IP 位址。

  4. 開啟另一個瀏覽器索引標籤,然後巡覽至該 IP 位址。 確認瀏覽器視窗會顯示 Hello World from az104-06-vm0Hello World from az104-06-vm1 訊息。

  5. 重新整理視窗,以確認訊息會變更為另一部虛擬機器。 這可示範負載平衡器在不同的虛擬機器之間轉換。

    注意:您可能需要多次重新整理,或在 InPrivate 模式中開啟新的瀏覽器視窗。

工作 3:設定 Azure 應用程式閘道

在此工作中,您會在兩部 Azure 虛擬機器的前端實作 Azure 應用程式閘道。 應用程式閘道會向在後端集區中定義的資源提供第 7 層負載平衡、Web 應用程式防火牆 (WAF)、SSL 終止和端對端加密。 應用程式閘道會將影像路由至一部虛擬機器,將影片路由至另一部虛擬機器。

架構圖表: 應用程式閘道

注意:此應用程式閘道和 Load Balancer 在相同的虛擬網路中運作。 這在生產環境中並不常見。

實驗室工作的圖表。

  1. 在 Azure 入口網站中,搜尋並選取 [Virtual networks]。

  2. 在 [虛擬網路]** 刀鋒視窗的虛擬網路清單中,按一下 [az104-06-vnet1]**。

  3. 在 [az104-06-vnet1]** 虛擬網路刀鋒視窗的 [設定]** 區段中,按一下 [子網路]**,然後按一下 [+ 子網路]**。

  4. 使用下列設定新增子網路 (其他設定保留預設值)。

    設定
    名稱 subnet-appgw
    起始位址 10.60.3.224
    大小 /27
  5. 按一下 [儲存]

    注意:Azure 應用程式閘道會使用此子網路。 應用程式閘道需要大小為 /27 或更大的專用子網路。

  6. 在Azure 入口網站中,搜尋並選取 [Application gateways],然後在 [應用程式閘道]** 刀鋒視窗上,按一下 [+ 建立]**。

  7. 在 [基本] 索引標籤上,指定下列設定 (將其他設定保留為預設值):

    設定
    訂用帳戶 您的 Azure 訂用帳戶
    資源群組 az104-rg6
    應用程式閘道名稱 az104-appgw
    區域 您在工作 1 中使用的相同 Azure 區域
    Standard V2
    啟用自動調整
    最小執行個體計數 2
    可用性區域 1 (預設值)
    HTTP2 停用
    虛擬網路 az104-06-vnet1
    子網路 subnet-appgw (10.60.3.224/27)
  8. 按一下 [Next: Frontends >] (下一步: 前端 >),然後指定下列設定 (將其他設定保留為預設值)。 完成時,按一下 [確定]。

    設定
    前端 IP 位址類型 公開
    公用 IP 位址 新增
    名稱 az104-gwpip
    可用性區域 1

    注意: 應用程式閘道可同時擁有公用和私人 IP 位址。

  9. 按一下 [下一步:** 後端 >],然後按一下 [新增後端集區]**。 指定下列設定 (將其他設定保留為預設值)。 完成時,按一下 [新增]。

    設定
    名稱 az104-appgwbe
    新增無目標的後端集區
    虛擬機器 az104-06-nic1 (10.60.1.4)
    虛擬機器 az104-06-nic2 (10.60.2.4)
  10. 按一下 [新增後端集區]**。 這是影像**的後端集區。 指定下列設定 (將其他設定保留為預設值)。 完成時,按一下 [新增]。

    設定
    名稱 az104-imagebe
    新增無目標的後端集區
    虛擬機器 az104-06-nic1 (10.60.1.4)
  11. 按一下 [新增後端集區]**。 這是影片**的後端集區。 指定下列設定 (將其他設定保留為預設值)。 完成時,按一下 [新增]。

    設定
    名稱 az104-videobe
    新增無目標的後端集區
    虛擬機器 az104-06-nic2 (10.60.2.4)
  12. 選取 [下一步:** 設定 >],然後選取 [新增路由規則]**。 填入資訊。

    設定
    規則名稱 az104-gwrule
    優先順序 10
    接聽程式名稱 az104-listener
    前端 IP Public IPv4
    通訊協定 HTTP
    連接埠 80
    接聽程式類型 基本
  13. 移至 [後端目標]** 索引標籤。填入基本資訊之後,請選取 [新增]**。

    設定
    後端目標 az104-appgwbe
    後端設定 az104-http (建立新項目)

    注意: 請花點時間閱讀 Cookie 親和性連線清空的相關資訊。

  14. 在 [路徑型路由]** 區段中,選取 [新增多個目標來建立路徑式規則]。 您將建立兩項規則。 按一下第一項規則之後的 [新增]** 和第二項規則之後的 [新增]**

    規則: 路由至影像後端

    設定
    路徑 /image/*
    目標名稱 images
    後端設定 az104-http
    後端目標 az104-imagebe

    規則: 路由至影片後端

    設定
    路徑 /video/*
    目標名稱 videos
    後端設定 az104-http
    後端目標 az104-videobe
  15. 請務必 [儲存]** 並檢查您的變更,然後選取 [下一步:標籤 >]**。 不需要任何變更。

  16. 選取 [下一步:**,然後按一下 [建立]**。

    注意:等候應用程式閘道執行個體建立完成。 約需 5-10 分鐘。 在等待時,請考慮閱讀本頁結尾處的一些自學型訓練連結。

  17. 部署應用程式閘道之後,請搜尋並選取 az104-appgw

  18. 在 [應用程式閘道]** 資源的 [監視]** 區段中,選取 [後端健康狀態]**

  19. 確定後端集區中的兩部伺服器都顯示良好

  20. 在 [概觀]** 刀鋒視窗上,複製 [前端公用IP位址]** 的值。

  21. 啟動另一個瀏覽器視窗並測試此 URL: http://<frontend ip address>/image/

  22. 驗證已被導向至影像伺服器 (vm1)。

  23. 啟動另一個瀏覽器視窗並測試此 URL: http://<frontend ip address>/video/

  24. 驗證已被導向至影片伺服器 (vm2)。

注意:您可能需要多次重新整理,或在 InPrivate 模式中開啟新的瀏覽器視窗。

清除您的資源

如果您使用自己的訂用帳戶,請花點時間刪除實驗室資源。 如此可確保釋出資源,並將成本降到最低。 刪除實驗室資源的最簡單方式是刪除實驗室資源群組。

  • 在 Azure 入口網站中,選取資源群組,選取 [刪除資源群組]**,[輸入資源群組名稱],然後按一下 [刪除]**。
  • 使用 Azure PowerShell Remove-AzResourceGroup -Name resourceGroupName
  • 使用 CLI az group delete --name resourceGroupName

利用 Copilot 延伸學習

Copilot 可協助您了解如何使用 Azure 指令碼工具。 Copilot 也可在實驗室中未涵蓋的區域或您需要更多資訊的地方提供協助。 開啟 Edge 瀏覽器,然後選擇 [Copilot] (右上方),或瀏覽至 copilot.microsoft.com。 請花一點時間嘗試下列提示。

  • 比較和對比 Azure Load Balancer 與 Azure 應用程式閘道。 協助我決定應該使用每個產品的案例。
  • 哪些工具可用來針對 Azure Load Balancer 的連線進行疑難解答?
  • 設定 Azure 應用程式閘道的基本步驟為何? 提供高階檢查清單。
  • 建立醒目提示三個 Azure 負載平衡解決方案的數據表。 針對每個解決方案,顯示支援的通訊協定、路由原則、會話親和性和 TLS 卸除。

透過自學型訓練深入了解

重要心得

恭喜您完成此實驗室。 以下是此實驗室的重點。

  • Azure Load Balancer 是將網路流量分散到傳輸層 (OSI 第 4 層 - TCP 和 UDP) 之多部虛擬機器的絕佳選擇。
  • 公用負載平衡器可用來對進入 VM 的網際網路流量進行負載平衡。 只有在前端需要私人 IP 時,才會使用內部 (或私人) 負載平衡器。
  • 基本的負載平衡器適用於不需要高可用性或備援的小型應用程式。 標準負載平衡器適合高效能和超低延遲需求。
  • Azure 應用程式閘道是網路流量 (OSI 第 7 層) 負載平衡器,可讓您管理 Web 應用程式的流量。
  • 應用程式閘道標準層提供所有 L7 功能,包括負載平衡,WAF 層會新增防火牆檢查是否有惡意流量。
  • 應用程式閘道可讓您根據 HTTP 要求的其他屬性 (例如 URI 路徑或主機標頭) 進行路由決策。