mcpField
A
aws-billing-and-cost-management

aws-billing-and-cost-management

github.com/aws云与 DevOps3.3k9.1k 次安装1 天前更新
代码仓库

关于 aws-billing-and-cost-management

面向处理 AWS 账单与成本管理任务的 Agent 技能,提供成本分析、预算、资源调优、定价和账单数据查询流程,并强调日期核验与确定性计算。

主要功能

  1. 01成本与用量分析
  2. 02预算提醒与账单视图
  3. 03Savings Plans 和 Reserved Instance 指引
  4. 04资源规格优化建议
  5. 05定价查询与 CUR 2.0 查询
  6. 06使用脚本进行成本计算

适用场景

  1. 01调查 AWS 支出趋势或成本激增
  2. 02为账单视图配置预算
  3. 03评估承诺折扣与资源规格
  4. 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.md
cost-audit.md
cost-explorer.md
cost-optimization-hub.md
cur-athena.md
deterministic-calculations.md
ebs-optimization.md
ec2-rightsizing.md
free-tier.md
lambda-optimization.md
pricing-lookup.md
rds-optimization.md
reserved-instances.md
savings-plans.md
service-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 Explorerreferences/cost-explorer.md
一项服务的费用是多少?Price List APIreferences/pricing-lookup.md
我可以在哪里省钱?(从这里开始)Cost Optimization Hubreferences/cost-optimization-hub.md
我应该购买 Savings Plans 吗?CE SP Recommendationsreferences/savings-plans.md
我应该购买 Reserved Instances 吗?CE RI Recommendationsreferences/reserved-instances.md
如何深入分析特定 EC2/Lambda/EBS/RDS 建议?Compute Optimizerreferences/ec2-rightsizing.md、references/lambda-optimization.md、references/rds-optimization.md、references/ebs-optimization.md
如何设置预算提醒?Budgetsreferences/budgets.md
是什么导致成本激增?Cost Anomaly Detectionreferences/cost-explorer.md
我的使用情况是否在 Free Tier 范围内?Free Tier APIreferences/free-tier.md
如何降低账单?成本审计工作流references/cost-audit.md
如何查询详细账单数据?CUR 2.0 + Athenareferences/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-usagece get-reservation-coverage
ce get-cost-and-usage-with-resourcesce get-reservation-utilization
ce get-cost-forecastce get-savings-plans-coverage
ce get-usage-forecastce 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 时出现 ValidationExceptionAPI 不支持账单视图,或 ARN 格式错误查看上方的 API 支持表;ARN 格式为 arn:aws:billing::ACCOUNT_ID:billingview/VIEW_ID
预算显示 UNHEALTHY 健康状态账单视图访问权限已撤销,或视图已删除检查 describe-budget 输出中的 HealthStatus.StatusReason;确保已授予 billing:GetBillingViewData 权限

其他资源

评论

支持 Markdown