iT邦幫忙

2025 iThome 鐵人賽

DAY 29
0

先前在建EC2的VM時,是自己創建的VM;但自己創建的VM雖然也能掛上ECS的Container,但AWS的ECS中的Infrastructure偵測到;所以我嘗試創建Template並用AutoScalingGroup管理VM的存續,讓ECS能認出有一個固定的Capacity Provider:
https://ithelp.ithome.com.tw/upload/images/20251009/20161802R3AFh4ispl.jpg

接下來的步驟很簡單,主要分三個部分:

  1. 建立 Launch Template
    在 EC2 的 Console 先建立一個 Launch Template,把你要的 AMI、Instance Type、Security Group 都設定好。如果要讓 ECS Agent 能自動註冊進 Cluster,記得在 User Data 裡加入:

    #!/bin/bash
    echo ECS_CLUSTER=你的ECS Cluster名稱 >> /etc/ecs/ecs.config
    

    這樣新開的 VM 才會自動被 ECS Agent 掛上去。

  2. 建立 Auto Scaling Group (ASG)
    接著用剛剛的 Template 建立一個 ASG,設定好最小、最大與期望的 instance 數量。ASG 會自動幫你維持 VM 的數量,也能確保 VM 掛掉後會自動補上。

  3. 在 ECS 建立 Capacity Provider 並綁定 ASG
    回到 ECS Console,建立一個新的 Capacity Provider,選擇剛剛的 ASG 並設定 Managed Scaling。再把這個 Provider 綁定到你的 ECS Cluster。
    這樣一來,ECS 就能辨識出這組 VM 的 Capacity 來源,也能動態調整 VM 數量來對應 Task 的需求。

這樣做的好處是:

  • ECS 能正確偵測與管理 VM 的資源;
  • VM 不需要手動維護;
  • Task Scaling 和 VM Scaling 都能連動。

上一篇
Day 28 - VSCode遠端操作讓EC2 VM頻頻當機
系列文
從零開始:AWS 部署 Python 自動交易程式與交易監測 Dashboard 實戰筆記29
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言