跳到正文
AWS Machine Learning Blog· Daniel Wirjo·· 4 天前AI 评分23

如何用 managed entitlements 管理 Amazon Bedrock 私有定价优惠

Manage private pricing offers for Amazon Bedrock with managed entitlements

AI 导读

Amazon Bedrock 的 managed entitlements 支持从中心账户订阅 AWS Marketplace 私有定价优惠(MPPO),再向组织内多个账户分发模型访问权限。

正文 · AI 翻译

当每个工作负载账户都必须单独订阅并接受 AWS Marketplace 私有定价优惠(MPPO)时,跨数十或数百个 AWS 账户管理 AI 模型访问会带来运维摩擦。具有托管权益的 Amazon Bedrock 简化了对第三方 AI 模型的多账户访问,因此您可以从一个中央账户订阅一次,并在整个组织中分发访问权限。

在本文中,我们向您展示在 AWS License Manager 中激活 AWS Marketplace 私有定价优惠(MPPO)权益的两种方法。当您希望对已信任的已接收许可证进行一次性、无需基础设施的修复时,请使用轻量级脚本。当您希望进行持续的、事件驱动的处理,以验证卖家、创建并激活分布式授权时,请使用 CDK 自动化。

为什么要自动化授权激活

借助 AWS Marketplace 私有定价优惠,您可以为 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 管理账户中部署持续自动化。

请选择以下实现路径之一。使用路径 1 进行无需 CDK 的一次性激活。使用路径 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。配置您的组织 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 护理合作伙伴,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 前沿 AI 初创公司团队的解决方案架构师,帮助全球最大、最具战略意义的 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