arrow_back

建立內部負載平衡器

登录 加入
欢迎加入我们的社区,一起测试和分享您的知识!
done
学习 700 多个动手实验和课程并获得相关技能徽章

建立內部負載平衡器

实验 50 分钟 universal_currency_alt 5 积分 show_chart 中级
info This lab may incorporate AI tools to support your learning.
欢迎加入我们的社区,一起测试和分享您的知识!
done
学习 700 多个动手实验和课程并获得相关技能徽章

GSP216

Google Cloud 自修研究室標誌

總覽

Google Cloud 可為 TCP/UDP 型流量提供內部負載平衡功能。運用這項功能,即可透過私人負載平衡 IP 位址執行服務及調度服務資源,這類 IP 位址只能透過內部的虛擬機器執行個體存取。

在本研究室中,您將建立兩個位於相同區域的代管執行個體群組,接著會設定及測試內部負載平衡器,並將執行個體群組設為後端,如這張網路圖表所示:

Network_Diagram.png

目標

本研究室將說明如何執行下列工作:

  • 建立 HTTP 和健康狀態檢查防火牆規則
  • 設定兩個執行個體範本
  • 建立兩個代管執行個體群組
  • 設定並測試內部負載平衡器

設定和需求

點選「Start Lab」按鈕前的須知事項

請詳閱以下操作說明。研究室活動會計時,而且中途無法暫停。點選「Start Lab」 後就會開始計時,讓您瞭解有多少時間可以使用 Google Cloud 資源。

您將在真正的雲端環境中完成實作研究室活動,而不是在模擬或示範環境。為達此目的,我們會提供新的暫時憑證,讓您用來在研究室活動期間登入及存取 Google Cloud。

如要完成這個研究室活動,請先確認:

  • 您可以使用標準的網際網路瀏覽器 (Chrome 瀏覽器為佳)。
注意:請使用無痕模式或私密瀏覽視窗執行此研究室。這可以防止個人帳戶和學生帳戶之間的衝突,避免個人帳戶產生額外費用。
  • 是時候完成研究室活動了!別忘了,活動一開始將無法暫停。
注意:如果您擁有個人 Google Cloud 帳戶或專案,請勿用於本研究室,以免產生額外費用。

如何開始研究室及登入 Google Cloud 控制台

  1. 按一下「Start Lab」(開始研究室) 按鈕。如果研究室會產生費用,畫面中會出現選擇付款方式的彈出式視窗。左側的「Lab Details」窗格會顯示下列項目:

    • 「Open Google Cloud console」按鈕
    • 剩餘時間
    • 必須在這個研究室中使用的暫時憑證
    • 完成這個實驗室所需的其他資訊 (如有)
  2. 點選「Open Google Cloud console」;如果使用 Chrome 瀏覽器,也能按一下滑鼠右鍵,然後選取「在無痕式視窗中開啟連結」

    接著,實驗室會啟動相關資源並開啟另一個分頁,當中顯示「登入」頁面。

    提示:您可以在不同的視窗中並排開啟分頁。

    注意:如果頁面中顯示「選擇帳戶」對話方塊,請點選「使用其他帳戶」
  3. 如有必要,請將下方的 Username 貼到「登入」對話方塊。

    {{{user_0.username | "Username"}}}

    您也可以在「Lab Details」窗格找到 Username

  4. 點選「下一步」

  5. 複製下方的 Password,並貼到「歡迎使用」對話方塊。

    {{{user_0.password | "Password"}}}

    您也可以在「Lab Details」窗格找到 Password

  6. 點選「下一步」

    重要事項:請務必使用實驗室提供的憑證,而非自己的 Google Cloud 帳戶憑證。 注意:如果使用自己的 Google Cloud 帳戶來進行這個實驗室,可能會產生額外費用。
  7. 按過後續的所有頁面:

    • 接受條款及細則。
    • 由於這是臨時帳戶,請勿新增救援選項或雙重驗證機制。
    • 請勿申請免費試用。

Google Cloud 控制台稍後會在這個分頁開啟。

注意:如要查看列出 Google Cloud 產品和服務的選單,請點選左上角的「導覽選單」「導覽選單」圖示

工作 1:設定 HTTP 和健康狀態檢查防火牆規則

設定防火牆規則,允許傳送至後端的 HTTP 流量,以及來自 Google Cloud 健康狀態檢查工具的 TCP 流量。

探索 my-internal-app 網路

系統已為您設定網路 my-internal-app、子網路 subnet-a 與 subnet-b,以及 RDP、SSH 與 ICMP 流量的防火牆規則。

  1. 前往控制台,依序點選「導覽選單」圖示 >「虛擬私有雲網路」>「虛擬私有雲網路」

  2. 向下捲動,並留意網路 my-internal-app、子網路 subnet-asubnet-b

    各項 Google Cloud 專案一開始時都有 default 網路。此外,系統已為您建立 my-internal-app 網路,如網路圖表所示。

    您將在 subnet-asubnet-b 建立代管執行個體群組。這兩個子網路都位於 區域,因為內部負載平衡器屬於區域性服務。代管執行個體群組則位於不同的可用區,避免服務因可用區故障而無法運作。

建立 HTTP 防火牆規則

建立防火牆規則,允許 HTTP 流量從負載平衡器和網際網路傳送至後端,以在後端安裝 Apache。

  1. 一樣在「虛擬私有雲網路」頁面,點選左側窗格中的「防火牆」

  2. 留意 app-allow-icmpapp-allow-ssh-rdp 防火牆規則。

    系統已為您建立這些防火牆規則。

  3. 點選「Create Firewall Rule」

  4. 設定下方的值,其他屬性均保留預設值:

    屬性 值 (依指示輸入值或選取選項)
    名稱 app-allow-http
    網路 my-internal-app
    目標 指定的目標標記
    目標標記 lb-backend
    來源篩選器 IPv4 範圍
    來源 IPv4 範圍 0.0.0.0/0
    通訊協定和通訊埠 指定的通訊協定和通訊埠:勾選「TCP」並輸入 80
注意:請務必在「來源 IPv4 範圍」欄位中加入 /0 來指定所有網路。
  1. 點選「建立」

建立健康狀態檢查防火牆規則

健康狀態檢查會判斷負載平衡器的哪些執行個體能接收新的連線。以內部負載平衡來說,如果對達到負載平衡的執行個體執行健康狀態檢查探測,這類要求是從位址範圍 130.211.0.0/2235.191.0.0/16 傳出。防火牆規則必須允許這類連線。

  1. 一樣在「防火牆規則」頁面,點選「Create Firewall Rule」

  2. 設定下方的值,其他屬性均保留預設值:

    屬性 值 (依指示輸入值或選取選項)
    名稱 app-allow-health-check
    目標 指定的目標標記
    目標標記 lb-backend
    來源篩選器 IPv4 範圍
    來源 IPv4 範圍 130.211.0.0/22 和 35.191.0.0/16
    通訊協定和通訊埠 指定的通訊協定和通訊埠:勾選「TCP」
注意:請務必逐一輸入兩個「來源 IPv4 範圍」,並在中間加入空格。
  1. 點選「建立」

點選「Check my progress」,確認目標已達成。

設定 HTTP 和健康狀態檢查防火牆規則

工作 2:設定執行個體範本並建立執行個體群組

代管執行個體群組會使用執行個體範本,以建立相同執行個體的群組。請運用這些範本建立內部負載平衡器的後端。

設定執行個體範本

執行個體範本是一種 API 資源,可用來建立 VM 執行個體和代管執行個體群組。執行個體範本會定義機器類型、開機磁碟映像檔、子網路、標籤和其他執行個體屬性。請為 my-internal-app 網路的兩個子網路建立執行個體範本。

  1. 前往控制台,依序點選「導覽選單」圖示 >「Compute Engine」>「執行個體範本」

  2. 點選「建立執行個體範本」

  3. 在「Name」部分輸入 instance-template-1

  4. 在「位置」部分,選取「Global」

  5. 在「系列」部分,選取「E2」

  6. 點選「進階選項」

  7. 點選「網路」

  8. 在「網路標記」部分,指定「lb-backend」

    注意:網路標記 lb-backend 是用於確保這些執行個體套用 HTTP健康狀態檢查防火牆規則。
  9. 在「網路介面」部分,點選下拉式選單圖示來進行編輯。

  10. 設定下方的值,其他屬性均保留預設值:

    屬性 值 (依指示輸入值或選取選項)
    網路 my-internal-app
    子網路 subnet-a
  11. 點選「完成」

  12. 點選「管理」

  13. 在「中繼資料」下方,點選「新增項目」並指定下列設定:

    Key 1 Value 1
    startup-script-url gs://cloud-training/gcpnet/ilb/startup.sh
注意:startup-script-url 能指定執行個體啟動時執行的指令碼。這個指令碼會安裝 Apache 並變更歡迎頁面,在頁面中納入用戶端 IP,以及 VM 執行個體的名稱、區域和可用區。歡迎查看指令碼內容
  1. 點選「建立」
  2. 等待執行個體範本建立完成。

設定下一個執行個體範本

複製 instance-template-1,為 subnet-b 建立另一個執行個體範本:

  1. 一樣在「執行個體範本」頁面,勾選 instance-template-1 旁的方塊,接著點選「複製」。 請務必將名稱改為 instance-template-2
  2. 點選「進階選項」
  3. 點選「網路」分頁標籤。
  4. 在「網路介面」部分,點選下拉式選單圖示來進行編輯。
  5. 選取「subnet-b」做為「子網路」
  6. 依序點選「完成」>「建立」

建立代管執行個體群組

subnet-asubnet-b 分別建立一個代管執行個體群組。

注意:請為 subnet-a 指定同區域內的其他可用區。舉例來說,如果 subnet-a 的可用區為 us-west2-a,您可以將 us-west2-b 選為 subnet-b 的可用區。
  1. 一樣在「Compute Engine」頁面,點選左側窗格中的「執行個體群組」,接著按一下「建立執行個體群組」

  2. 設定下方的值,其他屬性均保留預設值:

    屬性 值 (依指示輸入值或選取選項)
    名稱 instance-group-1
    執行個體範本 instance-template-1
    位置 單一可用區
    區域
    可用區
    「自動配置」>「執行個體數量下限」 1
    「自動配置」>「執行個體數量上限」 5
    「自動配置」>「Autoscaling signals」(點選下拉式選單圖示來進行編輯) >「信號類型」 CPU 使用率
    目標 CPU 使用率 80
    初始化期間 45
注意:代管執行個體群組提供自動調度資源功能,可根據負載的增減,在代管執行個體群組中自動新增或移除執行個體。這項功能可協助應用程式妥善處理增加的流量,並在資源需求降低時節省成本。只要定義自動調度資源政策,自動配置器就會依據測得的負載量,自動調整資源配置。
  1. 點選「建立」

    instance-group-2 執行相同程序,區域與 subnet-a 相同,但可用區不同:

  2. 點選「建立執行個體群組」

  3. 設定下方的值,其他屬性均保留預設值:

    屬性 值 (依指示輸入值或選取選項)
    名稱 instance-group-2
    執行個體範本 instance-template-2
    位置 單一可用區
    區域
    可用區 可用區 (區域需與 subnet-a 相同,但可用區不同)
    「自動配置」>「執行個體數量下限」 1
    「自動配置」>「執行個體數量上限」 5
    「自動配置」>「Autoscaling signals」(點選下拉式選單圖示來進行編輯) >「信號類型」 CPU 使用率
    目標 CPU 使用率 80
    初始化期間 45
  4. 點選「建立」

驗證後端

確認兩個子網路中已建立 VM 執行個體,接著建立公用程式 VM 來存取後端的 HTTP 網站。

  1. 一樣在「Compute Engine」頁面,點選「VM 執行個體」

  2. 留意兩個開頭分別為 instance-group-1instance-group-2 的執行個體。

    這些執行個體位於不同的可用區,內部 IP 位置屬於 subnet-asubnet-b CIDR 區塊的一部分。

  3. 點選「建立執行個體」

  4. 設定下方的值,其他屬性均保留預設值:

    屬性 值 (依指示輸入值或選取選項)
    名稱 utility-vm
    區域
    可用區
    系列 E2
    機器類型 共用核心 > e2-micro (1 個共用 vCPU)
  5. 點選「進階選項」

  6. 點選「網路」

  7. 在「網路介面」部分,點選下拉式選單圖示來進行編輯。

  8. 設定下方的值,其他屬性均保留預設值:

    屬性 值 (依指示輸入值或選取選項)
    網路 my-internal-app
    子網路 subnet-a
    主要內部 IPv4 位址 臨時 (自訂)
    自訂臨時 IP 位址 10.10.20.50
  9. 依序點選「完成」>「建立」

點選「Check my progress」,確認目標已達成。

設定執行個體範本並建立執行個體群組
  1. 請注意,用於後端的內部 IP 位址是 10.10.20.210.10.30.2
注意:如果 IP 位址不同,請替換下方兩個 curl 指令中的 IP 位址。
  1. 在「utility-vm」部分,點選「SSH」來啟動終端機並連線。
  2. 如要對 instance-group-1-xxxx 驗證歡迎頁面,請執行下列指令:
curl 10.10.20.2

您會看見類似下方的輸出內容:

<h1>Internal Load Balancing Lab</h1><h2>Client IP</h2>Your IP address : 10.10.20.50<h2>Hostname</h2>Server Hostname: instance-group-1-1zn8<h2>Server Location</h2>Region and Zone: us-central1-a
  1. 若要針對 instance-group-2-xxxx 驗證歡迎頁面,請執行下列指令:
curl 10.10.30.2

您會看見類似下方的輸出內容:

<h1>Internal Load Balancing Lab</h1><h2>Client IP</h2>Your IP address : 10.10.20.50<h2>Hostname</h2>Server Hostname: instance-group-2-q5wp<h2>Server Location</h2>Region and Zone: us-central1-b

注意:curl 指令展示了各個 VM 執行個體會分別列出用戶端 IP,以及自身的名稱與位置。如要確認內部負載平衡器是否將流量傳送至兩個後端,這個做法就能派上用場。
  1. 關閉 utility-vm 的 SSH 終端機:
exit

工作 3:設定內部負載平衡器

設定內部負載平衡器,平衡兩個後端 instance-group-1instance-group-2 之間的流量,如圖所示:

網路圖表:內部負載平衡器平衡兩個後端之間的流量

開始設定

  1. 前往 Cloud 控制台,依序點選「導覽選單」圖示 >「網路服務」>「負載平衡」>「建立負載平衡器」

  2. 在「負載平衡器類型」部分,選取「Network Load Balancer (TCP/SSL)」

  3. 在「直通或使用 Proxy」部分,選取「直通式負載平衡器」

  4. 在「公開或內部」部分,選取「內部」

  5. 點選「設定」

  6. 在「Name」部分輸入 my-ilb

  7. 在「區域」部分,選取「」。

  8. 在「網路」部分,選取「my-internal-app」

設定區域性後端服務

後端服務可監控執行個體群組,避免用量超過設定值。

  1. 點選「後端設定」

  2. 設定下方的值,其他屬性均保留預設值:

    屬性 值 (依指示選取選項)
    執行個體群組 instance-group-1
  3. 點選「Add backend」

  4. 在「執行個體群組」部分,選取「instance-group-2」

  5. 在「健康狀態檢查」部分,選取「建立健康狀態檢查」

  6. 設定下方的值,其他屬性均保留預設值:

    屬性 值 (依指示選取選項)
    名稱 my-ilb-health-check
    通訊協定 TCP
    通訊埠 80
注意:健康狀態檢查會判斷哪些執行個體可以接收新的連線。這項 HTTP 健康狀態檢查會每 5 秒輪詢執行個體一次,並等待最多 5 秒來接收回應。如果成功兩次,就會判定為健康狀態良好;如果失敗兩次,則會判定為健康狀態不良。
  1. 點選「儲存」
  2. 確認 Cloud 控制台的「後端設定」旁顯示藍色勾號。如未顯示,請重新檢查一遍,確認是否已完成上述所有步驟。

設定前端

前端會將流量轉送至後端。

  1. 點選「前端設定」

  2. 指定下方的值,其他項目均保留預設值:

    屬性 值 (依指示輸入屬性值或選取選項)
    子網路 subnet-b
    內部 IP 在「IP 位址」下方,選取「建立 IP 位址」
  3. 指定下方的值,其他項目均保留預設值:

    屬性 值 (依指示輸入值或選取選項)
    名稱 my-ilb-ip
    靜態 IP 位址 自行選擇
    自訂 IP 位址 10.10.30.5
  4. 點選「保留」

  5. 在「通訊埠編號」部分,輸入 80

  6. 點選「完成」

檢查並建立內部負載平衡器

  1. 點選「檢查並完成」

  2. 檢查「後端」和「前端」

  3. 點選「Create」。等待負載平衡器建立完成,再執行下一項工作。

點選「Check my progress」,確認目標已達成。

設定內部負載平衡器

工作 4:測試內部負載平衡器

確認 my-ilb IP 位址將流量轉送至 instance-group-1instance-group-2

存取內部負載平衡器

  1. 前往 Cloud 控制台,依序點選「導覽選單」圖示 >「Compute Engine」>「VM 執行個體」
  2. 在「utility-vm」部分,點選「SSH」來啟動終端機並連線。
  3. 如要驗證內部負載平衡器是否轉送流量,請執行下列指令:
curl 10.10.30.5

您會看見類似下方的輸出內容:

<h1>Internal Load Balancing Lab</h1><h2>Client IP</h2>Your IP address : 10.10.20.50<h2>Hostname</h2>Server Hostname: instance-group-1-1zn8<h2>Server Location</h2>Region and Zone: us-central1-a 注意:一如預期,流量從內部負載平衡器 (10.10.30.5) 轉送至後端。
  1. 將相同指令重複執行數次。

在輸出內容中,您會看見 中的 instance-group-1 和區域相同但可用區不同的 instance-group-2 發出回應。

恭喜!

在本研究室中,您在 區域建立了兩個代管執行個體群組,並設定了防火牆規則來接收傳送至這些執行個體的 HTTP 流量,以及來自 Google Cloud 健康狀態檢查工具的 TCP 流量。接著您為這些執行個體群組設定了內部負載平衡器,並進行測試。

後續步驟/瞭解詳情

如要瞭解負載平衡相關的基本概念,請參閱「Cloud Load Balancing documentation」(Google Cloud Load Balancing 說明文件)。

Google Cloud 教育訓練與認證

協助您瞭解如何充分運用 Google Cloud 的技術。我們的課程會介紹專業技能和最佳做法,讓您可以快速掌握要領並持續進修。我們提供從基本到進階等級的訓練課程,並有隨選、線上和虛擬課程等選項,方便您抽空參加。認證可協助您驗證及證明自己在 Google Cloud 技術方面的技能和專業知識。

使用手冊上次更新日期:2024 年 4 月 17 日

研究室上次測試日期:2024 年 4 月 17 日

Copyright 2024 Google LLC 保留所有權利。Google 和 Google 標誌是 Google LLC 的商標,其他公司和產品名稱則有可能是其關聯公司的商標。

This content is not currently available

We will notify you via email, when it becomes available

Great!

We will contact you via email, if it becomes available