AWS - 套用 ELB 到 Auto Scaling Group 上


我們知道 ASG(Auto Scaling Group) 可以幫助我們擴展 EC2

很方便,可以根據流量來彈性擴展需要的 EC2 Instance 數量

image


但是光是 Scale-out/Scale-in 真的有用嗎

你怎麼處理數量不定的 EC2 Instance

我們應該要有一個 Endpoint 提供 Client 進行存取

那有個服務專門負責樣的流量負載平衡,在 AWS 中你可以根據你的業務需求來選擇 ALB(Layer 7)/NLB(Layer 4) 然後在實作的時候你會發現,ALB/ELB 是沒有辦法直接指向指定的 ASG 的

image


那我們可以怎麼解決這個問題呢? 用 Target Group

要弄成下面這張圖片把 ASG 用 Target Group 包起來才行

image


又遇到問題 Target Group 不能直接 Attach 一個 ASG

  1. 這時候我們可以先建立一個 空的(沒有任何 Attach) 的 Target Group
  2. 建立一個 ALB/ELB 然後 Attach 這個空的 Target Group
  3. 修改原本的 ASG 設定 Attach 這個建立好的 ALB/ELB

這樣就大功告成啦

你就會拿到一個 ALB/ELB 的 DNS Endpoint 來看看你的 ASG 能不能透過這個端點來存取,順便可以用一些壓力測試來測試看看搭配 ALB/ELB 能不能正確的 Scale-out/Scale-in


Reference

  • AWS - 將 Elastic Load Balancing 負載平衡器連接至 Auto Scaling 群組