iT邦幫忙

2025 iThome 鐵人賽

DAY 7
0

讓 EC2 加入 Cluster:安裝/啟動 ECS Agent(在 EC2 上操作)

我的主機是 Ubuntu 24.04。官方支援用 Docker 跑 ECS Agent;這對非 Amazon Linux 最直覺。

在 EC2(SSH 或 VSCode 終端)執行:

# 1) 準備 ECS 設定檔
sudo mkdir -p /etc/ecs
cat <<'EOF' | sudo tee /etc/ecs/ecs.config
ECS_CLUSTER=trade-cluster
ECS_AVAILABLE_LOGGING_DRIVERS=["json-file","awslogs"]
EOF

# 2) 準備 Agent 用的目錄
sudo mkdir -p /var/log/ecs /var/lib/ecs/data

# 3) 啟動 ECS Agent(使用 Docker)
sudo docker rm -f ecs-agent 2>/dev/null || true
sudo docker pull amazon/amazon-ecs-agent:latest
sudo docker run -d --name ecs-agent --restart=always \
  --volume=/var/run:/var/run \
  --volume=/var/log/ecs/:/log \
  --volume=/var/lib/ecs/data:/data \
  --net=host \
  --env-file=/etc/ecs/ecs.config \
  amazon/amazon-ecs-agent:latest

# 4) 快速檢查 agent 是否起來
sudo docker logs ecs-agent --tail 30
curl -s http://localhost:51678/v1/metadata || true

回到 ECS Console → Clusters → trade-cluster,應該能看到 1 個 Container instance(就是這台 EC2)。

若看不到,多半是 EC2 沒套用 TradeContainerCluster 名稱寫錯;再檢查一次上面的步驟與 Agent 日誌。

安裝AWS CLI

這邊也順便安裝一下AWS CLI,之後會用到。

sudo apt-get update && sudo apt-get install -y unzip
curl -fsSL https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip -o awscliv2.zip
unzip -q awscliv2.zip
sudo ./aws/install
aws --version     # 確認有 v2.x

這樣EC2的環境就建好了,可以作為ECS掛載Docker Container的載體。
接下來方便測試,我會先用python寫一個hello world的flask web server程式,以及一個設置這隻程式所需環境的Dockerfile,透過AWS的ECS掛載到我的EC2 Instance上(設定Task Definition跟ECS的Service。


上一篇
Day6 - 建立IAM Role與ECS Cluster
下一篇
Day8 - 建立 ECR 倉庫、撰寫 Hello World Web、推映像
系列文
從零開始:AWS 部署 Python 自動交易程式與交易監測 Dashboard 實戰筆記12
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言