# 管理 Amazon Bedrock 成本的五阶段框架

- Source: MechNext — https://mechnext.eu/zh/article/57-a-five-stage-framework-for-managing-amazon-bedrock-costs
- Published: 2026-10-31
- Updated: 2026-10-31
- Category: Industry News
- Language: zh (Markdown in other languages: ?lang=en, ?lang=de, ?lang=sk, ?lang=pl, ?lang=ru)

> AWS 文章把成本归属、请求可观测性、预算执行、平台优化和定期运营复盘连接成一个完整的 Amazon Bedrock 成本管理循环。

一篇面向 FinOps 与平台工程团队的 AWS 文章，把 Amazon Bedrock 成本管理描述为一个持续运行的五阶段循环：**归属、观察、执行、优化和运营**。这五个阶段不是彼此分离的检查项，而是前后衔接的管理过程。归属阶段回答支出应由谁负责；观察阶段补充每次请求的上下文；执行阶段处理预算超限；优化阶段调整平台层面的默认做法；运营阶段则把前面得到的数据和信号纳入固定的复盘节奏。由此，成本管理不再只是查看总额，而是把技术身份、请求活动、控制机制与日常平台决策连接起来。

### 先把推理成本归属到明确的调用身份

Amazon Bedrock 会自动把推理成本归属到发起调用的 IAM 主体。调用者的 ARN 会出现在 CUR 2.0 的 `line_item_iam_principal` 列中。这一字段提供了最基础的对应关系：一边是已经发生的消费，另一边是实际发起请求的技术身份。对于后续分析而言，这个对应关系是确定成本责任边界的起点。

如果只知道 IAM 主体仍然不够，团队还可以利用已激活为成本分配标签的 IAM 主体标签，增加更具业务含义的分类维度。这些标签会在 CUR 2.0 中以 `iamPrincipal/` 前缀呈现，并会在激活后的 24 至 48 小时内出现在 Cost Explorer 的 IAM 类别下。这个时间差需要被纳入分析预期：刚刚激活的标签不一定会立刻出现在最新视图中，因此短时间内看不到标签，并不等同于相关调用没有发生。

共享身份会降低归属粒度。若网关只使用一个共享 IAM 角色，所有经由该网关产生的 Amazon Bedrock 支出都会归到同一个角色名下。此时，角色本身只能说明流量经过了网关，却无法区分网关背后的具体用户。文章给出的处理方式是为每位用户建立角色会话，把身份放入会话名称，并通过会话标签携带其他属性。这样，网关仍可作为统一入口，同时保留进一步划分调用者所需的信息。

### 根据工作负载选择合适的归属方式

对于使用 `bedrock-runtime` 的工作负载，应用程序推理配置文件可以按应用、模型和区域提供归属。这个范围同时覆盖了谁在使用、使用哪个模型以及在哪个区域使用三个维度。对于位于 `bedrock-mantle` 端点上的 OpenAI 兼容工作负载，项目可以跨越多个模型，并为这些工作负载提供归属。因此，归属机制不能脱离接入路径选择：不同端点和工作负载组织方式，对应不同的归属工具。

这两类机制都服务于成本责任的表达，但它们强调的组织边界并不相同。应用程序推理配置文件提供每应用、每模型、每区域的视角；项目则能够跨模型组织 OpenAI 兼容工作负载。团队需要先明确希望在成本数据中保留什么边界，再选择与实际调用路径一致的机制。文章提供的是面向不同工作负载形态的组合，而不是把所有流量强制放入同一种分类方法。

### 让每次请求具备可观察的上下文

Amazon Bedrock 的模型调用日志能够把请求数据、响应数据和元数据发送到 CloudWatch Logs、Amazon S3，或者同时发送到两者。请求与响应数据说明一次调用中发生了什么，元数据则为调用补充归属和分析所需的上下文。日志目的地可以按所述方式选择，但仅仅启用日志并不能保证每个请求都携带完整、一致的元数据。

原因在于 Amazon Bedrock 本身并不强制执行请求元数据。文章因此建议通过共享的 SDK 包装器或网关，集中注入并规范化必填元数据。集中处理可以把要求放在公共接入层，而不是依赖每个调用方分别记住字段名称、格式和必填规则。对于经过公共组件的请求，身份和其他必要属性可以采用一致形式进入后续日志与分析流程。

文章还建议把元数据覆盖率当作平台健康指标。这个指标关注的是全部流量中有多少请求具备所要求的上下文。覆盖率与成本总额表达的内容不同：成本总额说明花了多少，覆盖率则说明有多大比例的支出能够被进一步解释和分类。如果覆盖不足，即使总成本已经进入报表，也可能缺少按应用、用户或团队分析时需要的上下文。因此，观察阶段既要收集日志，也要检查上下文是否持续存在。

### 按控制目标选择三种预算执行层级

文章列出了三种预算执行层级。它们在是否阻断请求、何时生效以及控制点位于何处等方面存在明显差异：

- **监控与告警：**当预算发生超限时发出信号，但不阻断请求。它提供可见性，调用仍可继续。
- **基于 IAM 的异步拒绝：**在超限发生后通过 IAM 权限实施拒绝。它能够改变后续访问，但不是在造成超限的那次调用发生前同步完成。
- **网关同步阻断：**当用户或团队超过限制时，网关可以直接拒绝请求，把控制决定放在请求路径中。

基于 IAM 的执行可能在导致超限的调用之后数秒到数分钟才生效，也可能要等到下一次凭证刷新时生效。这意味着预算状态变化与访问拒绝之间可能存在时间间隔。网关执行则可以在用户或团队超过限额时返回 `HTTP 429`。两者的关键差别在于，IAM 方式通过权限变化对后续访问产生影响，而网关方式能够在流量经过入口时同步作出决定。

可用层级还受到连接架构限制。对于不经过代理、直接连接 Amazon Bedrock 的场景，文章指出只有监控与告警、基于 IAM 的执行这两种层级可行。同步网关阻断要求网关真实位于请求路径之中。如果架构中没有这个控制点，就不能依靠网关在请求到达服务前返回超限结果。因此，预算策略需要与工作负载的实际接入方式一同设计。

### 在明确的时间、区域和模型范围内理解缓存价格

优化阶段包含对缓存成本结构的判断，但文中的数字具有明确边界。截至 2026 年 10 月，文章引用的美国东部（弗吉尼亚北部）区域 Anthropic Claude 模型定价中，五分钟缓存写入按基础输入费率的 1.25 倍计费，一小时缓存写入按基础输入费率的两倍计费。缓存读取的倍数则会因模型而异。

这些数字只能用于文章明确给出的时间、区域和模型范围。它们不能被延伸为其他区域、其他模型或 2026 年 10 月之后仍然有效的价格结论。对平台团队而言，相关性在于优化判断必须保留价格条件：写入持续时间不同，对应的倍数不同；读取倍数还需要结合具体模型。若忽略这些范围，就无法从所列数字得出受文章支持的比较。

### 用运营仪表板和固定节奏闭合循环

文章描述的运营仪表板跟踪四类信息：模型组合、失败请求率、缓存有效性和元数据覆盖率。模型组合展示工作负载正在使用哪些模型；失败请求率反映调用未成功的比例；缓存有效性用于观察缓存是否发挥作用；元数据覆盖率则说明请求是否携带分析与归属所需的上下文。这些指标分别回答使用结构、请求结果、缓存表现和数据完整性问题。

四类指标放在一起，能够连接五阶段循环中的多个环节。模型组合和缓存有效性为优化提供观察对象，失败请求率让团队在关注成本时同时看到请求结果，元数据覆盖率则检验归属与观察所依赖的数据基础是否健全。仪表板的作用不是替代 CUR 2.0、Cost Explorer 或调用日志，而是把文章指定的运营信号集中到持续复盘的视角中。

对于变化速度较快的资源群，文章建议每周进行一次记分卡复盘；其他情况下，则建议每两周复盘一次。不同节奏对应不同的变化速度，但共同目标都是让检查重复发生。一次复盘可以重新查看成本归属是否清楚、请求上下文是否完整、预算控制如何生效，以及缓存与模型使用情况是否需要再次评估。

由此形成的管理方式不是一次性的成本报告。它从 IAM 主体和工作负载机制开始建立归属，通过调用日志和统一元数据获得观察能力，再按架构选择告警、IAM 拒绝或网关阻断，并在明确的价格范围内讨论优化。最后，仪表板和每周或双周复盘把这些步骤带回下一轮判断。五个阶段因此构成一个可以持续重复的运营循环。
