用 AI MCP Server 自动化分析 AWS 账单数据,提供智能成本优化建议,减少工程师手工分析工作。
👋 大家好,科技爱好者们!
我是 Sarvar,一名云架构师,热衷于将复杂的技术挑战转化为优雅的解决方案。我在云运维(AWS 和 Azure)、数据运维、分析、DevOps 和生成式 AI 等领域拥有丰富经验,有幸为全球企业架构了能推动真实商业价值的解决方案。通过这个系列文章,我很高兴能分享来自我的技术之旅中的实用洞察、最佳实践和亲身经历。无论你是资深专业人士还是刚入门,我的目标是将复杂概念分解成易于理解的部分,让你能在项目中应用。
让我们一起深入探索云技术的精妙世界吧!🚀
管理多个 AWS 账户曾经让我花费数小时进行手动成本分析,直到我发现了这个由 AI 驱动的变革工具。以下是我如何将调查时间从 3 小时缩减到 3 分钟,并消除成本超支的故事。让我们深入了解。
🎯 TL;DR - 你将学到什么
如何把 3 小时的成本调查减少到 3 分钟的 CLI 对话
理解 AWS 计费与成本管理 MCP 的工作原理
Amazon Q CLI 和计费 MCP 的分步配置与集成
在实际场景中利用计费 MCP 的最佳实践
跨多个 AWS 账户的成本管理实例
🚀 变革工具:AWS 计费 MCP
💲 定价 MCP vs 💵 计费 MCP
⚡ 前后对比:转变过程
🛠️ 设置指南(Ubuntu 22.04)
🚀 实际应用示例
🔬 高阶实际场景
📋 快速参考卡
上周的月度账单评审中,领导层在周会上问了我一个简单的问题:"我们 AWS 账单为什么在开发账户上跳涨了 30%?"
本应 5 分钟能回答的问题,结果花了我 3 小时来调查。我不得不:
登录 12 个不同的 AWS 账户(我们按团队和环境组织)
从每个账户的成本浏览器导出 CSV 文件
在 Excel 中手动合并数据以找出模式
与部署日志交叉对比找出真凶
当我终于找到答案时(有人在沙箱环境中留下了一个大型 RDS 实例运行),会议已经结束,我还错过了另外两个重要的电话。
这不是一次性事件。每周都有类似的应急事件:
"我们会超过 Q4 的预算吗?"
"哪个团队导致了 CloudWatch 成本的上升?"
"能不能给新微服务架构预估成本?"
每个问题都意味着数小时的手动工作、在不同账户之间切换和构建自定义报告。肯定有更好的办法。
🚀 变革工具:AWS 计费 MCP
AWS 计费与成本管理 MCP 服务器对任何管理复杂 AWS 环境的人来说都是真正的变革工具。把它看作一个你可以随时聊天的个人成本分析师。
过去,我每月都要花数小时下载 CSV 文件、交叉检查使用情况,往往到月初才意识到成本已经飙升。之后便是漫长耗时的过程:检查预算告警、与团队沟通,以及深入挖掘资源来理解出了什么问题。
现在,有了连接到计费 MCP 服务器的 Amazon Q CLI,流程完全改变了。每当预算告警被触发时,我只需问:"嘿 Q,我为什么收到这个告警?",我就能立刻获得详细的实时洞察。
与其在多个 AWS 控制台间点击,我现在可以从 CLI 提出简单英文问题并立即获得答案。直接从命令行检查账单已成为我日常工作流的一部分。
我使用的示例查询:
q "Show me which accounts had cost spikes this week"
q "Compare EC2 spending across all production accounts"
q "Are we on track to hit our monthly budget?"
这个转变让成本分析从痛苦的手动过程变成了快速、对话式的体验。
💲 定价 MCP vs 💵 计费 MCP:有什么区别?
我出于不同目的使用两个服务器:
它们完美地协作。我在架构设计时使用定价 MCP,在日常成本管理中使用计费 MCP。
如需 AWS 定价 MCP 的详细演练,你可以查看我的文章:Real-Time AWS Cost Estimation Using the Pricing MCP Server and Amazon Q CLI。
MCP(Model Context Protocol)服务器在本地运行,连接到 AWS 的计费 API。当我通过 Amazon Q CLI 提出问题时,它会:
将我的问题转译成正确的 AWS API 调用
从成本浏览器、预算和其他服务获取数据
跨所有账户分析结果
返回清晰的答案及可执行的洞察
再也不用手动导出或 Excel 体操。
⚡ 前后对比:转变过程
🛠️ 设置指南(Ubuntu 22.04)
本部分提供 Amazon Q 的分步实现,随后是 AWS 计费 MCP 服务器的配置,以与 Amazon Q 无缝集成。
配置 Amazon Q CLI
本部分讲解在 Ubuntu 22.04 LTS 实例上分步配置 Amazon Q CLI,确保无缝集成和最佳性能。
第 1 步:更新系统软件包
在安装新软件之前更新软件包列表总是最佳实践。
sudo apt update -y
第 2 步:下载 Amazon Q CLI 软件包
使用 wget 从官方 Amazon Q 发布服务器下载最新的 .deb 软件包:
wget https://desktop-release.q.us-east-1.amazonaws.com/latest/amazon-q.deb
第 3 步:安装依赖项(可选)
在安装软件包之前,确保所有必需的依赖项都已安装。如果你已经执行了第 1 步的更新命令,则此步骤对你来说是可选的,现在可以跳过。
sudo apt-get install -f
第 4 步:安装 Amazon Q CLI 软件包
现在使用 dpkg 安装 .deb 软件包:
sudo dpkg -i amazon-q.deb
第 5 步:验证 Amazon Q
q --version
如果遇到任何依赖问题,重新运行 sudo apt-get install -f 来自动修复。
使用 Builder ID 登录 Amazon Q CLI
成功安装 Amazon Q CLI 后,下一步是进行身份验证。以下是使用 Builder ID 登录的方法:
第 1 步:运行登录命令
在你的终端中输入:
q login
你会看到一个包含两个选项的提示。选择:
Use for Free with Builder ID
如果你还没有 Builder ID,可以在这一步中使用你的邮箱创建一个。
第 2 步:在浏览器中确认授权
Amazon Q 将生成一个唯一的确认链接和代码。你需要:
在浏览器中手动打开提供的链接,并使用你的邮箱登录。
在提示时输入验证码。
代码验证成功后,Amazon Q 将要求允许访问你的 Builder ID 账户。点击允许。
使用以下命令启动 Amazon Q:
q
👉 如果你想订阅 Amazon Q Pro,以下文章将指导你通过 Amazon Q CLI 直接订阅的流程:Link
配置 AWS 计费 MCP 的 MCP 服务器
本部分讲解如何设置一个 MCP(Model Context Protocol)服务器,使 Amazon Q 能够访问 AWS 成本。
第 1 步:安装 Python 3.10
要在本地运行 MCP 服务器,Amazon Q 需要 Python 3.10。以下是在 Ubuntu 22.04 LTS 上正确安装的各个命令的详细说明。
sudo apt update -y
它的作用:从 Ubuntu 仓库获取最新的可用软件包和版本列表。在安装任何新软件前总是很好的第一步。
sudo apt install -y software-properties-common
它的作用:安装一个允许你管理额外仓库(如 PPA)的软件包。需要添加 Deadsnakes PPA 来获取 Python 3.10。
sudo add-apt-repository ppa:deadsnakes/ppa -y
它的作用:将 Deadsnakes 个人软件包存档 (PPA) 添加到你的系统。这个 PPA 维护了 Ubuntu 默认仓库中没有的最新版 Python。
sudo apt install -y python3.10 python3.10-venv python3.10-dev
python3.10:安装 Python 3.10 解释器
python3.10-venv:启用使用 python3.10 -m venv 创建虚拟环境的功能
python3.10-dev:提供构建带有原生扩展的 Python 软件包所需的头文件和开发工具
完成这些步骤后,Python 3.10 将在你的 EC2 实例上可用。
你可以使用以下命令验证版本:
python3.10 --version
第 2 步:设置虚拟环境
创建一个虚拟环境来隔离 MCP 服务器:
python3.10 -m venv ~/aws-mcp-env
source ~/aws-mcp-env/bin/activate
第 3 步:安装 MCP 服务器和依赖项
使用 pip 安装所需库:
pip install --upgrade pip
pip install uv uvenv trio
第 4 步:配置 Amazon Q 使用 MCP 服务器
首先,切换到 Amazon Q 配置目录:
mkdir -p ~/.aws/amazonq
然后在 ~/.aws/amazonq/mcp.json 创建配置文件:
{
"mcpServers": {
"awslabs.billing-cost-management-mcp-server": {
"command": "uvx",
"args": [
"awslabs.billing-cost-management-mcp-server@latest"
],
"env": {
"AWS_PROFILE": "default",
"AWS_REGION": "us-east-1"
},
"disabled": false
}
}
}
你可以使用 nano 或 vim 创建该文件:
nano ~/aws/amazonq/mcp.json
粘贴上述配置并保存文件。
注意:如果你在 MCP 配置代码中遇到任何问题,请跟随这个链接。
重要:如果你的 MCP 未加载或显示类似下面示例的警告,请注意这些警告来自 AWS 服务限制和账户配置,不是 MCP 服务器代码本身的问题。
可选:使用 Amazon Q CLI 设置 MCP
或者,如果你提供正确的提示,Amazon Q CLI 本身可以帮助你设置 MCP 服务器。你可以询问:
Set up a local MCP server for AWS Pricing MCP
这种方法可能会通过自动处理包安装和配置来简化过程。
🚀 真实案例:测试和使用 AWS Billing MCP
一旦你的 AWS Billing MCP 服务器配置完成,这里是实际示例来测试你的设置并立即看到价值。
示例 1:快速健康检查
一位 FinOps 工程师想确认 MCP 服务器已连接并返回计费数据。
q "Show me my current AWS billing setup"
响应:确认 MCP 连接性并检索当前计费配置。
示例 2:月成本概览
CFO 要求快速总结月度 AWS 支出。
q "What's my total AWS spend this month?"
响应:跨所有关联 AWS 账户提供当前计费周期的统一成本报告。
示例 3:成本峰值调查
DevOps 负责人注意到突然计费增加并想找到源头。
q "Show me any unusual cost increases in the last 7 days"
响应:突出显示有异常增长的服务或账户,启用快速故障排除。
示例 4:预算跟踪
财务团队需要检查是否在月度预算范围内。
q "Am I on track to stay within my monthly budget?"
响应:显示当前预算使用情况、预计月末支出和活跃的预算告警。
示例 5:优化机会
云架构师想识别未充分利用的资源以实现节省。
q "Find EC2 instances that are underutilized and can be downsized"
响应:列出低利用率 EC2 实例及其缩减或终止建议。
示例 6:多账户可见性
领导层要求多个 AWS 账户的成本分解。
q "List all my AWS accounts with their current costs"
响应:提供账户级别的成本分布,以提高财务责任感。
示例 7:CI/CD 集成检查
部署 5 个新的 m5.large 实例前,团队想在流水线中验证成本影响。
q "Estimate cost impact of deploying 5 new m5.large instances"
响应:估计增量月成本,帮助防止部署期间的预算超支。
🔬 高级真实场景
示例 8:异常检测
安全和财务团队希望在支出与历史趋势明显偏离时收到告警。
q "Alert me to any cost anomalies compared to historical patterns"
响应:检测服务或区域间的异常峰值,并建议调查的根本原因。
示例 9:基于标签的成本分配
工程领导层想使用标签理解项目级支出。
q "Show me costs grouped by team or project tags"
响应:基于标签(例如 team=dev、project=mobile-app)提供成本分解,允许反向计费和问责。如果你的资源未关联标签,Amazon Q 仍将返回未标记的使用情况和成本。下面是查询时此情况的示例输出。
示例 10:预测性成本预测
CTO 需要基于当前增长趋势规划季度预算。
q "Predict next quarter's AWS costs based on current usage trends"
响应:提供下一季度的预测成本,并识别潜在的超支领域。
示例 11:合规与治理检查
云治理团队必须确保所有账户遵循成本政策。
q "Show me any resources violating our cost governance policies"
响应:列出不符合规定的资源,如未标记的实例、过大的资源或未使用的存储卷。
📋 快速参考卡
基本日常提示:
q "Cost status check" # 总体健康状况
q "Any alerts today?" # 今天需要解决的问题
q "Top optimization opportunities" # 快速赢利
q "Remaining budget this month" # 日常规划
调查提示:
q "Why did costs spike yesterday?" # 根本原因分析
q "Compare costs: this month vs last" # 趋势分析
q "Show unused resources" # 浪费识别
q "Rightsizing recommendations" # 优化
q "Cost impact of new deployment" # 部署前
q "Forecast next month's bill" # 预算编制
q "ROI of Reserved Instances" # 投资决策
q "Projected costs for next quarter" # 长期规划
你最大的 AWS 成本痛点是什么?在下方留言,我会给你展示确切的 MCP 提示来解决它!
尝试这些入门提示并分享你的结果:
q "What's my biggest cost optimization opportunity right now?"
q "List cost anomalies detected this week"
q "Which accounts need immediate attention?"
这只是开始。我已经看到 AI 驱动的成本管理将如何转变 FinOps:
成本峰值前的主动告警
自动资源优化而非手动调整大小
基于部署模式的预测性预算编制
开发期间的实时成本优化
我们不再对账单惊喜做出反应,而是在每项决策中融入成本意识。
✔️ 结论:通过采用 AWS Billing MCP 服务器,我将跨 47 个账户的 AWS 成本管理从反应式、电子表格密集的流程转变为主动式、AI 驱动的工作流,提供即时洞察、防止预算超支并推动持续优化。曾经需要数小时手工操作的工作现在只需数分钟,报告更快、异常检测更迅速、调整大小建议更聪明。更重要的是,它创造了一个文化转变,使 FinOps 成为设计的一部分,其中成本意识被嵌入日常站会、CI/CD 流水线和架构评审中,将云成本管理转变为一个持续的、智能的、协作的过程,使工程师和领导层都能做出更明智、数据驱动的决策。
感谢阅读!我希望这篇文章给了你实用的洞察和对这个话题更清晰的视角。
❤️ 如果它增加了价值,请点赞
🦄 如果你今天就在应用它,请点独角兽
💾 为你的下一个优化会话保存
🔄 与你的团队分享
关注我了解更多:
AWS 架构模式
多账户策略
更多深度分析即将发布,涉及云运营、GenAI、DevOps 和数据工作流,请关注获取每周洞察。
我很想听听你的想法,请留言或在 LinkedIn 上与我联系。
某些评论可能仅对已登录的访客可见。登录查看所有评论。
如需进一步行动,你可以考虑屏蔽此人和/或举报滥用行为