Lab setup instructions and requirements
Protect your account and progress. Always use a private browser window and lab credentials to run this lab.

設定內部網路負載平衡器 (AWS)

Lab 45 minutes universal_currency_alt 5 Credits show_chart Introductory
info This lab may incorporate AI tools to support your learning.
This content is not yet optimized for mobile devices.
For the best experience, please visit us on a desktop computer using a link sent by email.

雲端工程師都想要確保自己的解決方案具備容錯和擴充能力。您的應用程式可能會有多個階層,而且就算架構中部署的虛擬機器 (VM) 執行個體只有一部分須開放公開存取,這些執行個體也要能夠擴充和處理錯誤。同樣地,解決方案也必須確保流量在各個 VM 之間達到平衡。基於上述原因,架構中必須具備一項最重要的服務,就是有韌性且可擴充的負載平衡器,這樣才能處理和重新導向流量,並持續檢查健康狀態。

在 AWS 中,您可以透過連結網路的負載平衡器,將流量分配給具有公開 IP 位址的 Elastic Compute Cloud (EC2) 執行個體。對於有多個階層的應用程式來說,您通常只會將後端執行個體連結至無外部 IP 的前端。在此情境中,您將能同時使用連結網路和內部的網路負載平衡器。

即使您的後端 VM 執行個體不對外公開,仍要能下載安全性修補程式和更新,因此您需要設定網路位址轉譯 (NAT) 閘道,提供連至公開網路的單向通訊路徑,這樣私人 VM 執行個體就能建立與網際網路的連線,而網際網路則無法建立與您 VM 執行個體的連線。

為實現容錯能力、成本效益和高可用性 (HA),您將搭配使用 Amazon Machine Images (AMI)、啟動範本和 Auto Scaling 群組來動態因應逐漸提高的需求、取消分配不再需要的資源,以及檢查健康狀態來確保執行個體隨時正常運作。

AWS 圖表

現在您將學習如何有效率地在 Google Cloud 管理流量及調度服務資源。

總覽

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

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

網路架構圖表

目標

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

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

設定和需求

每個實驗室都會提供新的 Google Cloud 專案和一組資源,讓您在時限內免費使用。

  1. 請透過無痕視窗登入 Google Skills。

  2. 注意實驗室時間限制 (例如 1:15:00),並確實在該時限內完成相關工作。實驗室無法暫停。您可以重新開始,但原有進度不會保留。

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

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

  5. 點選「Open Google Console」

  6. 點選「Use another account」,然後複製本實驗室的憑證,並貼到提示訊息中。 如果使用其他憑證,會出現錯誤訊息或產生費用

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

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

在這項工作中,您會為應用程式設定防火牆規則,允許來自內部的流量連線和健康狀態檢查探測。您將探索現有網路並建立新的防火牆規則,允許來自特定 IP 範圍的流量。

請設定防火牆規則,允許來自 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 控制台的「導覽選單」「導覽選單」圖示,依序點選「虛擬私有雲網路」>「虛擬私有雲網路」
    注意,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. 在「導覽選單」「導覽選單」圖示 中,依序點選「虛擬私有雲網路」>「防火牆」
    注意 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. 在「導覽選單」「導覽選單」圖示 上,依序點選「虛擬私有雲網路」>「防火牆」

  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. 點選「建立」

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

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

在這項工作中,您會建立 Cloud Router 執行個體並設定 Cloud NAT,以便啟用後端執行個體來傳出流量。

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

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

建立 Cloud Router 執行個體

  1. 前往 Google Cloud 控制台,在標題列的搜尋欄位輸入網路服務,然後點選「Products & Page」(產品和頁面) 部分中的「Network services」(網路服務)

  2. 在「Network service」(網路服務) 頁面,點選「Network services」(網路服務) 旁的固定圖示。

  3. 點選「Cloud NAT」

  4. 點選「立即開始」來設定 NAT 閘道。

  5. 指定下列屬性,其餘設定保留預設值:

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

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

  8. 點選「建立」

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

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

點選「Check my progress」,確認目標已達成。 使用 Cloud Router 建立 NAT 設定

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

在這項工作中,您會驗證預先設定的執行個體範本和代管執行個體群組。您將在現有的執行個體中執行開機指令碼,並建立公用 VM 來測試能否連線至後端執行個體。

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

這項工作已於本實驗室開始時自動執行完畢。您需要透過 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 記憶體)
  4. 點選「OS 和儲存空間」

  5. 如果顯示的「映像檔」不是「Debian GNU/Linux 12 (bookworm)」,請按一下「變更」後選擇「Debian GNU/Linux 12 (bookworm)」,再點按「選取」

  6. 點選「網路」

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

  8. 指定下列屬性,其餘設定保留預設值:

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

  10. 點選「建立」

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

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

點選「Check my progress」,確認目標已達成。 設定執行個體範本和建立執行個體群組

  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: {{{project_0.default_zone | Zone 1}}}
  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: {{{project_0.default_zone_2 | Zone 2}}}

備註:這個步驟能有效確認內部負載平衡器是否將流量傳送到兩個後端。
  1. 關閉 utility-vm 的 SSH 終端機:
exit

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

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

網路圖表

開始設定

  1. 前往 Cloud 控制台,依序點選「導覽選單」圖示 「導覽選單」圖示 >「網路服務」>「負載平衡」。
  2. 點選「+ 建立負載平衡器」
  3. 「負載平衡器類型」請選取「網路負載平衡器 (TCP/UDP/SSL)」,然後點選「下一步」
  4. 在「直通或使用 Proxy」部分,選取「直通式負載平衡器」,然後點選「下一步」
  5. 在「公開或內部」部分,選取「內部」,然後點選「下一步」
  6. 在「建立負載平衡器」部分,點選「設定」
  1. 「負載平衡器名稱」請輸入 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. 點選「建立」
    等待負載平衡器建立完成,再開始執行下一項工作。

點選「Check my progress」,確認目標已達成。 設定內部網路負載平衡器

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

在這項工作中,您將驗證 my-ilb 的 IP 位址能否順利將流量傳送到 instance-group-1instance-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|Zone2}}} 注意:一如預期,流量從內部負載平衡器 (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 流量。接著您為這些執行個體群組設定了內部網路負載平衡器,並完成測試。

在 AWS 中,您通常會使用網路位址轉譯 (NAT) 閘道、Auto Scaling 群組和 Elastic Load Balancer (ELB) 來確保 Elastic Compute Cloud (EC2) 執行個體的私密性。這項解決方案能讓您的 EC2 執行個體與前端執行個體通訊,以及從公開網路安全地下載更新。

在 Google Cloud 中,您可以使用內部網路負載平衡器,將流量分配給同個 Google Cloud 區域中的執行個體或代管執行個體群組 (MIG)。如果您的後端分布在多個區域,則需要使用全域負載平衡器,不過就只能部署為外部負載平衡器。您可以使用內部網路負載平衡器處理以下類型的流量:

  • TCP/UDP (直通)
  • HTTP/HTTPS
  • TCP (Proxy)

如要讓不具備外部 IP 的執行個體開始建立傳出連線至網際網路,您可以設定 Cloud NAT。

關閉研究室

如果您已完成實驗室,請點選「End Lab」。Google Skills 會清除您使用的資源和帳戶。

您可以為實驗室的使用體驗評分。請選取合適的星級評等並提供意見,然後按一下「Submit」

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

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

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

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

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

Before you begin

  1. Labs create a Google Cloud project and resources for a fixed time
  2. Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
  3. On the top left of your screen, click Start lab to begin

Use private browsing

  1. Copy the provided Username and Password for the lab
  2. Click Open console in private mode

Sign in to the Console

  1. Sign in using your lab credentials. Using other credentials might cause errors or incur charges.
  2. Accept the terms, and skip the recovery resource page
  3. Don't click End lab unless you've finished the lab or want to restart it, as it will clear your work and remove the project

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

One lab at a time

Confirm to end all existing labs and start this one

Use private browsing to run the lab

Using an Incognito or private browser window is the best way to run this lab. This prevents any conflicts between your personal account and the Student account, which may cause extra charges incurred to your personal account.