arrow_back

設定內部負載平衡器

登录 加入
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

設定內部負載平衡器

Lab 1 小时 30 分钟 universal_currency_alt 5 积分 show_chart 入门级
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

總覽

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

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

網路架構圖表

目標

在這個研究室中,您會瞭解如何執行下列工作:

  • 建立內部流量與健康狀態檢查防火牆規則。
  • 使用 Cloud Router 建立 NAT 設定。
  • 設定兩個執行個體範本。
  • 建立兩個代管執行個體群組。
  • 設定並測試內部負載平衡器。

設定和需求

在每個研究室中,您都能在固定時間內免付費建立新的 Google Cloud 專案,並使用一組資源。

  1. 請透過無痕式視窗登入 Qwiklabs。

  2. 請記下研究室的存取時間 (例如 1:15:00),並確保自己能在時間限制內完成作業。
    研究室不提供暫停功能。如有需要,您可以重新開始,但原先的進度恕無法保留。

  3. 準備就緒後,請按一下「Start lab」

  4. 請記下研究室憑證 (使用者名稱密碼),這組資訊將用於登入 Google Cloud 控制台。

  5. 按一下「Open Google Console」

  6. 按一下「Use another account」,然後複製這個研究室的憑證,並貼入提示訊息。
    如果使用其他憑證,系統會顯示錯誤或向您收取費用

  7. 接受條款,然後略過資源復原頁面。

工作 1:設定內部流量與健康狀態檢查防火牆規則。

請設定防火牆規則,允許來自 10.10.0.0/16 範圍中來源的內部流量連線。這項規則會允許所有來自子網路用戶端的連入流量。

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

探索 my-internal-app 網路

系統已設定 my-internal-app 網路和其子網路 subnet-asubnet-b,以及 RDPSSHICMP 流量的防火牆規則。

  • 在 Cloud 控制台的「導覽選單」「Navigation menu」(導覽選單) 圖示 中,依序點選「虛擬私有雲網路」>「虛擬私有雲網路」
    注意,my-internal-app 網路具有子網路:subnet-asubnet-b

    每項 Google Cloud 專案都是從預設網路開始。此外,系統已為您建立 my-internal-app 網路,如網路圖表所示。

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

建立防火牆規則,允許來自 10.10.0.0/16 範圍中任何來源的流量

建立防火牆規則,允許 10.10.0.0/16 子網路的流量。

  1. 在「導覽選單」「Navigation menu」(導覽選單) 圖示 中,依序點選「虛擬私有雲網路」>「防火牆」
    注意 app-allow-icmpapp-allow-ssh-rdp 防火牆規則。

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

  2. 按一下「建立防火牆規則」

  3. 指定下列屬性,其餘設定請保持預設狀態。

    屬性 值 (依指示輸入值或選取選項)
    名稱 fw-allow-lb-access
    網路 my-internal-app
    目標 指定的目標標記
    目標標記 backend-service
    來源篩選器 IPv4 範圍
    來源 IPv4 範圍 10.10.0.0/16
    通訊協定和通訊埠 全部允許
注意:請務必在「來源 IPv4 範圍」欄位中加入 /16
  1. 點選「建立」

建立健康狀態檢查規則

建立防火牆規則,允許健康狀態檢查。

  1. 在「導覽選單」「Navigation menu」(導覽選單) 圖示 上,依序點選「虛擬私有雲網路」>「防火牆」

  2. 按一下「建立防火牆規則」

  3. 指定下列屬性,其餘設定請保持預設狀態。

    屬性 值 (依指示輸入值或選取選項)
    名稱 fw-allow-health-checks
    網路 my-internal-app
    目標 指定的目標標記
    目標標記 backend-service
    來源篩選器 IPv4 範圍
    來源 IPv4 範圍 130.211.0.0/22 35.191.0.0/16
    通訊協定和通訊埠 指定的通訊協定和通訊埠
注意:請務必在「來源 IPv4 範圍」欄位中加入 /22/16
  1. 在「TCP」部分,勾選核取方塊並指定通訊埠 80
  2. 點選「建立」

點選「檢查我的進度」,確認目標已達成。 設定內部流量與健康狀態檢查防火牆規則

工作 2:使用 Cloud Router 建立 NAT 設定

您在工作 3 設定的 Google Cloud VM 後端執行個體不會設有外部 IP 位址。

您要設定 Cloud NAT 服務,允許 VM 執行個體只透過 Cloud NAT 傳送輸出流量,並透過負載平衡器接收傳入流量。

建立 Cloud Router 執行個體

  1. 前往 Cloud 控制台,依序點選「Navigation menu」(導覽選單) 「Navigation menu」(導覽選單) 圖示 >「View All Products」(查看所有產品) >「Networking」(網路) >「Network services」(網路服務) >「Cloud NAT」

  2. 點選「Get started」(開始使用)

  3. 指定下列屬性,其餘設定請保持預設狀態。

    屬性 值 (依指示輸入值或選取選項)
    閘道名稱 nat-config
    網路 my-internal-app
    區域
  4. 點選「Cloud Router」,選擇「建立新路由器」

  5. 在「名稱」部分輸入 nat-router-

  6. 點選「建立」

  7. 在「建立 Cloud NAT 閘道」上,按一下「建立」

注意:請等待 NAT 閘道狀態變更為「執行中」,再繼續下一項工作。

點選「檢查我的進度」,確認目標已達成。 使用 Cloud Router 建立 NAT 設定

工作 3:設定執行個體範本和建立執行個體群組

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

此工作已在本研究室一開始為您執行完畢。您需要透過 SSH 連線至每個 VM 執行個體群組,並執行下列指令來設定環境。

  1. 在「導覽選單」中,依序點選「Compute Engine」>「VM 執行個體」
    請留意開頭為 instance-group-1instance-group-2 的執行個體。

  2. 點選「instance-group-1」 旁的「SSH」,透過 SSH 連線至 VM。

  3. 如果出現「允許透過瀏覽器中的 SSH 連線至 VM。」提示訊息,請點選「授權」

  4. 執行下列指令,以重新執行執行個體的開機指令碼:

sudo google_metadata_script_runner startup
  1. 針對 instance-group-2 重複執行上述步驟。

  2. 兩個開機指令碼皆執行完畢後,即可關閉每個 VM 的 SSH 終端機。開機指令碼的輸出內容應如下所示:

Finished running startup scripts.

驗證後端

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

  1. 在「導覽選單」中,依序點選「Compute Engine」>「VM 執行個體」
    請留意開頭為 instance-group-1instance-group-2 的執行個體。

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

  2. 按一下「建立執行個體」

  3. 指定下列屬性,其餘設定請保持預設狀態。

    屬性 值 (依指示輸入值或選取選項)
    名稱 utility-vm
    區域
    可用區
    系列 E2
    機器類型 e2-medium (2 個 vCPU,4 GB 記憶體)
    開機磁碟 Debian GNU/Linux 11 (bullseye)
  4. 點選「進階選項」

  5. 點選「網路」

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

  7. 指定下列屬性,其餘設定請保持預設狀態。

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

  9. 點選「建立」

  10. 請注意,用於後端的內部 IP 位址是 10.10.20.210.10.30.2

注意:如果 IP 位址不同,請在下方的兩個 curl 指令中替換 IP 位址。

點選「檢查我的進度」,確認目標已達成。 設定執行個體範本和建立執行個體群組

  1. 在「utility-vm」部分,點選「SSH」來啟動終端機並連線。

  2. 如果出現「允許透過瀏覽器中的 SSH 連線至 VM。」提示訊息,請點選「授權」

  3. 如要驗證 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:
  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:

注意:此做法很實用,可確認內部負載平衡器是否將流量傳送到兩個後端。
  1. 關閉 utility-vm 的 SSH 終端機:
exit

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

設定內部負載平衡器,平衡兩個後端之間的流量 (後端為 中的 instance-group-1 中的 instance-group-2),如下方網路圖表所示。

網路圖表

開始設定

  1. 前往 Cloud 控制台,依序點選「Navigation menu」(導覽選單) 「Navigation menu」(導覽選單) 圖示 >「View All Products」(查看所有產品) >「Networking」(網路) >「Network services」(網路服務) >「Load balancing」
  2. 點選「Create load balancer」(建立負載平衡器)
  3. 在「Type of load balancer」(負載平衡器類型) 下方,選取「Network Load Balancer (TCP/UDP/SSL)」(網路負載平衡器 (TCP/UDP/SSL)),然後點選「Next」(下一步)
  4. 在「Proxy or passthrough」(直通或使用 Proxy) 部分,選取「Passthrough load balancer」(直通式負載平衡器),然後點選「Next」(下一步)
  5. 在「Public facing or internal」(公開或內部) 部分,選取「Internal」(內部),然後點選「Next」(下一步)
  6. 點選「Configure」(設定)
  1. 在「Name」(名稱) 部分輸入 my-ilb
  2. 在「區域」部分輸入
  3. 在「網路」部分輸入 my-internal-app

設定區域性後端服務

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

  1. 按一下「後端設定」

  2. 指定下列屬性,其餘設定請保持預設狀態。

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

  4. 點選「新增後端」

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

  6. 點選「完成」

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

  8. 指定下列屬性,其餘設定請保持預設狀態。

    屬性 值 (依指示選取選項)
    名稱 my-ilb-health-check
    通訊協定 TCP
    通訊埠 80
    檢查時間間隔 10 秒
    逾時間隔 5 秒
    良好健康狀態判定門檻 2
    不良健康狀態判定門檻 3
注意:健康狀態檢查會判斷哪些執行個體可以接收新的連線。HTTP 健康狀態檢查會每 10 秒輪詢執行個體一次,並等待 5 秒來接收回應。良好健康狀態判定門檻為成功 2 次,不良則為失敗 3 次。
  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. 點選「建立」
    等待負載平衡器建立完成,再開始執行下一項工作。

點選「檢查我的進度」,確認目標已達成。 設定內部負載平衡器

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

確認 my-ilb IP 位址順利將流量傳送到 中的 instance-group-1 中的 instance-group-2

存取內部負載平衡器

  1. 在「導覽選單」中,依序點選「Compute Engine」>「VM 執行個體」
  2. 在「utility-vm」部分,點選「SSH」來啟動終端機並連線。
  3. 如果出現「允許透過瀏覽器中的 SSH 連線至 VM。」提示訊息,請點選「授權」
  4. 如要驗證內部負載平衡器是否正確傳送流量,請執行下列指令:
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-2-1zn8<h2>Server Location</h2>Region and Zone: {{{project_0.default_zone_2 | Zone 2}}} 注意:如預期的一樣,流量從內部負載平衡器 (10.10.30.5) 轉送至後端。
  1. 重複執行幾次相同的指令:
curl 10.10.30.5 curl 10.10.30.5 curl 10.10.30.5 curl 10.10.30.5 curl 10.10.30.5 curl 10.10.30.5 curl 10.10.30.5 curl 10.10.30.5 curl 10.10.30.5 curl 10.10.30.5

您應該會看到 中的 instance-group-1 中的 instance-group-2 發出回應。如果沒有看到回應,請再次執行指令。

恭喜!

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

關閉研究室

如果您已完成研究室,請按一下「End Lab」(關閉研究室)。Google Cloud Skills Boost 會移除您使用的資源,並清除所用帳戶。

您可以針對研究室的使用體驗評分。請選取合適的星級評等並提供意見,然後按一下「Submit」(提交)

星級評等代表您的滿意程度:

  • 1 星 = 非常不滿意
  • 2 星 = 不滿意
  • 3 星 = 普通
  • 4 星 = 滿意
  • 5 星 = 非常滿意

如果不想提供意見回饋,您可以直接關閉對話方塊。

如有任何想法、建議或指教,請透過「Support」(支援) 分頁提交。

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