在AWS 上,你可以靈活選擇各種虛擬機器規格,並根據業務變化自動伸縮資源,這比傳統機房的固定配置方式更有效率。然而,如何為不同工作負載挑選最適合的實例類型卻並非易事,手動判斷不僅費時,也容易出錯。
為了幫助使用者做出更準確的資源決策,AWS 提供了 Compute Optimizer —— 一個專門用於分析資源使用情況並給予最佳化建議的智慧服務。
AWS Compute Optimizer 的定義
AWS Compute Optimizer 是利用機器學習模型分析歷史表現數據的服務,可根據實際資源消耗為你推薦更合適的:
- EC2 執行個體類型
- EBS 卷
- 自動伸縮組(Auto Scaling Groups)
- Lambda 函數配置
其主要作用是判斷資源是否:
- 過度配置(可以縮小規格節省成本)
- 配置不足(工作負載容易受到影響)
- 處於最佳配置
借助Compute Optimizer,你既能提升效能,又避免為不必要的資源買單。
AWS Compute Optimizer 如何運作?
使用Compute Optimizer 需要主動啟用。在控制台中開啟該服務後,它會透過CloudWatch 指標讀取你資源的歷史使用情況。該服務只具備唯讀權限,因此不會修改你的CloudWatch 資料。
啟用後,它會開始分析你的實例,但需要滿足一些前提條件:
- 至少 30–60 小時 的連續監控數據才能產生首次建議
- 對較大規模的資源,分析可能需要 最長12 小時
- Lambda 必須在過去14 天內被調用 不少於50 次 才能生成建議
Compute Optimizer 依賴哪些資料?
服務會透過CloudWatch 分析包含以下的常見指標:
- vCPU 使用率
- 作業系統記憶體(需安裝CloudWatch Agent)
- 磁碟與網路吞吐
- 卷的讀寫情況
- 儲存使用情況
預設情況下,Compute Optimizer 會收集過去 14 天、每5 分鐘 的監控數據。你也可以付費啟用增強型基礎設施指標,將分析範圍擴展到 90 天,並將取樣頻率提高到 每1 分鐘。
Compute Optimizer 會提供哪些建議?
Compute Optimizer 會提供多種選擇,例如:
- 最多 3 個 EC2 執行個體規格備選
- 適用於你卷類型的不同EBS 規格
- 針對Lambda 的配置調整建議
- 自動伸縮組的優化提示
推薦內容會顯示預計的:
- CPU 和記憶體利用率變化
- 工作負載運轉表現
- 成本差異(如適用)
在介面中,你會看到每個資源被標記為:
- Over-provisioned(過度配置)
- Optimized(優化良好)
- Under-provisioned(資源不足)
點開詳情頁後,可以查看更深入的圖表分析,例如CPU 使用率趨勢等。
需要注意的是,如果沒有啟用記憶體監控,記憶體相關的指標就不會出現在圖表中。
Compute Optimizer 目前僅支援部分實例係列(M、C、R、T、I、D、H、X),不包含G 系列、網路最佳化實例或Graviton 系列。
和其它AWS 工具的區別
與 Cost Explorer 和 Trusted Advisor 相比:
- Cost Explorer → 更重視節省成本
- Trusted Advisor → 提供基礎的效率與成本最佳化提醒
- Compute Optimizer → 重點在 效能與資源匹配度 的分析,並提供更深入的數據視覺化
也就是說,它關注“該用什麼資源更合適”,而不是單純的費用優化。
使用Compute Optimizer 的好處
- 所有AWS 用戶均可免費使用(部分增強功能另計費)
- 覆蓋最常用的運算與儲存服務
- 能顯著減少資源浪費,同時避免配置不足
- 推薦清晰易懂,方便手動調整資源
- 可讓系統在成本與效能之間達到更好的平衡
Compute Optimizer 的限制
- 無法自動執行推薦,需手動實施
- 部分實例係列不受支援
- 僅依賴14 天資料時可能出現誤判(特別是季節性業務)
- 跨多雲環境無法使用
- 各區域支援情況不同,篩選選項也會有差異
- 記憶體資料未啟用時,分析會受限
常見問題FAQ
1.Compute Optimizer 是免費的嗎?
是的,啟用服務無需額外費用;進階指標分析需收費。
2.它能分析哪些資源?
- EC2 執行個體
- EBS 卷
- Lambda 函數
- 自動伸縮組
3.它最多能使用多少歷史資料?
預設14 天,啟用增強指標後可達90 天。
4.Lambda 的建議包括哪些內容?
主要用於判斷是否需要增加記憶體或改善執行時間。
5.如何啟用Compute Optimizer?
進入Compute Optimizer 控制台,點擊啟用即可,也可透過API 啟用。

