返回
Featured image of post GCP - 網路 - Load Balancing

GCP - 網路 - Load Balancing

Google 雲端平台 - 網路 - Load Balancing

Load Balancer負載平衡器,用在設備資源分配負載,以達到最佳化資源使用且避免過載為目的。

*建議不清楚Load Balancer,可使用Nginx實作一個DockerLoad Balancer,連線到不同的設備,再使用雲端工具。

GCP - Load Balancer 產品名稱為 Load Balancing


Load Balancing 項目

  1. HTTP/HTTPS - 外部入口僅 80/8080/443 port 可使用 (Layer 7 - 應用層)
  2. TCP - 外部入口 不限 port 可使用 (Layer 4 - 傳輸層)
  3. UDP - 外部入口 不限 port 可使用 (Layer 4 - 傳輸層)
*依據項目挑選需求所用的Load Balancing

情境思考選用

  • Load Balancer 連線需求?
  • 外部入口除了 80/8080/443 ,測試連線 ex: socket連線

HTTP/HTTPS

Step1 選擇類型需求

HTTP/HTTPS Load Balancing
HTTP/HTTPS Load Balancing
HTTP/HTTPS Load Balancing
HTTP/HTTPS Load Balancing

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

    HTTP/HTTPS Load Balancing
    HTTP/HTTPS Load Balancing

也可以將後端綁定 Cloud CDN

Step3 Host and path rules - 主機與路徑規則

  • 簡易主機與路徑規則
    設定完後端會自然的預設後端
  • 進階主機與路徑規則 (網址重新導向與重新編寫)
    HTTP/HTTPS Load Balancing
    HTTP/HTTPS Load Balancing

*重新轉導回應代碼重點提醒:

  • 302 有些瀏覽器可能會將 POST request 轉成 GET 往新的 location 發送。
  • 307 不管帶什麼方法(POST/ GET … ),重定向之後都要用相同方法。

Step4 Frontend configuration - 前端設定

  • 入口設定,選擇 HTTP/HTTPS

HTTP/HTTPS Load Balancing
HTTP/HTTPS Load Balancing

  • HTTP - 申請方式比較簡單,建立之後即可應用。
  • HTTPS - 要申請憑證與建立一組IP位置,申請完建立完的Load Balancing,生效後即可由HTTPS方式進網站。

後續就是將網址,指定到服務上在 Cloud DNS 將服務新增A 紀錄,使用網址訪問。


TCP/UDP

HTTP/HTTPS多個自定主機與路由規則,但port號限制在80/8080/443TCP可自由自定義port號。


小結

Load Balancing跨足了很多GCP的雲端項目,是一個複雜的一個服務,這邊的前端指的就是入口,K8sIngress就是在做Load Balancer的角色,K8sIngress有很多限制的功能,可以在Load Balancing指定到K8sIngress可再做一層封包的過濾。

Licensed under CC BY-NC-SA 4.0
comments powered by Disqus