前端进阶之旅前端进阶之旅
基础篇
进阶篇
高频篇
精选篇
手写篇
原理篇
面经篇
AI 面试
自检篇
每日一题
  • 综合
    • 综合题型
    • 其他问题
    • 设计模式
    • 思维导图
    • 学习路线
  • 前端基础
    • HTTP
    • 浏览器
    • 计算机基础
  • 进阶学习
    • NPM工作流
    • Docker
    • Canvas
    • Node学习指南
    • 前端综合文章
  • 其他
    • Handbook
    • 职场话题
    • CSS可视化
小程序题库
公众号动态
博客动态
AI 热点
开发者导航
基础篇
进阶篇
高频篇
精选篇
手写篇
原理篇
面经篇
AI 面试
自检篇
每日一题
  • 综合
    • 综合题型
    • 其他问题
    • 设计模式
    • 思维导图
    • 学习路线
  • 前端基础
    • HTTP
    • 浏览器
    • 计算机基础
  • 进阶学习
    • NPM工作流
    • Docker
    • Canvas
    • Node学习指南
    • 前端综合文章
  • 其他
    • Handbook
    • 职场话题
    • CSS可视化
小程序题库
公众号动态
博客动态
AI 热点
开发者导航
返回 AI 情报前线
All News · 全部资讯7782
  • OpenAI Astra 预览:专攻网络入侵的强大模型
  • Claude Fable 5.1:编程能力提升 30%,成本降低 45%
  • Claude Fable 5.1 发布:科学基准涨至52.6%,缓存成本降75%
  • Anthropic Fable 5.1:成本下降、限制减少
  • Fable 5.1:更便宜、更聪明、拒绝更少
  • GitHub Copilot 现可批准 Pull Request
  • AI 生成结果18%有幻觉:我的七天追踪实验
  • 合并 AI 代码前必查的 10 项清单
  • AWS 上线 Claude Fable 5.1:含企业级边界防护
  • PacketForge:为 AI 编码 Agent 补上跨任务记忆缺失
  • AI 应用安全检查清单:被忽视的攻击面
  • OpenClaw 2.0 发布:933人贡献16000+ PR,自托管AI Agent平台大改版
  • Claude Fable 5.1登陆Agent平台
  • 用 AI 开发 GeoJSON 在线查看器实战
  • Anthropic 发布 Claude Fable 5.1 与 Mythos 5.1
  • Antigravity Agent图像生成技能深度解析
  • 如何设计真正可信的AI评估体系
  • Strands中A2A协议实践:远程Agent路由与动态发现
  • Atos三个月让400名工程师掌握Agentic AI实战
  • 顶级AI开源项目正在抛弃社区PR:软件工厂模式兴起
  • Jamf如何在Amazon Bedrock上实现实时成本管控
  • Amazon Quick 从概念验证到生产的安全设计指南
  • AQuA:量化金融中自主因子发现的 Agent 双阶段框架
  • t54 在 Bedrock 上搭建 AI 支付信任层
  • Meta推出编程Agent Muse Code:三层定价叫板Claude Code
  • 自托管 LLM 总拥有成本指南:硬件、电费、工程人力完整计算框架
  • 黑客组织 Aurora 用 Cursor AI 规划攻击、Zig 写勒索软件
  • Runway发布界面世界模型:实时生成软件UI
  • 多数任务用顶级GPT反而浪费:模型选型实战指南
  • 百人访谈揭示:AI写代码浪潮中什么是真正不可替代的
  • 代码库正在成为AI的上下文:结构比以往任何时候都重要
  • AI Agent输出为何产生幻觉及验证层解决方案
  • GitHub热门架构图Agent:一键生成实时更新架构图
  • Google 详解 AI Eval 数据导出与可视化实践
  • MiniMind:3块钱成本从零训练64M小模型,含完整RLHF/DPO/Agent代码
  • Clone测试:一行命令判断AI生成代码是否真的属于你
  • Meta AI编程工具Muse Code正式版发布:跨会话协作、Agent工作流、订阅制5美元起
  • 实测200次AI输出:18%存在幻觉,验证层工具免费开源
  • Fal发布H3 Max Live:突破无限视频生成时长壁垒
  • Anthropic 让 AI Agent 做对齐研究:五个 Agent 并行 hill-climb,多项指标超越人类研究
  • 1200个AI智能体通过奖励黑客攻陷Hugging Face:非失控,是工程漏洞
  • 腾讯混元Hy4轻量版开源:1.5TB压至214GB,异构设备联合推理
  • 垂直小模型实战方法论:设定可衡量基线再训练
  • 讯飞开源端侧百万上下文模型,兼容主流推理框架
  • Hugging Face开源200+ WebGPU内核赋能本地AI
  • wrapture:统一Python测试与追踪的新工具
  • 限流与准入控制:解决不同维度的服务失败
  • AI Agent查重陷阱:读路径只是缓存而非真相
  • MCP解决了Agent工具调用,但没解决规模问题
  • 用Bedrock知识库构建可观测的企业Agent检索
  • Bedrock 知识库构建多租户 Agentic Chat 实战
  • 已加载 51 / 7782
8.0
热点
AI SCORE
技术实践2026-09-02 00:03

Jamf如何在Amazon Bedrock上实现实时成本管控

AWS ML Blog#AWS Bedrock#成本管控#AI工程化
Editor brief · 编辑速览

Jamf用IAM策略+Athen视图+Lambda循环在不离线情况下对每个用户按模型层级实时限费。

文章思维导图
Knowledge map
拖拽缩放
Full translation

完整中文译文

生成式 AI 的费用行为与以往任何成本行项都不同。传统计算随预置容量扩展,而 AI 费用随行为扩展:一名工程师在高级模型上运行代理式编码循环,几个小时消耗的 token 可能比一个团队一周消耗的还多。这就是 Tokenomics 问题:使用量在账单到来之前是不可见的,这使得成本控制和投资回报率(ROI)都难以证明。在扩大 AI 访问权限之前,领导层希望得到三个答案:每个人花费多少?能否在不减缓工程师速度的情况下设置上限?生产力提升是否足以证明成本合理?

Jamf 为超过 76,000 家组织管理并保护大规模 Apple 设备,面对这一挑战也不例外。为了加速 AI 辅助开发,Jamf 向其工程组织提供了对 Amazon Bedrock 的广泛访问。生产力提升了,但对 AI FinOps 的需求也随之增加:需要按人可见的费用和成本问责。

Jamf 构建了一个在个人层面解决这一问题的生产系统。在这篇文章中,你将学习如何使用 AWS Identity and Access Management(IAM)客户托管策略(Customer Managed Policies,CMP)、基于 Amazon Athena 的成本视图,以及无服务器 AWS Lambda 强制执行循环来构建这个架构。到最后,你将拥有一个经过生产验证的模式,可以在不影响活跃会话的情况下近乎实时地强制执行分层消费限额。这是一种 AI 成本治理能力。

Jamf 的解决方案追踪每位工程师每日 Amazon Bedrock 消费,然后在他们接近预算时应用分层模型限制。例如,当达到日预算的 80% 时,拒绝 Anthropic Claude Opus 访问;当达到 100% 时,拒绝 Anthropic Claude Sonnet 访问。它不会阻止 Anthropic Claude Haiku,因此工程师保留一个低成本模型以继续工作。限制在几分钟内生效,无需重新认证,并在下一个每日重置时自动恢复。对于确实需要更多配额的工程师,有文档化的异常流程来授予有时限的更高限额。

该架构解决了三个问题:计量消费、决定限制谁并通知他们、以及强制执行限制。每一个都由专用无服务器组件处理。

Real-time spend enforcement for Amazon Bedrock

端到端流程如下:

调用和日志记录 — 当工程师通过其 AWS IAM Identity Center 单点登录(SSO)会话调用 Amazon Bedrock(bedrock:InvokeModel)时,Amazon Bedrock 会将调用日志(包括模型 ID、输入和输出 token 计数以及用户身份)记录到你配置的 Amazon Simple Storage Service(Amazon S3)存储桶中。

成本计量 — Amazon Athena 视图(bedrock_cost_today)读取这些日志,通过将 token 计数乘以公布的模型费率来计算每位用户每日消费。Athena 直接查询原始日志,避免了单独数据管道的需要。

强制决策 — AWS Lambda 强制处理程序每 15 分钟运行一次,由 Amazon EventBridge 计划触发。它从 Athena 视图读取当天的消费,并交叉引用 Amazon DynamoDB 异常表,该表保存授予个别工程师的任何自定义有时限限制。

通知 — 同一强制处理程序从 Amazon DynamoDB 状态表读取每个用户之前的状态,当消费跨越新阈值时,向工程师发送该层级的一次性 Slack 私信,因此限制不会成为意外。

强制操作 — 对于超过阈值的每位工程师,Lambda 使用 iam:CreatePolicyVersion 发布适当策略的新版本。策略通过 saml:sub 条件键定向到特定用户。

实时评估 — CMP 附加到 IAM 权限集。在工程师下一次调用 Amazon Bedrock 时,IAM 评估更新后的策略并相应地允许或拒绝请求,无需重新认证。

要部署此解决方案,你需要:

  • 有权创建 IAM 角色、客户托管策略、AWS Lambda 函数、Amazon Athena 工作组、Amazon S3 存储桶和 Amazon DynamoDB 表的 AWS 账户。
  • 配置了你分配给用户的权限集的 AWS IAM Identity Center。
  • 配置 Amazon Bedrock 模型调用日志传递到你的 Amazon S3 存储桶。
  • 配置了适当凭证的 AWS Command Line Interface(AWS CLI)。
  • 配置了斜杠命令、交互性和机器人消息的 Slack 工作区。

你可以通过 https://github.com/aws-samples/sample-bedrock-spend-enforcement 访问这篇文章的代码。高级别来说,部署步骤可总结如下:

Step 1: Create the Amazon Athena cost view

Amazon Bedrock 调用日志以 JSON 格式落在 Amazon S3 上。首先在日志位置创建一个 Athena 表,然后创建一个将 token 计数转换为美元的视图。该视图将输入和输出 token 乘以每个模型公布的每 token 费率,按用户身份和当前日期分组。

将费率常量替换为你所在区域的当前 Amazon Bedrock 定价。每个模型系列需要一个明确的定价分支。未映射的模型以最高层级定价作为故障安全(不是 $0),因此未识别的模型无法绕过强制执行。注意随附的警报并及时添加模型的真实费率。

Step 2: Create the Customer Managed Policies

创建拒绝特定用户集(通过其 saml:sub 值标识)访问某个模型系列的强制策略。从空用户列表开始。Lambda 在运行时通过发布新策略版本填充该列表。将策略附加到 IAM 权限集。当你使用 iam:CreatePolicyVersion 更新这些客户托管策略时,你的更改会立即生效,无需重新配置。

Step 3: Deploy the enforcement Lambda and schedule

部署强制处理程序并使用 Amazon EventBridge 安排其每 15 分钟运行一次。每次运行时,处理程序查询 Athena 视图、读取 DynamoDB 异常表、计算每个层级的受限用户列表,并发布更新的 CMP 版本。

这个设计本质上是幂等的:每次运行都从当天的累积消费重新计算完整的受限用户列表,而不是应用增量更改。连续运行处理程序两次,或完全错过一次运行,一旦赶上会产生相同的结果。没有什么需要双重应用的,也没有什么需要回滚的。每日重置也是隐式的。Athena 视图将消费范围限定在滚动每日窗口(你选择的参考时区的 00:00)。一旦该窗口滚动,下一次运行的重新计算列表会省略不再超阈的用户,他们的 CMP 限制会在下一次 iam:CreatePolicyVersion 调用时自动解除。没有单独的解除阻塞代码路径需要维护或可能失去同步。

Step 4: Add the exception workflow

有些工程师确实需要更高的限制,用于大型迁移、客户升级或模型评估。不要手动编辑策略,而是公开一个 Slack 斜杠命令(/bedrock-limit),供管理员用来授予有时限的自定义限制。该命令向 DynamoDB 异常表写入一条条目,包含工程师身份、抬高的限制和过期时间戳。它还记录了审计跟踪,记录谁授予的、何时授予的,以及可选地哪个工单授权了。在过期时间戳上设置 DynamoDB 生存时间(TTL)属性,以便异常自动清理。在下一次运行时,强制 Lambda 读取活跃异常并相应调整每位工程师的阈值。

在生产环境中运行这个系统 surfac surfaced 了一些值得分享的经验教训。

成本:对于这个用例,AWS Lambda、DynamoDB 和 S3 为数百名工程师产生的成本远低于 $10/月。Amazon Athena 是需要仔细调整的一项:账单随扫描范围和运行频率缩放,因此保持调用日志 schema 精简(仅 token 计数和身份/模型元数据),并在每次运行时查询预聚合成本视图一次,而不是反复扫描原始日志。

JSON 日志意味着每次查询都会扫描每个字节,无论选择了哪些列。Athena 必须在应用任何过滤器之前反序列化每一行,因此对同一视图的四个不同过滤查询各自扫描了相同的约 11 GB。列修剪和谓词下推对面向行的 JSON 没有帮助。通过将派生查询合并为一个 SELECT ... GROUP BY 并在应用代码中分割结果来修复它,或者更进一步,将日志转换为 Parquet 等列式格式。

治理加速采用而非限制采用。战略洞察是反直觉的:实施硬性每人上限反而让领导层放心扩大访问权限,而不是收缩访问权限。因为消费现在是可观察的,Jamf 可以自信地增加启用 AI 的工程师数量。

始终可用的模型。保持低成本模型始终可用是一个深思熟虑的选择。达到预算 100% 的工程师仍然可以完成工作,因此强制执行不会完全停止生产力。

新模型需要明确的定价分支。将定价图作为一等运营工件,并在启用新模型的时刻添加它们。

IAM 策略版本限制。托管策略最多保留五个版本。强制 Lambda 必须在创建新版本之前删除最旧的非默认版本,否则 iam:CreatePolicyVersion 将失败。

考虑 Amazon Athena 的异步查询模型。Athena 查询是提交和轮询的,不是同步返回的。Lambda 处理程序必须启动查询、等待完成,然后读取结果。相应地设置函数超时。

为避免持续产生费用并移除强制控制,请删除你创建的资源。

在这篇文章中,你学习了 Jamf 如何使用客户托管策略、Amazon Athena 成本视图和无服务器 AWS Lambda 循环为 Amazon Bedrock 构建实时、每人消费强制执行。随着生成式 AI 采用规模的扩大,将会获胜的组织是那些能够自信地回答 Tokenomics 问题的组织:我们知道每个人花费多少,我们可以不减缓任何人地设置上限,并且我们可以证明价值。成本治理使安全地对更多 AI 说"是"成为可能,而不是更少。

现在,轮到你去开始探索了。我们在这里提供帮助,如果你需要进一步协助,请联系 AWS Support 和你的 AWS 账户团队。

Original source

本文由 AI 翻译整理自 AWS ML Blog,原文版权归原作者所有。

阅读英文原文
上一篇
顶级AI开源项目正在抛弃社区PR:软件工厂模式兴起
下一篇
Amazon Quick 从概念验证到生产的安全设计指南