ECS on Fargate 建立流程
Fargate 的核心概念是:不需要自己準備 EC2 主機,AWS 會提供容器執行所需的底層運算資源。
| 步驟 | 階段名稱 | 核心動作 | 與 EC2 模式的差異 |
|---|---|---|---|
| 1 | Prepare Image | 打包 Docker Image | 相同,建議映像檔越小越好。 |
| 2 | Amazon ECR | 推送映像檔至 ECR | 相同。 |
| 3 | ECS Cluster | 建立 ECS Cluster | 更簡單:不需自己準備 EC2、Auto Scaling Group 或選擇執行個體類型。 |
| 4 | Task Definition | 定義 CPU / RAM、Image、Port,並指定 FARGATE |
關鍵:必須符合 Fargate 支援的 CPU / RAM 組合。 |
| 5 | Networking | 設定 VPC / Subnet / Security Group / Public IP | 重點:每個 task 都有自己的 ENI 與私有 IP。 |
| 6 | ECS Service | 建立 Service 或 Run Task | 相同概念,但 Fargate 不需要先準備 EC2 容量。 |
| 7 | ALB & Monitor | 串接 ALB 與 CloudWatch | 差異:ALB target group 要用 ip,不能用 instance。 |
Fargate vs. EC2 模式該選哪一個?
| 特性 | ECS on Fargate | ECS on EC2 |
|---|---|---|
| 管理難度 | 極低:不需管 OS、補丁、主機容量。 | 較高:需管理主機、AMI、容量與 Agent。 |
| 底層存取 | 無法 SSH 到底層主機;容器除錯可用 ECS Exec。 | 可透過 SSH 進入 EC2 主機進行除錯。 |
| 成本結構 | 依 task 請求的 vCPU / Memory 與執行時間計費。 | 依 EC2 主機啟動時間計費。 |
| 適用場景 | 適合快速部署、降低維運負擔。 | 適合特殊硬體需求、主機控制權高、做更細成本最佳化。 |
一句話理解:ECS on Fargate = AWS 幫你管主機,你專心管容器。
沒有留言:
張貼留言