![](https://cdn.qwiklabs.com/assets/labs/start_lab-f45aca49782d4033c3ff688160387ac98c66941d.png)
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 restart it, you'll have to start 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 在自家遍布全球的網路邊緣服務點 (POP) 提供 Google Cloud 應用程式負載平衡服務。導向至應用程式負載平衡器的使用者流量會進入離使用者最近的 POP,接著透過 Google 的全球網路進行負載平衡,再傳至有足夠容量且距離最近的後端。
Cloud Armor IP 許可清單/拒絕清單可讓您在 Google Cloud 盡可能接近使用者和惡意流量的邊緣,允許或限制對方存取應用程式負載平衡器。這有助於防止惡意使用者或流量消耗資源,或進入虛擬私有雲 (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 控制台稍後會在這個分頁開啟。
設定防火牆規則,允許傳送至後端的 HTTP 流量,以及來自 Google Cloud 健康狀態檢查工具的 TCP 流量。
建立防火牆規則來允許 HTTP 流量前往後端。
前往 Cloud 控制台,依序點選「導覽選單」圖示 >「虛擬私有雲網路」>「防火牆」。
留意現有的 ICMP、內部、RDP 和 SSH 防火牆規則。
各項 Google Cloud 專案一開始時都有 default 網路和這些防火牆規則。
點選「Create Firewall Rule」。
設定下方的值,其他屬性均保留預設值:
屬性 | 值 (依指示輸入值或選取選項) |
---|---|
名稱 | default-allow-http |
網路 | 預設 |
目標 | 指定的目標標記 |
目標標記 | http-server |
來源篩選器 | IPv4 範圍 |
來源 IPv4 範圍 | 0.0.0.0/0 |
通訊協定和通訊埠 | 指定的通訊協定和通訊埠:勾選「TCP」並輸入 80 |
請務必在「來源 IPv4 範圍」欄位中加入 /0 來指定所有網路。
健康狀態檢查會判斷負載平衡器的哪些執行個體能接收新的連線。以應用程式負載平衡來說,如果對達到負載平衡的執行個體執行健康狀態檢查探測,這類要求是從位址範圍 130.211.0.0/22
和 35.191.0.0/16
傳出。防火牆規則必須允許這類連線。
一樣在「防火牆政策」頁面,點選「Create Firewall Rule」。
設定下方的值,其他屬性均保留預設值:
屬性 | 值 (依指示輸入值或選取選項) |
---|---|
名稱 | default-allow-health-check |
網路 | 預設 |
目標 | 指定的目標標記 |
目標標記 | http-server |
來源篩選器 | IPv4 範圍 |
來源 IPv4 範圍 |
130.211.0.0/22 和 35.191.0.0/16
|
通訊協定和通訊埠 | 指定的通訊協定和通訊埠:勾選「TCP」 |
點選「建立」。
點選「Check my progress」,確認目標已達成。
代管執行個體群組會使用執行個體範本,以建立相同執行個體的群組。請運用這些範本建立應用程式負載平衡器的後端。
執行個體範本是一種 API 資源,可用來建立 VM 執行個體和代管執行個體群組。執行個體範本會定義機型、開機磁碟映像檔、子網路、標籤和其他執行個體屬性。
請為
前往 Cloud 控制台,依序點選「導覽選單」圖示 >「Compute Engine」>「執行個體範本」>「建立執行個體範本」。
在「Name」部分,輸入
在「位置」部分,選取「Global」。
在「系列」部分,選取「E2」。
在「機器類型」部分,選取「e2-micro」。
點選「進階選項」。
點選「網路」。設定下方的值,其他屬性均保留預設值:
屬性 | 值 (依指示輸入值或選取選項) |
---|---|
網路標記 | http-server |
在「網路介面」下方點選預設值。設定下方的值,其他屬性均保留預設值:
屬性 | 值 (依指示輸入值或選取選項) |
---|---|
網路 | 預設 |
子網路 | 預設 |
點選「完成」。
網路標記 http-server 能確保這些執行個體套用 HTTP 和健康狀態檢查防火牆規則。
點選「管理」分頁標籤。
在「中繼資料」下方,點選「+ 新增項目」並指定下列設定:
鍵 | 值 |
---|---|
startup-script-url | gs://cloud-training/gcpnet/httplb/startup.sh |
startup-script-url
能指定執行個體啟動時執行的指令碼。這個指令碼會安裝 Apache 並變更歡迎頁面,在頁面中納入用戶端 IP,以及 VM 執行個體的名稱、區域和可用區。歡迎查看指令碼內容。
接著複製
在
一樣在「Compute Engine」頁面,點選左選單中的「執行個體群組」。
點選「建立執行個體群組」。
設定下方的值,其他屬性均保留預設值:
屬性 | 值 (依指示輸入值或選取選項) |
---|---|
名稱 |
|
執行個體範本 |
|
位置 | 多可用區 |
區域 | |
執行個體數量下限 | 1 |
執行個體數量上限 | 2 |
「Autoscaling signals」> 點選下拉式選單 >「信號類型」 | CPU 使用率 |
目標 CPU 使用率 | 80,點選「完成」。 |
初始化期間 | 45 |
代管執行個體群組提供自動調度資源功能,可根據負載的增減,在代管執行個體群組中自動新增或移除執行個體。這項功能可協助應用程式妥善處理增加的流量,並在資源需求降低時節省成本。只要定義自動調度資源政策,自動配置器就會依據測得的負載量,自動調整資源配置。
接著執行相同程序,為
點選「建立執行個體群組」。
設定下方的值,其他屬性均保留預設值:
屬性 | 值 (依指示輸入值或選取選項) |
---|---|
名稱 |
|
執行個體範本 |
|
位置 | 多可用區 |
區域 | |
執行個體數量下限 | 1 |
執行個體數量上限 | 2 |
「Autoscaling signals」> 點選下拉式選單 >「信號類型」 | CPU 使用率 |
目標 CPU 使用率 | 80,點選「完成」。 |
初始化期間 | 45 |
點選「建立」。
點選「Check my progress」,確認目標已達成。
確認兩個區域中已建立 VM 執行個體,且都能存取 HTTP 網站。
一樣在「Compute Engine」頁面,點選左選單中的「VM 執行個體」。
留意開頭為
這些執行個體屬於代管執行個體群組。
點選
畫面上會顯示「用戶端 IP」(您的 IP 位址)、「主機名稱」(開頭為
點選
畫面上會顯示「用戶端 IP」(您的 IP 位址)、「主機名稱」(開頭為
設定應用程式負載平衡器,平衡兩個後端之間的流量 (
在 Cloud 控制台中,依序點選「導覽選單」圖示 () >「查看所有產品」>「網路」>「網路服務」>「負載平衡」。
點選「建立負載平衡器」。
在「Application Load Balancer HTTP(S)」下方,點選「下一步」。
在「公開或內部」部分選取「公開 (外部)」,接著點選「下一步」。
在「全域或單一區域部署」部分,選取「最適合全域工作負載」,接著點選「下一步」。
在「建立負載平衡器」部分,點選「設定」。
將「負載平衡器名稱」設定為 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 存取應用程式負載平衡器。請務必將負載平衡器的 IPv4 位址換成 [LB_IP_v4]
。
如果您有本機 IPv6 位址,請前往 http://[LB_IP_v6]
試試應用程式負載平衡器的 IPv6 位址。請務必將負載平衡器的 IPv6 位址換成 [LB_IP_v6]
。
使用 siege
建立新的 VM,以在應用程式負載平衡器上模擬負載。接著在負載偏高時,判斷兩個後端的流量是否達到平衡。
前往 Cloud 控制台,依序點選「導覽選單」圖示 >「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 |
點選「完成」。
點選「下一步」。
點選「新增目標」。
在「Type」部分,選取「後端服務 (外部應用程式負載平衡器)」。
在「目標」部分,選取「http-backend」。
點選「建立政策」。
點選「Check my progress」,確認目標已達成。
確認 siege-vm 無法存取應用程式負載平衡器。
您會看見類似下方的輸出內容:
http://[LB_IP_v4]
。請務必將負載平衡器的 IPv4 位址換成 [LB_IP_v4]
。此指令不會產生任何輸出內容。
查看安全性政策記錄檔,確認流量是否也遭到封鎖。
要求應該來自 siege-vm IP 位址。如果不是,請展開另一個記錄項目。
DENY
,「名稱」則是 denylist-siege
。您可以運用 Cloud Armor 安全性政策建立的記錄檔,判斷流量來源、獲允許或遭到拒絕的時間點。
您設定了後端位於
如要瞭解 Cloud Armor 基本概念,請參閱 Cloud Armor 說明文件。
如要深入瞭解負載平衡,請參閱 Load Balancing 說明文件。
協助您瞭解如何充分運用 Google Cloud 的技術。我們的課程會介紹專業技能和最佳做法,讓您可以快速掌握要領並持續進修。我們提供從基本到進階等級的訓練課程,並有隨選、線上和虛擬課程等選項,方便您抽空參加。認證可協助您驗證及證明自己在 Google Cloud 技術方面的技能和專業知識。
使用手冊上次更新日期:2024 年 10 月 24 日
實驗室上次測試日期:2024 年 4 月 18 日
Copyright 2025 Google LLC 保留所有權利。Google 和 Google 標誌是 Google LLC 的商標,其他公司和產品名稱則有可能是其關聯公司的商標。