iT邦幫忙

2025 iThome 鐵人賽

DAY 12
0
Build on AWS

AWS 雲原生,學起來比泡咖啡還快系列 第 12

DAY12 - 打造 ECS Cluster:先有舞台才有表演

  • 分享至 

  • xImage
  •  
  1. 建立 ECS Cluster(Fargate 模式)
    https://ithelp.ithome.com.tw/upload/images/20250912/20145462RM1um5M0hg.png
    叢集名稱:可自由輸入

  2. Service Connect
    https://ithelp.ithome.com.tw/upload/images/20250912/20145462ZiYFp2oxuT.png
    Service Connect 可於 建立cluster 時候指定,主要的功用如下

  • 簡化服務通訊:服務之間可直接透過名稱互相呼叫,免設定 Load Balancer 或 VPC DNS。
  • 內建服務發現:自動將服務註冊到 AWS Cloud Map,無需額外架設發現機制。
  • 支援跨 Cluster 溝通:只要使用相同 namespace,不同 ECS Cluster 的服務也能互相存取。
  • 強化安全性:可搭配 IAM 控制服務之間的存取權限,支援 TLS 加密。
  • 觀察性整合:自動整合 CloudWatch,可監控流量、延遲與錯誤率。
  • 內建 Proxy 管理:使用 AWS 提供的 Envoy sidecar,無需自行部署或設定。
  1. 選擇基礎設施
    https://ithelp.ithome.com.tw/upload/images/20250912/20145462g9OVP07dgc.png

ECS 建立 Cluster 時選擇 EC2 vs Fargate 的差別

項目 EC2 Fargate
基礎架構管理 需要自行管理 EC2 主機(啟動、更新、容量) 無需管理基礎設施,AWS 自動分配資源
資源配置方式 使用 EC2 Instance 作為資源池,需自行選擇機型與數量 以 Task 為單位定義 CPU / Memory,彈性配置
啟動速度 相對較慢(視 EC2 啟動速度而定) 更快,因為無需等待 EC2 啟動
成本模式 按 EC2 使用時間計費(無論容器是否執行) 只為實際執行的 Task 付費
彈性擴展 需要搭配 Auto Scaling 自行設定 自動處理資源調度與擴展
使用場景 適合需要控制主機層、特殊硬體、固定成本需求的應用 適合需要彈性、高可用、少維運的容器化工作負載

補充說明:
Fargate 不需啟動 EC2,也不需管理 AMI、容量或更新。
EC2 適合已有既定主機配置需求、使用 Spot Instance 成本優化者。

  1. 選擇監控選項
    https://ithelp.ithome.com.tw/upload/images/20250912/20145462vf4BTxA8fa.png

當建立 ECS Cluster 時,可選擇不同層級的 Container Insights 監控,提供不同深度的可觀測性。

監控層級 可觀測內容
叢集層級 CPU / Memory 使用率總覽、服務數量、狀態等
服務層級 每個服務的任務數量、健康狀態、資源使用狀況等
任務層級 每個任務的執行狀態、CPU / Memory 使用明細
容器層級 個別容器的效能、重啟紀錄、錯誤訊息、資源瓶頸分析

三種選項差異比較

選項 說明 可觀測性 成本
具有增強可觀測性的 Container Insights 提供叢集、服務、任務、容器四層級詳細監控,適合深入分析與除錯 較高
Container Insights 提供叢集與服務層級的基本監控,搭配 Logs Insights 可做進一步查詢
關閉 僅提供預設 CloudWatch 指標,如 CPUUtilization、MemoryUtilization

費用差別簡述

  • 增強可觀測性:會產生更多 CloudWatch Metrics 和 Logs → 成本較高。
  • 基本 Container Insights:只上傳彙總指標,費用較低。
  • 關閉監控:不會額外產生 Container Insights 成本,僅使用免費或基本指標。

建議:開發、測試環境可使用基本監控;生產環境建議啟用「增強可觀測性」以利快速除錯與性能分析。

https://ithelp.ithome.com.tw/upload/images/20250912/20145462HbKluVT93n.png
ECS Cluster 的加密選項介紹

您可以選擇使用自定義的 KMS 金鑰,來加密叢集中執行的所有任務的儲存資料。
此選項提供更多的控制,讓您能夠選擇自己管理的金鑰來保護資料。

受管儲存
使用 預設的 KMS 金鑰 來加密 ECS 中的受管儲存資料(例如:容器磁碟)。
這是 AWS 自動管理的加密方案,免去自己管理金鑰的麻煩。

Fargate 暫時性儲存
針對 Fargate 執行的任務,選擇加密 暫時性儲存,即容器中使用的本地儲存。
預設使用 KMS 金鑰 進行加密,這樣能確保在任務結束時資料安全地被刪除。

建議:
若您需要自定義金鑰進行加密,使用 自訂 KMS 金鑰 會提供更多靈活性與控制。
若您希望 AWS 自動處理加密,則可以選擇 受管儲存 或 Fargate 暫時性儲存 的預設加密。

https://ithelp.ithome.com.tw/upload/images/20250912/20145462FlI6HgpKg8.png

上圖為建立成功cluster 畫面。


上一篇
DAY11 - ECS 登場:雲端的管家
下一篇
DAY13 - Task Definition:演員分配劇本
系列文
AWS 雲原生,學起來比泡咖啡還快20
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言