如何設定 GCP HTTP(S) 負載平衡器(GCP console 版本)

設定 GCP HTTP(S) load balancing

此教學帶您手把手使用 GCP console 建立 HTTP(S) load balancer。

Step 1 建立 instances

進到 GCP console / Compute Engine / Create VM instances 的頁面,建立兩個 f1-micro 的 instances。名為 lb-test-1 以及 lb-test-2 的 VM instances。在建立 instances 前也需要加上安裝 nginx 的 startup script,這樣建立時會一同幫使用者架設簡易的 web server。

記得要幫 instances 加上 lb-test 的 tags,晚點在設定防火牆的時候會用到。

在 Management 的分頁找到 Startup script 區塊並填入以下指令:

apt-get install nginx-light -y && echo "Hello $HOSTNAME"\
 | tee "/var/www/html/index.html" > /dev/null

GCP 將在建立 instance 後幫您架設一個簡易的 web server。

Step 2 建立 Unmanaged instance group 並加入 instances

接著,進入到 Compute Engine / Instance group / Create a new instance group 的頁面。建立一個 unmanaged instance group,並把剛剛建立的兩個 instance 也加入到該 instance group。設定好之後點選 create 建立 instance group。

Step 3-1 建立 HTTP(S) Load Balancer –  新增 Backend Service

進入到 Network services / Load balancing 的頁面,並點選 Create Load Balancer 的按鈕。

點選 HTTP(S) Load Balancing 區塊的 Start configuration 進行設定

點選 Create Backend Service 進行後端伺服器的設定

將 instance group(lb-test) 加入 backend service 的時候,我們需要為每個 instance group 指定它能負載的量,這裡我們以 CPU utilizaton 做為判斷負載量的依據,最高的 CPU utilization 設定為 80% ,並把 Capacity 設定為 75% ,這樣設定後當 instance 的 CPU utilization 到達 60% ( 80% * 75% )時, backend service 就會暫時停止對該 instance 發送 request ,直到該 instance 的 CPU utilization 低於 60% 才會再度發送 request 給它。

Step 3-2 建立 HTTP(S) Load Balancer –  新增 Health Check

建立完 Backend service 之後,在同一個頁面的下方有一個區塊是可以選擇 Health check 的,請選擇 Create another health check。

依照上圖的設定,Check interval 表示 health check 探針每十秒會發送一個請求給 instance group 裡面的 instances。Timeout 是指發送請求後,超過五秒沒有收到回應就會視為失敗。Healthy threshold,連續兩次收到成功的回應則視該 instance 為健康的 instance;Unhealthy threshold,連續三次未收到成功的回應則視該 instance 為不健康的 instance。

建立完之後可以看到 Backend configuration 以及 Host and path rules 已經設定完畢。Host and path rules 我們這邊使用預設的 root path,如果需要更進階的路徑設定可以參考文件

Step 3-3 建立 HTTP(S) Load Balancer – 設定 Front-end configuration(包括設定固定 IP)

設定 Load balancer 的 front-end。

點選 Create IP address 為 Front-end 註冊一個固定的 IP。

設定完畢後即可創建 Load Balancer,需要等待數分鐘讓 Load Balancer 啟用。

Step 4 設定 Health check 防火牆

設定好 Load balancer 之後,需要設定 health check 探針的防火牆。進到 VPC networks / Firewall rules 的頁面,點選 Create Firewall rules。

首先,target 要選取 Specified target tags 並填入 lb-test。35.191.0.0/16 以及 130.211.0.0/22 為 Health check 探針的來源 IP 範圍並開放 tcp 80 port。填寫完畢之後按 create 即可。

過一段時間就在 Load balancer 的頁面看到綠色的勾勾,點進去就會發現原本健康的 instances 為 0 ,現在因為設定完防火牆所以健康的 instances 變為 2。

Step 5 測試 Load Balancer

開啟新的瀏覽器分頁,輸入 Load Balancer 的 IP 以及 port,例如:http://[load balancer IP]:80。 重新整理幾次就會看到頁面顯示不同的 instance name。

 

 


連絡「GCP 專門家」