Karpenter 开源地址:
https://github.com/kubernetes-sigs/karpenter
前言
在当前云原生架构日益复杂、资源使用碎片化的趋势下,控制和优化云成本成为了企业管理中越来越重要的一环。如何做到“把钱花在刀刃上”——避免计算资源冗余和隐藏支出,成为广大企业和工程师重点关注的话题。
尤其对于使用 AWS 的企业来说,按量计费虽然灵活,但一旦资源配置不合理、未能及时释放,就可能造成巨大的浪费。因此,对成本的可视化分析也逐渐成为提升工程效率、支撑产品持续演进的关键能力。
本文将带您了解由 AWS Labs 开源的 Cost Analysis MCP Server,探索其如何通过 Model Context Protocol(MCP)为 AI 成本分析带来便利。
GitHub 地址:
https://github.com/awslabs/mcp/tree/main/src/cost-analysis-mcp-server
什么是 MCP Server?
MCP(Model Context Protocol)是由 Anthropic 推出的一种开放标准,旨在为大型语言模型(LLMs)提供与外部数据源和工具交互的标准化接口。
下方架构图形象地指出了 MCP 的主要组成部分:
-
• MCP Host:发起请求的 LLM 应用程序,比如 Claude、IDE -
• MCP Client:与 MCP Server 建立1:1连接,处理通信 -
• MCP Server:为 MCP client 提供上下文、工具和 prompt 信息
MCP Server 的优势
-
• 标准化接口:通过 MCP 协议,简化了 AI 模型与外部工具的集成过程,提高了开发效率。 -
• 实时通信:支持 Server-Sent Events(SSE)等通信方式,实现了模型与服务器之间的实时数据交换。 -
• 安全可靠:内置权限控制和日志记录机制,确保数据交互的安全性和可追溯性。 -
• 可扩展性强:支持多种工具的集成,便于根据业务需求扩展功能。
在成本分析场景中,MCP Server 充当了 AI 模型与 AWS 成本数据之间的桥梁,使得 AI 模型能够实时获取、分析和优化云服务成本。
核心功能
1. AWS 成本可视化分析
-
• 细致拆解 AWS 成本,按服务、区域、层级等维度分类汇总 -
• 识别各服务云成本分布情况,助力精准优化云支出
2. 自然语言查询成本数据
-
• 无需复杂的查询语言,你可以像提问 ChatGPT 一样,询问「哪个服务最贵?」「S3 成本为什么突然升高?」 -
• 无需手动翻阅复杂的价格文档,支持从 AWS 定价网页、AWS Pricing API 实时获取数据
3. 一键生成成本报告与优化建议
-
• 自动读取基础设施即代码(Infrastructure as Code)生成针对性报告 -
• 基于当前资源使用情况,智能生成成本优化建议,如:是否切换为预留实例、是否有多余资源未调度
适合谁使用?
-
• 云架构或 DevOps 工程师,深入了解各服务在 AWS 上的成本构成。 -
• 成本管控或 SRE 团队,定期评估优化方案并输出报告。 -
• 初创公司或中小型团队,期望通过智能工具节省云支出,专注核心业务。
快速开始:如何安装并运行 MCP Server
安装准备
-
1. 通过 Astral 安装 uv -
2. 使用 uv python install 3.10安装 Python -
3. 配置具有访问 AWS 服务权限的凭证,确保具备以下条件:
• 一个具有适当权限的 AWS 账户
• 使用aws configure命令或环境变量配置 AWS 凭证
• 确保你的 IAM 角色或用户具有访问 AWS Pricing API 的权限
安装步骤
1. 安装 AWS CLI
通过下方命令,下载并安装 AWS CLI
curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
sudo installer -pkg AWSCLIV2.pkg -target /
安装完毕后,配置 AWS CL
aws configure
2. 安装AWS Q
访问地址:https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/command-line-installing.html, 从下方地址进入即可下载:
https://desktop-release.codewhisperer.us-east-1.amazonaws.com/latest/Amazon%20Q.dmg
按照 Amazon Q 介绍,注册账号(自己的邮箱即可),然后登录进入
3. 设置配置文件
创建一个~/.aws/amazonq/mcp.json 文件:
{"mcpServers": {"awslabs.cost-analysis-mcp-server": {"command": "uvx","args": ["awslabs.cost-analysis-mcp-server@latest"],"env": {"FASTMCP_LOG_LEVEL": "ERROR","AWS_PROFILE": "your-aws-profile"},"disabled": false,"autoApprove": []}}}
AWS 身份验证
MCP Server 会使用 AWS_PROFILE 环境变量中指定的 AWS 配置文件。如果未指定该变量,则默认使用你 AWS 配置文件中的 “default” 配置文件。
"env": {"AWS_PROFILE": "your-aws-profile"}
请确保所使用的 AWS 配置文件具有访问 AWS Pricing API 的权限。
4. 完成安装,启动对话
MCP Server 会使用指定的配置文件创建一个 boto3 会话,以便通过该会话对 AWS 服务进行身份验证。您的 AWS IAM 凭证将始终保留在本地,仅用于访问 AWS 服务。
q chat
输出结果(下方视频跳转至0:47,即可查看生成结果):
总结
AWS Cost Analysis MCP Server 为企业提供了一个高效、智能的成本分析解决方案。通过标准化的 MCP 协议,企业可以轻松集成成本分析功能,提升云服务的成本管理能力。
推荐阅读
kOps + Karpenter 集成实践:实现 K8s 集群的动态扩展
美国版“大众点评”的 Karpenter 迁移实践:如何让每一分钱的效益提升25%?
流量翻倍成本反降86%:PBS 如何打造弹性架构支撑《芝麻街》高效交付

