🚀 CFM提示 - 成本優化MCP服務器
這是一個全面的模型上下文協議(MCP)服務器,用於AWS成本分析和提供優化建議,旨在與Amazon Q CLI及其他支持MCP的客戶端無縫協作。
🚀 快速開始
CFM提示 - 成本優化MCP服務器可以幫助你對AWS資源進行成本分析和優化。按照以下步驟,你可以輕鬆使用該服務器:
- 安裝必要的依賴和配置AWS憑證。
- 應用所需的IAM權限。
- 選擇合適的使用方式,如使用Q CLI聊天或與Amazon Q開發者插件集成。
✨ 主要特性
核心AWS服務集成
- 成本資源管理器 - 檢索成本數據和使用指標。
- 成本優化中心 - 獲取AWS成本優化建議。
- 計算優化器 - 提供計算資源的合理調整建議。
- 可信顧問 - 進行成本優化檢查並給出建議。
- 性能洞察 - 提供RDS性能指標和分析。
- 成本和使用報告(CUR) - 分析S3中的成本和使用報告。
成本優化手冊
- 🔧 EC2合理調整 - 識別未充分利用的EC2實例。
- 💾 EBS優化 - 查找未使用和未充分利用的卷。
- 🗄️ RDS優化 - 識別閒置和未充分利用的數據庫。
- ⚡ Lambda優化 - 查找過度配置和未使用的函數。
- 📊 綜合分析 - 多服務成本分析。
高級特性
- 即時CloudWatch指標 - 使用實際的AWS指標進行分析。
- 多種輸出格式 - 生成JSON和Markdown報告。
- 成本計算 - 估算節省的成本和成本明細。
- 可操作的建議 - 基於優先級的優化建議。
📦 安裝指南
前提條件
- Python 3.11 或更高版本。
- 已配置適當憑證的AWS CLI。
- Amazon Q CLI(用於MCP集成) - 安裝鏈接
安裝步驟
- 克隆倉庫
git clone https://github.com/aws-samples/sample-cfm-tips-mcp.git
cd sample-cfm-tips-mcp
- 安裝依賴
pip install -r requirements.txt
- 配置AWS憑證
aws configure
- 應用IAM權限
- 創建一個包含上述權限的IAM策略。
- 將該策略附加到你的IAM用戶或角色。
- 安裝MCP配置
python3 setup.py
- 使用選項1:使用Q CLI聊天
q chat
Show me cost optimization recommendations
- 使用選項2:與Amazon Q開發者插件或Kiro集成
- 在你的IDE中打開Amazon Q開發者插件。
- 點擊聊天 -> 🛠️ 配置MCP服務器 -> ➕ 添加新的MCP。
- 使用以下配置
- 範圍:全局
- 名稱:cfm - tips
- 傳輸方式:stdio
- 命令:python3
- 參數:<替換為文件夾路徑>/mcp_server_with_runbooks.py
- 超時時間:60
💻 使用示例
基礎用法
"獲取我上個月的AWS成本"
"顯示成本優化建議"
"我的主要成本驅動因素是什麼?"
資源優化
"查找us - east - 1中未充分利用的EC2實例"
"顯示我可以刪除的未使用EBS卷"
"識別閒置的RDS數據庫"
"查找未使用的Lambda函數"
報告生成
"生成全面的成本優化報告"
"以Markdown格式創建EC2合理調整報告"
"生成包含成本節省的EBS優化報告"
多服務分析
"對us - east - 1中的所有服務進行全面成本分析"
"分析我的AWS基礎設施以尋找成本優化機會"
"顯示即時的成本節省機會"
📚 詳細文檔
項目結構
sample-cfm-tips-mcp/
├── playbooks/ # CFM提示優化手冊引擎
├── services/ # 作為成本優化數據源的AWS服務
├── mcp_server_with_runbooks.py # 主MCP服務器
├── runbook_functions.py # 成本優化手冊實現
├── mcp_runbooks.json # MCP配置文件的模板文件
├── requirements.txt # Python依賴項
├── test_runbooks.py # 集成測試
├── diagnose_cost_optimization_hub_v2.py # 診斷實用工具
├── RUNBOOKS_GUIDE.md # 詳細使用指南
└── README.md # 項目說明文檔
可用工具
成本分析工具
get_cost_explorer_data - 檢索AWS成本和使用數據。
list_coh_enrollment - 檢查成本優化中心的註冊狀態。
get_coh_recommendations - 獲取成本優化建議。
get_coh_summaries - 獲取建議摘要。
get_compute_optimizer_recommendations - 獲取計算優化建議。
EC2優化
ec2_rightsizing - 分析EC2實例以尋找合理調整機會。
ec2_report - 生成詳細的EC2優化報告。
EBS優化
ebs_optimization - 分析EBS卷以進行優化。
ebs_unused - 識別未使用的EBS卷。
ebs_report - 生成EBS優化報告。
RDS優化
rds_optimization - 分析RDS實例以進行優化。
rds_idle - 識別閒置的RDS實例。
rds_report - 生成RDS優化報告。
Lambda優化
lambda_optimization - 分析Lambda函數以進行優化。
lambda_unused - 識別未使用的Lambda函數。
lambda_report - 生成Lambda優化報告。
綜合分析
comprehensive_analysis - 多服務成本分析。
其他工具
list_cur_reports - 列出S3中的成本和使用報告。
get_trusted_advisor_checks - 獲取可信顧問建議。
get_performance_insights_metrics - 獲取RDS性能洞察數據。
🔧 技術細節
安全與權限 - 最小權限原則
MCP工具需要特定的AWS權限才能正常工作:
- 創建只讀IAM角色 - 限制大語言模型(LLM)代理修改AWS資源,防止意外的創建、更新或刪除操作。
- 啟用CloudTrail - 跟蹤你的AWS賬戶中的API活動,用於安全監控。
- 遵循最小權限原則 - 僅為所需服務授予必要的讀取權限(Describe*、List*、Get*)。
以下是一個僅包含列出、讀取和描述操作的IAM策略:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"cost-optimization-hub:ListEnrollmentStatuses",
"cost-optimization-hub:ListRecommendations",
"cost-optimization-hub:GetRecommendation",
"cost-optimization-hub:ListRecommendationSummaries",
"ce:GetCostAndUsage",
"ce:GetCostForecast",
"compute-optimizer:GetEC2InstanceRecommendations",
"compute-optimizer:GetEBSVolumeRecommendations",
"compute-optimizer:GetLambdaFunctionRecommendations",
"ec2:DescribeInstances",
"ec2:DescribeVolumes",
"rds:DescribeDBInstances",
"lambda:ListFunctions",
"cloudwatch:GetMetricStatistics",
"s3:ListBucket",
"s3:ListObjectsV2",
"support:DescribeTrustedAdvisorChecks",
"support:DescribeTrustedAdvisorCheckResult",
"pi:GetResourceMetrics"
],
"Resource": "*"
}
]
}
故障排除
常見問題
- 成本優化中心無法工作
python3 diagnose_cost_optimization_hub_v2.py
- 未找到指標
- 確保資源至少已運行14天。
- 驗證CloudWatch指標已啟用。
- 檢查你分析的區域是否正確。
- 權限錯誤
- 驗證IAM權限是否正確應用。
- 檢查AWS憑證配置。
- 確保在AWS控制檯中啟用了成本優化中心。
- 導入錯誤
python3 -c "import boto3, mcp; print('Dependencies OK')"
獲取幫助
- 查看RUNBOOKS_GUIDE.md以獲取詳細的使用說明。
- 運行診斷腳本:
python3 diagnose_cost_optimization_hub_v2.py。
- 運行集成測試:
python3 test_runbooks.py。
🧩 附加MCP
附加AWS定價MCP服務器可用於訪問即時AWS定價信息並提供成本分析功能。
附加AWS定價MCP服務器倉庫
"通過將CDK與我的AWS賬戶堆棧集的實際支出進行比較來審查它。相應地為應用程序提出成本優化建議"
🎯 主要優勢
- 即時節省成本 - 識別可刪除的未使用資源。
- 合理調整機會 - 優化過度配置的資源。
- 真實指標分析 - 使用實際的CloudWatch數據。
- 可操作的報告 - 提供帶有成本估算的明確建議。
- 全面覆蓋 - 分析EC2、EBS、RDS、Lambda等多種資源。
- 易於集成 - 與Amazon Q CLI無縫協作。
📈 預期效果
CFM提示成本優化服務器可以幫助你:
- 平均識別成本節省機會。
- 找到每月耗費數百美元的未使用資源。
- 合理調整過度配置的實例,以實現最佳性能/成本比。
- 通過卷類型建議優化存儲成本。
- 消除無業務價值的閒置資源。
🤝 貢獻
我們歡迎貢獻!請遵循以下貢獻指南:
- 分叉倉庫。
- 創建功能分支。
- 進行更改。
- 為新功能添加測試。
- 提交拉取請求。
📄 許可證
本項目採用MIT許可證 - 詳情請參閱LICENSE文件。