内容提要
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 使用权限。