跳到正文
AWS Machine Learning Blog· Daniel Wirjo·· 14 小时前精选AI 评分60

如何用托管授权管理 Amazon Bedrock 私有定价优惠

Manage private pricing offers for Amazon Bedrock with managed entitlements

AI 导读

AWS 介绍了通过 Amazon Bedrock 托管授权管理私有定价优惠的两种方式,让组织可从中央账户订阅并向多个账户分发访问权限。一种是用于一次性激活已接收许可证的轻量脚本,另一种是使用 CDK 部署事件驱动自动化,验证卖家白名单后创建并激活分发授权。文章还说明了部署前提、授权状态检查和账单验证方法。

推荐理由

文章对比一次性脚本与基于 CDK 的事件驱动方案,并列出卖家白名单、授权激活和账单验证步骤,便于按运维需求选择实施路径。

正文 · AI 翻译

当每个工作负载账户都必须单独订阅并接受 AWS Marketplace Private Pricing Offers (MPPOs) 时,在数十个或数百个 AWS 账户之间管理 AI 模型访问权限会造成运营摩擦。Amazon Bedrock with managed entitlements 简化了对第三方 AI 模型的多账户访问,因此你只需从一个中央账户订阅一次,即可在整个组织内分发访问权限。

在本文中,我们介绍两种在 AWS License Manager 中激活 AWS Marketplace Private Pricing Offer (MPPO) 权益的方法。如果你希望以一次性、无需基础设施的方式处理已接收且信任的许可证,请使用轻量级脚本。如果你希望通过持续的事件驱动处理来验证卖家、创建并激活分发式授权,请使用 CDK 自动化方案。

为何要自动激活授权

借助 AWS Marketplace Private Pricing Offers,你可以为 Amazon Bedrock 上的第三方模型协商自定义费率。接受符合条件的私有报价后,AWS Marketplace 会在 AWS License Manager 中创建许可证。在启用所有功能的 AWS Organizations 中,组织级授权会自动接受,但在激活之前仍处于 Disabled 状态。

团队通常通过检查 AWS License Manager 控制台并手动激活授权来管理这一过程。手动检查虽然可行,但会增加工作量,也很容易遗漏。在有人激活授权之前,协商的价格不会生效。随着团队采用新模型或续订条款,同样的工作还会重复出现。

解决方案概览

示例存储库提供两种路径:

  • 路径 1 – 轻量级路径 是一个独立脚本,用于列出已接收的许可证并输出试运行计划。只有在使用 --apply --confirm-account-id 重新运行时,它才会创建并激活组织范围的授权。它没有卖家允许列表,因此只有在你信任管理账户中所有已接收许可证时,才能使用此路径。
  • 路径 2 – 事件驱动路径 使用 AWS Cloud Development Kit (AWS CDK) 在 AWS 管理账户中部署持续运行的自动化方案。

选择以下一种实施路径。若要在不使用 CDK 的情况下进行一次性激活,请使用路径 1。若要实现持续的事件驱动自动化,请使用路径 2。

路径 1:轻量级脚本(一次性激活)

当你需要在不部署 CDK 的情况下进行一次性激活时,请使用此路径。该脚本会列出管理账户中每个已接收的许可证,因此请将试运行作为应用更改前的审核关卡。

  1. Clone the sample repository locally and move into the project directory.
    git clone https://github.com/aws-samples/sample-bedrock-managed-entitlements.git
    cd sample-bedrock-managed-entitlements
  2. Run the lightweight script in dry-run mode.
    python3 lightweight/distribute_licenses.py
  3. 检查列出的每个许可证,并确认 ISV Partner 发行方和账户范围与预期的私有报价相符。
  4. Apply the reviewed plan from the same AWS Organizations management account.
    python3 lightweight/distribute_licenses.py --apply --confirm-account-id ACCOUNT_ID
  5. 授权处于活跃状态后,请先验证计费路径,再在生产环境中依赖该私有报价。AWS Cost Explorer 中的计费数据可能会延迟,因此请在相关费用出现后,使用它比较所涵盖 Amazon Bedrock 使用量的实际计费金额。如需进行可重复的检查,请调整示例 scripts/bedrock_discount_check.py 工具,使其匹配你的 ISV Partner 发行方,并确认预期的折扣路径。

路径 2:CDK 自动化(持续激活)

当你希望自动处理新的私有定价协议时,请使用此路径。CDK 堆栈会监听符合条件的 AWS Marketplace 协议事件,检查卖家允许列表,创建分发式授权,并在 License Manager 需要更多时间时重试激活。该解决方案包含三个组件:

  • Amazon EventBridge 规则:该堆栈会在 us-east-1 中的默认事件总线上监听 AWS Marketplace 协议事件。该规则匹配来源 aws.agreement-marketplace 和详细信息类型 Purchase Agreement Created - Acceptor,然后调用 AWS Lambda 函数。
  • AWS Lambda 函数:该函数接收 AWS Marketplace 协议事件,验证卖家允许列表,发现许可证,创建分布式授权,并使用 CreateGrantVersion(Status=ACTIVE) 请求激活。该函数会将结果记录到 Amazon CloudWatch Logs,以便审计。
  • AWS License Manager 权益:授权的目标可以是您的组织、选定的组织单位 (OU) 或特定账户。只有在授权激活并达到 ACTIVE 或 WORKFLOW_COMPLETED 后,协商定价才会生效。

下图展示了事件驱动流程。

Sequence diagram showing AWS Marketplace sending a Purchase Agreement Created - Acceptor event to Amazon EventBridge, which invokes an AWS Lambda function. The function verifies the seller, discovers the received license, creates a distributed grant, requests activation with CreateGrantVersion(Status=ACTIVE), and writes the outcome to Amazon CloudWatch Logs.

图 1:时序图显示 AWS Marketplace 向 Amazon EventBridge 发送“Purchase Agreement Created – Acceptor”(购买协议已创建 – 接受方)事件,后者调用 AWS Lambda 函数。该函数验证卖家、发现收到的许可证、创建分布式授权、使用 CreateGrantVersion(Status=ACTIVE) 请求激活,并将结果写入 Amazon CloudWatch Logs。

这种方法的主要优势:

  • 更快享受协商定价。分布式授权达到 ACTIVE 或 WORKFLOW_COMPLETED 后,协商价格即会生效,无需等待人工检查控制台。
  • 在各账户间一致处理。对于每个接收第三方模型授权的组织,都可以部署相同的 AWS Lambda 函数和 Amazon EventBridge 规则模式,因此激活逻辑不会因操作员而异。
  • 内置审计跟踪。每次激活尝试或跳过决定都会记录到 CloudWatch Logs,让您能够追踪每项授权何时被激活、延期或忽略。

先决条件

部署此方案前,请确认满足以下先决条件:

  • 在 us-east-1 中使用 AWS Organizations 管理账户,并配置 Python 3.12+、AWS Command Line Interface (AWS CLI) 和 AWS CDK v2。
  • 确认 AWS Organizations 已启用所有功能,并且私有优惠针对由 License Manager 提供支持的 Bedrock 模型。软件即服务 (SaaS) 产品不在此自动化方案的适用范围内。

实施步骤

  1. Clone the sample repository locally and move into the project directory.
    git clone https://github.com/aws-samples/sample-bedrock-managed-entitlements.git
    cd sample-bedrock-managed-entitlements
  2. Verify or enable organization prerequisites.
    python3 scripts/bootstrap_prereqs.py --check --region us-east-1

    进行更改前,请检查所有 APPLY 或 MANUAL 项目。引导脚本可以启用 License Manager 组织集成、License Manager 可信访问、AWS Marketplace 许可证管理可信访问,以及所需的服务相关角色。

    python3 scripts/bootstrap_prereqs.py --apply --region us-east-1 --confirm-account-id ACCOUNT_ID
  3. Configure deployment inputs.
    python3 scripts/setup_config.py

    检查 config/sellers.json。配置您的 Organization ID、卖家允许列表、通知和可选授权目标。默认情况下,授权目标为整个组织。使用 grantTargets 将授权范围限定为选定的 OU 或 AWS 账户。

  4. Deploy the CDK stack.
    cd cdk
    pip install -r requirements.txt
    cdk bootstrap aws://ACCOUNT_ID/us-east-1
    cdk deploy
  5. Seed the Amazon DynamoDB seller allow-list from config/sellers.json.
    cd ..
    python scripts/seed_sellers.py --config config/sellers.json

    请将卖家允许列表视为安全边界。在填充表格前,请根据您接受的 AWS Marketplace 私有优惠或收到的 License Manager 许可证,验证每个卖家账户 ID。请勿添加范围过广或未经验证的卖家条目,因为匹配的卖家可能会触发在您配置的授权目标范围内创建并激活授权。

    部署并填充卖家条目后,该堆栈即可处理符合条件的 AWS Marketplace 协议事件。只有经过验证且位于允许列表中的卖家才会触发授权创建和激活;在 License Manager 完成授权工作流处理前,激活可能会延迟。

  6. Validate the deployed automation.
    python scripts/e2e_validate.py --org-id o-xxxxxxxxxx --seller-account SELLER_ACCOUNT_ID --simulate
  7. Verify grant activation after an eligible AWS Marketplace agreement event.
    aws logs tail /aws/lambda/mppo-grants-handler --follow --region us-east-1
    python scripts/bedrock_discount_check.py --issuer "ISV Partner"

    激活和计费可见性可能需要数小时或数天。事件驱动工作流接受并激活授权后,请在 AWS License Manager 中确认授权状态,然后在计费数据出现后,在 AWS Cost Explorer 中验证受覆盖的 Amazon Bedrock 使用情况。为便于重复检查,请调整示例 scripts/bedrock_discount_check.py 工具,使其匹配您的 ISV Partner 发行方和目标关联账户。

清理

如果您部署此堆栈是为了测试,请将其移除,以避免持续产生少量 Lambda 和 Amazon EventBridge 费用:

cdk destroy

客户之声

“作为每周支持数百万次临床咨询的 AI Care 合作伙伴,Heidi Health 依靠第三方基础模型实现大规模运行。AWS Marketplace 上的私有定价为我们管理这一增长提供了一种经济高效的方式:我们可以在 AWS 账户和组织单元之间细粒度地归因使用量和定价,并在采用新模型时自动化授权管理。这使我们的平台团队能够扩展成本治理,而无需增加手动工作。”

— Marcus Lau,Heidi Health 平台工程负责人

结论

本文介绍了两种为 Amazon Bedrock 私有定价优惠激活托管授权的方法。如果需要一次性激活已接收的可信许可证,请使用轻量级脚本;如果需要持续以事件驱动的方式处理新的 AWS Marketplace 协议,请部署 CDK 自动化方案。这两种方法都能减少手动工作,并帮助在分布式授权激活后应用协商定价。

如需开始使用,请在您的 AWS 管理账户中试用代码示例,以自动化模型订阅。

资源


作者简介

Daniel Wirjo

Daniel Wirjo

Daniel 是 AWS 的解决方案架构师,专注于 AI 和 SaaS 初创企业。作为曾经的初创企业 CTO,他乐于与创始人和工程负责人合作,推动 AWS 上的增长与创新。工作之余,Daniel 喜欢手持咖啡散步、欣赏自然并学习新思想。

Daniel Quang

Daniel Quang

Daniel 是 AWS Frontier AI Startups 团队的解决方案架构师,帮助全球最大、最具战略意义的 GenAI 初创企业在云端扩展其基础设施。他拥有加州大学欧文分校的计算机科学博士学位,研究重点是机器学习和生物信息学。

Bryn Price

Bryn Price

Bryn 是一名技术专家、滑翔伞飞行员,也是 AWS 的首席解决方案架构师。凭借在电信、银行和软件领域超过 20 年的经验,近年来他一直深入从事应用型 AI 工作,负责设计和构建投入生产的多智能体 AI 产品,并帮助客户从试验生成式 AI 走向大规模交付。他热爱挑战重力,也喜欢探讨从智能体架构到 AI 如何重塑软件工程本身等各种话题。

Cai Liu

Cai Liu

Cai 是 AWS License Manager 团队的软件开发工程师。

来源:AWS Machine Learning Blog · aws.amazon.com