Before you begin
- Labs create a Google Cloud project and resources for a fixed time
- Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
- On the top left of your screen, click Start lab to begin
Configure HTTP and health check firewall rules
/ 25
Configure instance templates and instance group
/ 25
Configure the HTTP Load Balancer
/ 25
Blacklist the siege-vm
/ 25
在分散式企業環境中,降低延遲與保護資安這兩個優先目標往往彼此衝突,難以兼顧。Google Cloud 的全域外部應用程式負載平衡器可解決這個問題,方法是在 Google 邊緣 (連接點) 終止使用者流量,並透過 Google 的私人光纖骨幹網路,將流量轉送至距離最近、狀態最佳的後端。
為了保護這些後端,Google Cloud Armor 在邊緣提供第 7 層篩選和 IP 強制執行機制。實作拒絕清單後,就能避免惡意流量 (例如第 7 層洪水攻擊) 進入虛擬私有雲 (VPC),或是耗用後端資源。
在本實驗室中,您將設定具有全域後端的應用程式負載平衡器;然後透過 Cloud Armor 對負載平衡器進行壓力測試,並建立壓力測試 IP 拒絕清單。
本實驗室將說明如何執行下列工作:
請詳閱以下操作說明。實驗室活動會計時,且中途無法暫停。點選「Start Lab」後就會開始計時,顯示可使用 Google Cloud 資源的時間。
您將在真正的雲端環境完成實作實驗室活動,而不是模擬或示範環境。為此,我們會提供新的暫時憑證,供您在實驗室活動期間登入及存取 Google Cloud。
為了順利完成這個實驗室,請先確認:
點選「Start Lab」按鈕。如果實驗室會產生費用,畫面上會出現選擇付款方式的對話方塊。左側的「Lab Details」窗格會顯示下列項目:
點選「Open Google Cloud console」;如果使用 Chrome 瀏覽器,也能按一下滑鼠右鍵,選取「在無痕視窗中開啟連結」。
接著,實驗室會啟動相關資源,並開啟另一個分頁,顯示「登入」頁面。
提示:您可以在不同的視窗中並排開啟分頁。
如有必要,請將下方的 Username 貼到「登入」對話方塊。
您也可以在「Lab Details」窗格找到 Username。
點選「下一步」。
複製下方的 Password,並貼到「歡迎使用」對話方塊。
您也可以在「Lab Details」窗格找到 Password。
點選「下一步」。
按過後續的所有頁面:
Google Cloud 控制台稍後會在這個分頁開啟。
負載平衡器必須能與您的後端執行個體通訊。我們的網路伺服器使用 Apache 系統,因此需要開啟通訊埠 80。
依序點選 Cloud 控制台中的「導覽選單」圖示 >「虛擬私有雲網路」>「防火牆」。
按一下「建立防火牆規則」。
設定下方的值,其他屬性均保留預設值:
| 屬性 | 值 (按照指示輸入值或選取選項) |
|---|---|
| 名稱 | default-allow-http |
| 網路 | 預設 |
| 目標 | 指定的目標標記 |
| 目標標記 | http-server |
| 來源篩選器 | IPv4 範圍 |
| 來源 IPv4 範圍 | 0.0.0.0/0 |
| 通訊協定和通訊埠 | 指定的通訊協定和通訊埠:勾選「TCP」並輸入 80 |
您正在指定 http-server 標記,稍後會將 http-server 標記套用至 VM,讓網路明確瞭解哪些機器可接收此網站流量。
健康狀態檢查會判斷負載平衡器的哪些執行個體能接收新連線。以應用程式負載平衡來說,如果對達到負載平衡的執行個體執行健康狀態檢查探測,這類要求是從位址範圍 130.211.0.0/22 和 35.191.0.0/16 傳出。防火牆規則必須允許這類連線。
一樣在「防火牆政策」頁面,點選「建立防火牆規則」。
設定下方的值,其他屬性均保留預設值:
| 屬性 | 值 (按照指示輸入值或選取選項) |
|---|---|
| 名稱 | default-allow-health-check |
| 網路 | 預設 |
| 目標 | 指定的目標標記 |
| 目標標記 | http-server |
| 來源篩選器 | IPv4 範圍 |
| 來源 IPv4 範圍 |
130.211.0.0/22 和 35.191.0.0/16
|
| 通訊協定和通訊埠 | tcp |
按一下「建立」。
點選「Check my progress」,確認目標已達成。
您需要定義網路伺服器的建構方式。由於這些伺服器會設置在不同區域,您必須確保其網路介面採用正確的範圍設定。
執行個體範本會定義機型、開機磁碟映像檔、子網路、標籤和其他執行個體屬性。
前往 Cloud 控制台,依序點選「導覽選單」圖示 >「Compute Engine」>「執行個體範本」>「建立執行個體範本」。
在「名稱」部分,輸入
在「位置」部分,選取「全域」。
在「系列」部分,選取「E2」。
在「機型」部分,選取「e2-micro」。
點選「進階選項」。
點選「網路」。設定下方的值,其他屬性均保留預設值:
| 屬性 | 值 (按照指示輸入值或選取選項) |
|---|---|
| 網路標記 | http-server |
在「網路介面」下方點選預設值。設定下方的值,其他屬性均保留預設值:
| 屬性 | 值 (按照指示輸入值或選取選項) |
|---|---|
| 網路 | 預設 |
| 子網路 | 預設 |
點選「完成」。
網路標記 http-server 能確保這些執行個體套用 HTTP 和健康狀態檢查防火牆規則。
點選「管理」分頁標籤。
在「中繼資料」下方,點選「+ 新增項目」並指定下列設定:
| 鍵 | 值 |
|---|---|
| startup-script-url | gs://spls/gsp215/gcpnet/httplb/startup.sh |
startup-script-url 能指定執行個體啟動時執行的指令碼。這個指令碼會安裝 Apache 並變更歡迎頁面,在頁面中納入用戶端 IP,以及 VM 執行個體的名稱、區域和可用區。歡迎查看指令碼內容。
接著選取第一個範本 > 點選「建立類似的項目」,建立 subnet-b 的另一個執行個體範本:
在
一樣在「Compute Engine」頁面,點選左選單中的「執行個體群組」。
點選「建立執行個體群組」。
設定下方的值,其他屬性均保留預設值:
| 屬性 | 值 (按照指示輸入值或選取選項) |
|---|---|
| 名稱 |
|
| 位置 | 多可用區 |
| 區域 | |
| 執行個體範本 |
|
| 「自動調度資源」>「設定自動調度資源功能」>「執行個體數量下限」 | 1 |
| 執行個體數量上限 | 2 |
| 「自動調度資源信號」> 點選下拉式選單 >「信號類型」 | CPU 使用率 |
| 目標 CPU 使用率 | 80,點選「完成」。 |
| 初始化期間 | 45 |
代管執行個體群組提供自動調度資源功能,可根據負載的增減,在代管執行個體群組自動新增或移除執行個體。這項功能可協助應用程式妥善處理增加的流量,並在資源需求降低時節省成本。只要定義自動調度資源政策,自動配置器就會依據測得的負載量,自動調整資源配置。
接著執行相同程序,為
點選「建立執行個體群組」。
設定下方的值,其他屬性均保留預設值:
| 屬性 | 值 (按照指示輸入值或選取選項) |
|---|---|
| 名稱 |
|
| 位置 | 多可用區 |
| 區域 | |
| 執行個體範本 |
|
| 「自動調度資源」>「設定自動調度資源功能」>「執行個體數量下限」 | 1 |
| 執行個體數量上限 | 2 |
| 「自動調度資源信號」> 點選下拉式選單 >「信號類型」 | CPU 使用率 |
| 目標 CPU 使用率 | 80,點選「完成」。 |
| 初始化期間 | 45 |
按一下「建立」。
點選「Check my progress」,確認目標已達成。
確認兩個區域中已建立 VM 執行個體,且都能存取 HTTP 網站。
一樣在「Compute Engine」頁面,點選左選單中的「VM 執行個體」。
留意開頭為
這些執行個體屬於代管執行個體群組。
點選
畫面上會顯示「用戶端 IP」(您的 IP 位址)、「主機名稱」(開頭為
點選
畫面上會顯示「用戶端 IP」(您的 IP 位址)、「主機名稱」(開頭為
設定應用程式負載平衡器,平衡兩個後端之間的流量 (
在 Cloud 控制台中,依序點選「導覽選單」圖示 >「查看所有產品」>「網路」>「網路服務」>「負載平衡」。
點選「+ 建立負載平衡器」。
在「應用程式負載平衡器 (HTTP/HTTPS)」下方,點選「下一步」。
在「公開或內部」部分選取「公開 (外部)」,接著點選「下一步」。
在「全域或單一區域部署」部分,選取「最適合全域工作負載」,接著點選「下一步」。
在「負載平衡器代別」部分,選取「全域外部應用程式負載平衡器」,然後點選「下一步」。
在「建立負載平衡器」部分,點選「設定」。
將「負載平衡器名稱」設為 http-lb。
主機與路徑規則會決定流量的導向方式。舉例來說,您可以將影片流量導向至其中一個後端,並將靜態內容流量導向至另一個後端。不過,您不會在本實驗室中設定主機和路徑規則。
點選「前端設定」。
指定下方的值,其他屬性均保留預設值:
| 屬性 | 值 (按照指示輸入值或選取選項) |
|---|---|
| 通訊協定 | HTTP |
| IP 版本 | IPv4 |
| IP 位址 | 臨時 |
| 通訊埠 | 80 |
點選「完成」。
點選「新增前端 IP 和通訊埠」。
指定下方的值,其他屬性均保留預設值:
| 屬性 | 值 (按照指示輸入值或選取選項) |
|---|---|
| 通訊協定 | HTTP |
| IP 版本 | IPv6 |
| IP 位址 | 自動分配 |
| 通訊埠 | 80 |
點選「完成」。
應用程式負載平衡服務支援透過 IPv4 和 IPv6 位址,傳輸用戶端流量。用戶端的 IPv6 要求會在全域負載平衡層終止,接著透過 IPv4 進行 Proxy 處理後,再傳送至後端。
後端服務會將傳入流量導向一或多個連接的後端。每個後端都含有執行個體群組,以及其他負載能力中繼資料。
點選「後端設定」。
在「後端服務和後端值區」部分,點選「建立後端服務」。
設定下方的值,其他屬性均保留預設值:
| 屬性 | 值 (按照指示選取選項) |
|---|---|
| 名稱 | http-backend |
| 執行個體群組 |
|
| 通訊埠編號 | 80 |
| 平衡模式 | 頻率 |
| 每秒要求數上限 | 50 |
| 容量 | 100 |
這項設定表示負載平衡器會試著將每個
點選「完成」。
點選「新增後端」。
設定下方的值,其他屬性均保留預設值:
| 屬性 | 值 (按照指示選取選項) |
|---|---|
| 執行個體群組 |
|
| 通訊埠編號 | 80 |
| 平衡模式 | 使用率 |
| 後端使用率上限 | 80 |
| 容量 | 100 |
這項設定表示負載平衡器會試著將每個
點選「完成」。
在「健康狀態檢查」部分,選取「建立健康狀態檢查」。
設定下方的值,其他屬性均保留預設值:
| 屬性 | 值 (按照指示選取選項) |
|---|---|
| 名稱 | http-health-check |
| 通訊協定 | TCP |
| 通訊埠 | 80 |
健康狀態檢查會判斷哪些執行個體能接收新連線。這項 HTTP 健康狀態檢查會每 5 秒輪詢執行個體一次,並等待最多 5 秒來接收回應。如果成功兩次,就會判定為健康狀態良好;如果失敗兩次,則會判定為健康狀態不良。
1。[LB_IP_v4] 和 [LB_IP_v6]。點選「Check my progress」,確認目標已達成。
建立後端的應用程式負載平衡器後,接著要確認流量已轉送至後端服務。
在瀏覽器開啟新分頁並前往 http://[LB_IP_v4],測試能否透過 IPv4 存取應用程式負載平衡器。請務必將 [LB_IP_v4] 換成負載平衡器的 IPv4 位址。
如果您有本機 IPv6 位址,請前往 http://[LB_IP_v6],試試應用程式負載平衡器的 IPv6 位址。請務必將 [LB_IP_v6] 換成負載平衡器的 IPv6 位址。
使用 siege 建立新的 VM,在應用程式負載平衡器上模擬負載。接著在負載偏高時,判斷兩個後端的流量是否達到平衡。
前往控制台,依序點選「導覽選單」圖示 >「Compute Engine」>「VM 執行個體」。
點選「建立執行個體」。
在「機器設定」部分:
選取下列值:
| 屬性 | 值 (按照指示輸入值或選取選項) |
|---|---|
| 名稱 | siege-vm |
| 區域 | |
| 可用區 | |
| 系列 | E2 |
[LB_IP_v4] 換成 IPv4 位址:在 Cloud 控制台,依序點選「導覽選單」圖示 >「查看所有產品」>「網路」>「網路服務」>「負載平衡」。
點選「後端」。
點選「http-backend」。
前往「http-lb」。
點選「監控」分頁標籤。
在北美區域和兩個後端之間,花 2 至 3 分鐘監控前端位置的總輸入流量。
流量一開始應該只會導向
這證明了流量預設只會轉送至距離最近的後端,但如果負載過高,流量也可能會分配至其他後端。
您會看見類似下方的輸出內容:
使用 Cloud Armor 將 siege-vm 列入拒絕清單,避免該執行個體存取應用程式負載平衡器。
建立 Cloud Armor 安全性政策,並對 siege-vm 設定拒絕清單規則。
[SIEGE_IP]。在 Cloud 控制台,依序點選「導覽選單」圖示 >「查看所有產品」>「網路」>「網路安全性」>「Cloud Armor 政策」。
點選「+ 建立政策」。
設定下方的值,其他屬性均保留預設值:
| 屬性 | 值 (按照指示輸入值或選取選項) |
|---|---|
| 名稱 | denylist-siege |
| 預設規則動作 | 允許 |
點選「下一步」。
點選「新增規則」。
設定下方的值,其他屬性均保留預設值:
| 屬性 | 值 (按照指示輸入值或選取選項) |
|---|---|
| 「條件」>「相符」 | 輸入 SIEGE_IP |
| 動作 | 拒絕 |
| 回應代碼 | 403 (禁止) |
| 優先順序 | 1000 |
點選「儲存規則變更」。
點選「下一步」。
點選「新增目標」。
在「類型」部分,選取「後端服務 (外部應用程式負載平衡器)」。
在「後端服務」部分,選取「http-backend」,如果出現提示訊息,請確認「取代」。
點選「建立政策」。
點選「Check my progress」,確認目標已達成。
確認 siege-vm 無法存取應用程式負載平衡器。
您會看見類似下方的輸出內容:
http://[LB_IP_v4]。請務必將 [LB_IP_v4] 換成負載平衡器的 IPv4 位址。此指令不會產生任何輸出內容。
查看安全性政策記錄檔,確認此流量是否也遭到封鎖。
要求應該來自 siege-vm IP 位址。如果不是,請展開另一個記錄項目。
DENY,「名稱」則是 denylist-siege。透過 Cloud Armor 安全性政策建立的記錄檔,您可以判斷流量來源,以及獲得允許或遭拒的時間點。
您設定了後端位於
如要瞭解 Cloud Armor 基本概念,請參閱 Cloud Armor 說明文件。
如要進一步瞭解負載平衡,請參閱負載平衡說明文件。
協助您瞭解如何充分運用 Google Cloud 的技術。我們的課程會介紹專業技能和最佳做法,讓您可以快速掌握要領並持續進修。我們提供從基本到進階等級的訓練課程,並有隨選、線上和虛擬課程等選項,方便您抽空參加。認證可協助您驗證及證明自己在 Google Cloud 技術方面的技能和專業知識。
使用手冊上次更新日期:2026 年 4 月 1 日
實驗室上次測試日期:2026 年 4 月 1 日
Copyright 2026 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
One lab at a time
Confirm to end all existing labs and start this one