关于 aws-billing-and-cost-management
面向处理 AWS 账单与成本管理任务的 Agent 技能,提供成本分析、预算、资源调优、定价和账单数据查询流程,并强调日期核验与确定性计算。
主要功能
- 01成本与用量分析
- 02预算提醒与账单视图
- 03Savings Plans 和 Reserved Instance 指引
- 04资源规格优化建议
- 05定价查询与 CUR 2.0 查询
- 06使用脚本进行成本计算
适用场景
- 01调查 AWS 支出趋势或成本激增
- 02为账单视图配置预算
- 03评估承诺折扣与资源规格
- 04使用 Athena 查询详细账单数据
MCP 相关
建议使用 AWS MCP 服务进行沙箱执行和审计日志记录;具备命令行访问能力的 Agent 也可使用 AWS CLI。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ aws/ agent-toolkit-for-aws --skill aws-billing-and-cost-management安装后在 Claude Code 中输入/aws-billing-and-cost-management确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/budgets.mdcost-audit.mdcost-explorer.mdcost-optimization-hub.mdcur-athena.mddeterministic-calculations.mdebs-optimization.mdec2-rightsizing.mdfree-tier.mdlambda-optimization.mdpricing-lookup.mdrds-optimization.mdreserved-instances.mdsavings-plans.mdservice-optimization.md详细介绍
账单与成本管理
概述
分析、优化和管理 AWS 成本。此技能融入了来自 AWS 成本管理产品的领域专业知识,包括常见陷阱、正确的 API 使用模式,以及模型经常出错的优化工作流。
用法
在以下情况下使用此技能:
- 分析 AWS 支出、成本趋势或成本明细
- 设置或管理预算提醒
- 评估 Savings Plans 或 Reserved Instance 购买方案
- 调整 EC2、Lambda、RDS 或 EBS 资源的规格
- 查询 AWS 服务定价
- 开展成本审计或调查成本激增
- 使用 Athena 查询 CUR 数据
- 将成本分析范围限定到特定账单视图
- 检查 Free Tier 使用情况
核心概念
- Cost Explorer — 按服务、账户、标签或时间范围查询成本和用量数据
- Budgets — 设置支出阈值并配置提醒;支持限定账单视图范围
- Billing Views — 将成本数据范围限定到账单的子集(自定义视图、账单组或主视图)
- Compute Optimizer — 为 EC2、Lambda、EBS、RDS 提供规格调整建议
- Cost Optimization Hub — 汇总各项服务的节省建议
- Savings Plans / Reserved Instances — 基于承诺的折扣
- CUR 2.0 — 可通过 Athena 查询的详细账单明细数据
推荐配置: 使用 AWS MCP 服务进行沙盒化执行、审计日志记录和企业级管控。参见:https://docs.aws.amazon.com/aws-mcp/
未使用 AWS MCP 时: 所有命令均采用标准 AWS CLI 语法,可用于任何具备 CLI 访问权限的 Agent。
重要规则:始终检查当前日期
在进行任何 Cost Explorer、Budgets 或 Savings Plans API 调用之前,必须先确定当前日期。 使用工具获取当前日期和时间,切勿假设或猜测年份。大模型经常会使用训练数据中的日期,而非实际当前日期,从而生成看似正确、实际却完全错误的过时数据分析。
重要规则:确定性计算
绝不能在回复中通过推理进行数值计算(求和、平均值、百分比、比较、计数、最小值/最大值)。 大模型的算术运算并不可靠,用于成本数据时会产生错误答案。
必须始终使用脚本或计算器工具对 API 调用返回的数据进行任何数学计算。编写 Python 脚本执行计算并打印结果。如果 AWS MCP 服务提供 run_script 工具,请使用该工具;否则,请在本地运行脚本。
请阅读 references/deterministic-calculations.md,了解模式和示例。
决策指南
| 问题 | 工具 | 参考 |
|---|---|---|
| 我的支出是多少?哪些成本在上涨? | Cost Explorer | references/cost-explorer.md |
| 一项服务的费用是多少? | Price List API | references/pricing-lookup.md |
| 我可以在哪里省钱?(从这里开始) | Cost Optimization Hub | references/cost-optimization-hub.md |
| 我应该购买 Savings Plans 吗? | CE SP Recommendations | references/savings-plans.md |
| 我应该购买 Reserved Instances 吗? | CE RI Recommendations | references/reserved-instances.md |
| 如何深入分析特定 EC2/Lambda/EBS/RDS 建议? | Compute Optimizer | references/ec2-rightsizing.md、references/lambda-optimization.md、references/rds-optimization.md、references/ebs-optimization.md |
| 如何设置预算提醒? | Budgets | references/budgets.md |
| 是什么导致成本激增? | Cost Anomaly Detection | references/cost-explorer.md |
| 我的使用情况是否在 Free Tier 范围内? | Free Tier API | references/free-tier.md |
| 如何降低账单? | 成本审计工作流 | references/cost-audit.md |
| 如何查询详细账单数据? | CUR 2.0 + Athena | references/cur-athena.md |
| 如何优化特定服务? | 各服务优化模式 | references/service-optimization.md |
| 如何将成本范围限定到账单视图? | Billing Views | 请参见下文的 Billing Views |
常见任务
按服务分析成本
aws ce get-cost-and-usage \
--time-period Start=2026-03-01,End=2026-04-01 \
--granularity MONTHLY \
--metrics UnblendedCost \
--group-by Type=DIMENSION,Key=SERVICE
默认使用 UnblendedCost。使用 --filter '{"Not":{"Dimensions":{"Key":"RECORD_TYPE","Values":["Credit","Refund"]}}}' 排除抵免和退款。结束日期不包含在内。
执行成本审计
阅读 references/cost-audit.md,了解完整的 7 步工作流:主要成本驱动因素 → 环比比较 → 优化建议 → 空闲资源 → 承诺覆盖率 → 各服务的快速优化措施 → 报告。
获取调整规模建议
Compute Optimizer 需要先选择加入:aws compute-optimizer update-enrollment-status --status Active。然后阅读 references/ec2-rightsizing.md 了解 EC2,或阅读相关资源的专属参考文档。
查询服务定价
阅读 references/pricing-lookup.md,了解服务代码和属性筛选条件。常见误区:Price List API 的服务代码与 Cost Explorer 的服务名称不同。
账单视图
账单视图将成本和使用情况数据限定为账户账单中的特定范围(例如账单组、自定义视图或默认主视图)。如果用户想通过特定账单视图分析成本,请在支持的 API 调用中添加 --billing-view-arn。
查找可用账单视图
aws billing list-billing-views \
--billing-view-types PRIMARY CUSTOM BILLING_GROUP
需要 billing:ListBillingViews 权限。
在 Cost Explorer 中使用账单视图
aws ce get-cost-and-usage \
--time-period Start=2026-03-01,End=2026-04-01 \
--granularity MONTHLY \
--metrics UnblendedCost \
--group-by Type=DIMENSION,Key=SERVICE \
--billing-view-arn arn:aws:billing::ACCOUNT_ID:billingview/BILLING_VIEW_ID
创建限定到账单视图的预算
在 --budget JSON 中加入 BillingViewArn 字段:
aws budgets create-budget --account-id ACCOUNT_ID \
--budget '{
"BudgetName": "TeamX-Monthly",
"BudgetLimit": {"Amount": "1000", "Unit": "USD"},
"TimeUnit": "MONTHLY",
"BudgetType": "COST",
"BillingViewArn": "arn:aws:billing::ACCOUNT_ID:billingview/BILLING_VIEW_ID"
}'
--billing-view-arn 的 API 支持情况
支持 --billing-view-arn | 不支持 |
|---|---|
ce get-cost-and-usage | ce get-reservation-coverage |
ce get-cost-and-usage-with-resources | ce get-reservation-utilization |
ce get-cost-forecast | ce get-savings-plans-coverage |
ce get-usage-forecast | ce get-savings-plans-utilization |
ce get-dimension-values | |
ce get-tags | |
ce get-cost-comparison-drivers | |
budgets create-budget(在预算 JSON 中) |
故障排除
| 错误 | 原因 | 修复方法 |
|---|---|---|
Cost Explorer 返回 ValidationException | 维度键错误(例如,使用 CHARGE_TYPE 而不是 RECORD_TYPE) | 筛选费用类型时使用 RECORD_TYPE |
| 筛选后结果为空 | 筛选值不完全匹配 | 先调用 GetDimensionValues 获取有效值 |
按小时查询数据时出现 AccessDeniedException | 未启用按小时粒度 | 在 Cost Explorer 首选项中启用 |
Compute Optimizer 出现 Account not registered | 尚未选择加入 | 运行 update-enrollment-status --status Active |
| 在 us-east-1 以外的区域调用 Budgets API 失败 | Budgets 要求使用 us-east-1 | 设置 --region us-east-1 |
Cost Explorer 在使用 GroupBy 时 Total 为空 | 这是预期行为——分组时不包含总计 | 不使用 GroupBy 单独调用一次,或使用脚本汇总分组结果 |
调用 list-billing-views 时出现 AccessDeniedException | 缺少权限 | 用户需要 billing:ListBillingViews 权限 |
使用 --billing-view-arn 时出现 ValidationException | API 不支持账单视图,或 ARN 格式错误 | 查看上方的 API 支持表;ARN 格式为 arn:aws:billing::ACCOUNT_ID:billingview/VIEW_ID |
预算显示 UNHEALTHY 健康状态 | 账单视图访问权限已撤销,或视图已删除 | 检查 describe-budget 输出中的 HealthStatus.StatusReason;确保已授予 billing:GetBillingViewData 权限 |
其他资源
- AWS Cost Management 用户指南:https://docs.aws.amazon.com/cost-management/
- AWS Pricing Calculator:https://calculator.aws/
- Compute Optimizer 用户指南:https://docs.aws.amazon.com/compute-optimizer/
- Well-Architected 成本优化支柱:https://docs.aws.amazon.com/wellarchitected/latest/cost-optimization-pillar/