Amazon Bedrock 多 IAM 用户的成本追踪和控制方案助力 AI Character 最佳实践

Amazon Bedrock 多 IAM 用户的成本追踪和控制方案助力 AI Character 最佳实践

💡 原文中文,约8900字,阅读约需22分钟。
📝

内容提要

Amazon Bedrock是一项强大的服务,帮助构建和扩展基于生成式人工智能的应用程序。它提供多账号管理、成本控制、性能监控、内容审计和警报自动化等功能。通过集成云原生的CloudWatch监控服务,Bedrock提供全面的监控、审计和成本控制能力。文章还介绍了如何使用CloudWatch结合Lambda监控Bedrock的运行状况,并给出了具体的操作步骤和架构设计。

🔎

延伸解读

多IAM用户成本追踪的核心机制

文章针对企业内多团队使用不同IAM账号调用Bedrock的场景,提出通过CloudWatch Logs记录模型调用日志,并利用CloudWatch Insights查询按IAM用户ARN和模型ID聚合的Token使用量。Lambda函数定期查询日志,结合内置的定价表计算每个用户在每个模型上的费用,从而实现用户级别的成本追踪。这一机制的关键在于日志中包含了identity.arn字段,使得成本可以精确归属到具体IAM用户。

自动化成本控制与权限回收

除了监控和告警,文章还展示了如何通过Lambda函数自动移除超额用户的Bedrock权限。当用户的总费用或总Token数超过预设阈值时,Lambda会调用IAM API分离附加在用户上的BedrockAccess策略,从而立即阻止其继续使用Bedrock。这种自动化控制可以避免因不当使用导致成本失控,但需要谨慎设置阈值,并确保Lambda角色具有足够的IAM权限。

实施中的关键配置与注意事项

启用Bedrock模型调用日志记录是前提,且默认关闭需手动开启。日志目的地可选择仅CloudWatch、仅S3或两者,当输入输出大于100KB或为二进制时,数据只能发往S3。Lambda函数需配置访问CloudWatch Logs和IAM的权限,并通过EventBridge触发器定期执行。定价信息硬编码在pricing.py中,需根据实际区域和模型更新,否则费用计算可能不准确。

❓

Q&A

Amazon Bedrock 的主要功能是什么?

Amazon Bedrock 提供多账号管理、成本控制、性能监控、内容审计和警报自动化等功能。

如何使用 CloudWatch 监控 Bedrock 的运行状况?

可以通过集成 CloudWatch,使用其指标和日志来监控 Bedrock 的运行状况,并设置警报以应对潜在问题。

企业在使用 Bedrock 时需要关注哪些成本控制措施?

企业需要实时监控 token 的使用情况,以控制调用大语言模型的成本支出在可接受范围内。

如何启用 Bedrock 的模型调用日志记录?

在 Bedrock 控制台的设置页面中切换模型调用日志记录按钮,并选择日志记录的数据类型和目的地。

CloudWatch Insight 如何帮助分析模型使用情况?

CloudWatch Insight 可以运行查询以获取模型的输入和输出 token 使用情况,帮助用户进行数据洞察。

如何通过 Lambda 函数控制 IAM 用户的权限?

可以创建 Lambda 函数,根据 IAM 用户的使用情况限制其权限,剥夺超出阈值的用户的 Bedrock 使用权限。

🏷️

标签

➡️

继续阅读