如何设定 GCP HTTP(S) 负载平衡器

Posted 漫游云端

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何设定 GCP HTTP(S) 负载平衡器相关的知识,希望对你有一定的参考价值。

设定 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,晚點在設定防火牆的時候會用到。

如何设定 GCP HTTP(S) 负载平衡器

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

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

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

如何设定 GCP HTTP(S) 负载平衡器

如何设定 GCP HTTP(S) 负载平衡器

Step 2 建立 Unmanaged instance group 並加入 instances

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

如何设定 GCP HTTP(S) 负载平衡器

 

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

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

如何设定 GCP HTTP(S) 负载平衡器

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

如何设定 GCP HTTP(S) 负载平衡器

點選 Create Backend Service 進行後端伺服器的設定如何设定 GCP HTTP(S) 负载平衡器

如何设定 GCP HTTP(S) 负载平衡器

將 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。

如何设定 GCP HTTP(S) 负载平衡器 如何设定 GCP HTTP(S) 负载平衡器

依照上圖的設定,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,如果需要更進階的路徑設定可以參考文件

如何设定 GCP HTTP(S) 负载平衡器

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

設定 Load balancer 的 front-end。

如何设定 GCP HTTP(S) 负载平衡器

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

如何设定 GCP HTTP(S) 负载平衡器

如何设定 GCP HTTP(S) 负载平衡器

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

如何设定 GCP HTTP(S) 负载平衡器

Step 4 設定 Health check 防火牆

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

如何设定 GCP HTTP(S) 负载平衡器

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

如何设定 GCP HTTP(S) 负载平衡器

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

如何设定 GCP HTTP(S) 负载平衡器

如何设定 GCP HTTP(S) 负载平衡器

Step 5 測試 Load Balancer

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

 

以上是关于如何设定 GCP HTTP(S) 负载平衡器的主要内容,如果未能解决你的问题,请参考以下文章

terraform GCP https) 负载均衡器

在GCP负载均衡器后面设置自动缩放弹性搜索

错误 HTTP 状态 405 ?使用 GCP 负载平衡器时不允许的方法

如何在 GCP 上的 TCP 负载均衡器上获取当前连接数

为 App Engine 负载平衡器创建后端服务

将 kubernetes(GKE) 服务层指标发送到 GCP 负载均衡器