Load Balancer負載平衡器,用在設備資源分配負載,以達到最佳化資源使用且避免過載為目的。
*建議不清楚Load Balancer,可使用Nginx實作一個Docker的Load Balancer,連線到不同的設備,再使用雲端工具。
GCP - Load Balancer 產品名稱為 Load Balancing
Load Balancing 項目
- HTTP/HTTPS - 外部入口僅 80/8080/443 port 可使用 (Layer 7 - 應用層)
- TCP - 外部入口 不限 port 可使用 (Layer 4 - 傳輸層)
- UDP - 外部入口 不限 port 可使用 (Layer 4 - 傳輸層)
*依據項目挑選需求所用的Load Balancing
情境思考選用
- 跨
Load Balancer連線需求? - 外部入口除了 80/8080/443 ,測試連線 ex: socket連線
HTTP/HTTPS
Step1 選擇類型需求


Step2 Backend configuration - 後端設定
後端服務
- GCE - 個體群組(Instance group) - 由
GCP內網傳送 - GCP - Storage - 由
GCP內網傳送 - GCE - 網路端點群組(NEG - Network Endpoint Groups) - 類似
K8s Pods- Zonal NEGs - 地區NEGs
- Internet NEGs - 網路NEGs
- Cloud CDN
- Google Cloud Armor
- Identity-Aware Proxy
- User Header
- GCE - 個體群組(Instance group) - 由
也可以將後端綁定 Cloud CDN
Step3 Host and path rules - 主機與路徑規則
*重新轉導回應代碼重點提醒:
302有些瀏覽器可能會將POSTrequest 轉成GET往新的 location 發送。307不管帶什麼方法(POST/GET… ),重定向之後都要用相同方法。
Step4 Frontend configuration - 前端設定
- 入口設定,選擇 HTTP/HTTPS
HTTP- 申請方式比較簡單,建立之後即可應用。HTTPS- 要申請憑證與建立一組IP位置,申請完建立完的Load Balancing,生效後即可由HTTPS方式進網站。
後續就是將網址,指定到服務上在 Cloud DNS 將服務新增A 紀錄,使用網址訪問。
TCP/UDP
HTTP/HTTPS多個自定主機與路由規則,但port號限制在80/8080/443,TCP可自由自定義port號。
小結
Load Balancing跨足了很多GCP的雲端項目,是一個複雜的一個服務,這邊的前端指的就是入口,K8s的Ingress就是在做Load Balancer的角色,K8s的Ingress有很多限制的功能,可以在Load Balancing指定到K8s的Ingress可再做一層封包的過濾。


