亚马逊云科技近期为 Amazon Bedrock 推出了细粒度成本归因能力。无论是调用 Claude Code、Codex 这类第三方工具,还是运行自研应用,管理员都可以通过 CUR 2.0 账单数据中的 `line_item_iam_principal` 列,将每次推理请求精确追溯到发起调用的 IAM 身份(用户、角色或应用)。配合可选的成本分配标签,还能在 AWS Cost Explorer 中按团队、项目或租户汇总成本。本篇文章作为系列第二篇,重点演示如何用 Amazon Athena 查询这些账单数据,以及如何借助 CUDOS 仪表板将成本归因可视化。 在开始之前,你需要准备一套完整的运行环境。首先,保证你有可访问 AWS 账单控制台的管理员账号。其次,需要为执行配置的 IAM 角色授予 Cost and Usage Reports、S3 以及 Athena 的相关权限。另外,准备一个用于存放 CUR 数据的 S3 存储桶。如果你熟悉 SQL 和 AWS 管理控制台的基本操作即可上手;若希望自动化创建资源,也可以选用 Claude Code 或 Kiro-CLI 辅助完成,但这不是必须项。 整个流程从配置数据出口开始。进入 AWS 账单控制台的 Data Exports 功能,创建新的成本与用量报告(CUR 2.0)导出。需要注意,在配置导出内容时,务必勾选包含 IAM 委托人(IAM principal)字段的选项,否则后续无法按用户或角色拆分成本。导出配置完成后,将其关联到你的 S3 存储桶,AWS 会按天或按小时自动生成新的账单清单文件。 数据就绪后,接下来就是借助 Athena 进行灵活查询。在 Athena 中创建数据库和表结构,指向 S3 中 CUR 数据的存储位置,即可开始分析。例如,你可以运行下述 SQL 语句来快速定位成本最高的 IAM 委托人: ``` SELECT line_item_iam_principal, SUM(line_item_blended_cost) AS total_cost FROM cur2 GROUP BY 1 ORDER BY 2 DESC LIMIT 10; ``` 通过类似的查询,你可以按时间周期、区域、模型 ID 或自定义标签等多个维度聚合成本数据。不同于固定报表,Athena 的优势在于其灵活性:你既可以将查询结果嵌入现有 BI 工具,也可以直接导出为 CSV 来支撑内部财务结算与计费分摊流程。这对于采用多团队共享资源或大规模多云环境的企业来说特别有价值。 除了自己写 SQL 之外,CUDOS 仪表板提供了另一种更省力的选择。新版本的 CUDOS 内置了针对 Bedrock 的专用视图,能够自动读取 CUR 2.0 中新增的 IAM 主数据,并按照企业组织架构(如部门、项目、账号)展示成本分布。不用像 Athena 那样手动配置报表,打开仪表板就能看到谁在调用 Bedrock、调用频次如何、相应花费是多少。这对于当前仍使用传统成本报表、缺乏细粒度分账手段的小型团队来说,是一个显著的效率提升。 需要特别说明的是,Athena 和 CUDOS 两种方案并不互斥。Athena 适合对数据做深度的定制化聚合、跨源对比,或接入企业现有的数据管道;而 CUDOS 则面向管理者日常监控和快速分析。两者配合,既能保证数据的灵活可编程性,又能满足组织对可视化即开即用的需求。 总结本系列的两步操作:第一,在 CUR 2.0 中开启 `line_item_iam_principal` 字段;第二,按需选择 Athena 查询或 CUDOS 仪表板进行展示与分析。经过这一套配置,你对 Bedrock 的成本把控就可以从“大致估算”升级为“逐条追溯”。如果构建新的生成式 AI 应用,建议从第一天起就启用该归因机制,避免后续业务增长时对成本结构一头雾水。
热门跟贴