本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
集装箱产品的合同定价 AWS License Manager
对于采用合同定价的基于容器的产品,您可以使用 AWS License Manager 将许可证与您的产品相关联。 AWS License Manager 是一种许可证管理工具,可让您的应用程序跟踪和更新客户购买的许可证(也称为授权)。本节提供有关如何将您的产品与集成的信息 AWS License Manager。集成完成后,您可以在 AWS Marketplace上发布您的产品清单。
如果你要将 License Manager 与 AWS Marketplace 适用于亚马逊 EKS Anywhere、Amazon ECS Anywhere、Amazon Elastic Compute Cloud (Amazon EC2) 或本地基础设施的 For Containers Anywhere 产品集成,请按照中的说明进行操作将 AWS Marketplace for Containers Anywhere 与 License Manager 集成。
有关的更多信息 AWS License Manager,请参阅《AWS License Manager 用户指南》和《AWS CLI命令参考》一AWS License Manager节。
有关通过合同定价 AWS License Manager 与集装箱产品集成的更多信息,请参阅AWS Marketplace 卖方研讨会的 “与前期付款集成
主题
容器产品的合同定价
对于采用合同定价的基于集装箱的产品,根据您与客户之间的合同,提前或按照您定义的付款时间表向客户开具 AWS Marketplace 账单。之后,客户将有权使用那些资源。
要设置您的定价,请选择您向客户提供的一个或多个合同期限。您可以为每个合同期限输入不同的价格。您可以选择 1 个月、12 个月、24 个月和 36 个月的合同期限。对于专属优惠,您可以指定以月为单位的自定义期限(最多 60 个月)。
选择最能描述您的产品定价的类别。定价类别会显示在 AWS Marketplace 网站上。您可以选择带宽 (GB/s, MB/s)、数据(GB、MB、TB)、主机、请求、层或用户。如果所有预定义的类别均无法满足您的需求,您可以选择更通用的单位类别。
该优惠允许向其中添加多达 24 个维度。
| 1 个月价格 | 12 个月价格 | 24 个月价格 | 36 个月价格 | |
|---|---|---|---|---|
| 未加密的数据 (GB) | 1.50 美元/GB | 16.00 美元/GB | 30.00 美元/GB | 60.00 美元/GB |
| 加密的数据 (GB) | 1.55 美元/GB | 16.60 美元/GB | 31.20 美元/GB | 61.20 美元/GB |
| 1 个月价格 | 12 个月价格 | 24 个月价格 | 36 个月价格 | |
|---|---|---|---|---|
| 基本(监控 10 台主机,监控 5 个容器) | 100 USD | 1000 美元 | 2000 美元 | 4000 美元 |
| 标准(监控 20 台主机,监控 10 个容器) | $200 | 2000 美元 | 4000 美元 | 8000 美元 |
| 专业(监控 40 台主机,监控 20 个容器) | 400 美元 | 4000 美元 | 8000 美元 | 16,000 美元 |
| 额外主机的每小时监控成本 | 10 美元 | 100 USD | $200 | 400 美元 |
| 额外容器的每小时监控成本 | 10 美元 | 100 USD | $200 | 400 美元 |
注意
价格可以采用以下期限:1 个月、12 个月、24 个月或 36 个月。可以选择为产品提供这些选项中的一个或多个选项。期限对于每个维度都必须相同。
例如,在您有ReadOnlyUsers和AdminUsers维度的情况下,如果您为其提供年度价格 ReadOnlyUsers,则还必须为AdminUsers其提供年度价格。
自动续订
当客户 AWS Marketplace 使用集装箱合同购买您的产品时,他们可以同意自动续订合同条款。客户继续按每月或按 1 年、2 年或 3 年期限支付权利费用。
客户可以随时修改续订设置。有关更多信息,请参阅《AWS Marketplace 买家指南》中的修改现有合同。
许可模式
AWS Marketplace 与集成 AWS License Manager 支持两种许可模式:
可配置许可模式
可配置许可证模型(也称为可量化许可证模型)在买家获得许可证后授权买家获得特定数量的资源。
您可以设置定价维度和每单位价格。然后,买家可以选择他们想要购买的资源数量。
例 定价维度和每单位价格
您可以设置定价维度(例如数据备份)和每单位价格(例如每单位 30 美元)
买家可以选择购买 5、10 或 20 个单位。
您的产品会跟踪和计量使用情况,以衡量消耗的资源数量。
在配置模式下,权利将通过以下两种方式之一进行计数:
消耗许可证
在使用时,许可证是从允许数量的许可证池中消耗。该权利已永久签出,无法返回到许可证池。
例 处理有限数量的数据示例
用户有权处理 500 GB 的数据。当他们继续处理数据时,系统会从 500 GB 的池中消耗数量,直到所有 500 GB 的许可证都用完为止。
对于扣除许可证,您可以使用 CheckoutLicense API 操作来查看已消耗的许可证单位(权利)。
例 每年备份到 Amazon S3 的多个单位示例
您拥有的存储产品允许将多达 1,024 个单位的数据备份到 Amazon Simple Storage Service 中以存储一年的数据。您的应用程序可以使用多个 Amazon EC2 实例启动。您的应用程序具有跟踪和聚合数据的机制。您的软件在每次备份时或以固定的时间间隔使用产品 ID 调用 CheckoutLicense API 操作来更新消耗的数量。
在此示例中,您的软件调用 CheckoutLicense API 操作以签出 10 个单位的数据。当总容量达到客户购买的备份限制时,API 调用失败。
请求
linux-machine ~]$ aws license-manager checkout-license\ --product-sku "2205b290-19e6-4c76-9eea-377d6bf7la47" \ --checkout-type "PERPETUAL" \ --key-fingerprint "aws:294406891311:AWS/Marketplace:issuer-fingerprint" \ --entitlements "Name=DataConsumption, Value=l0, Unit=Count" \ --client-token "AKIAIOSFODNN7EXAMPLE"
响应
{"CheckoutType": "PERPETUAL", "EntitlementsAllowed": [{ "Name": "IntermediateTier", "Units": "None" }], "Expiration": "2021-04-22Tl9:02:36", "IssuedAt": "2021-04-22Tl8:02:36", "LicenseArn": "arn:aws:license-manager::294406891311:license:l-16bf01b...", "LicenseConsumptionToken": "AKIAIOSFODNN7EXAMPLE" }
浮动许可证
使用后,许可证将返回到允许数量的许可证池中。
对于浮动许可证,在使用资源时,应用程序使用 CheckoutLicense API 操作从权利池中签出权利。CheckoutLicense API 操作的响应包括许可证消耗令牌,该令牌是签出的唯一标识符。许可证消耗令牌可用于对已签出的权利执行其他操作,例如将其签回许可证池或延长签出时间。
在不再使用资源时,要将权利签回池中,请使用 CheckInLicense API 操作。
aws license-manager check-in-license --license-consumption-token "f1603b3c1f574b7284db84..."
如果未能签入权利(比如应用程序崩溃),则权利将在 60 分钟后自动签回池中。如果资源的使用时间超过 60 分钟,则只要资源在使用中,最佳实操是使用 ExtendLicenseConsumption API 操作保持权利从池中签出。
aws license-manager extend-license-consumption --license-consumption-token "f1603b3c1f574b7284..."
例 固定上限的用户数示例
某用户被授予应用程序 500 个并发用户的权利。当用户登录和注销时,用户会被消耗并返回到 500 个用户的池中。但是,应用程序无法从池中消耗超过 500 个用户,因为 500 个并发用户是固定上限。
对于浮动权利,您可以使用 CheckInLicense API 操作将许可证单位返回到权利池。
例 一年的并发用户数示例
您的产品根据并发用户数量定价。客户为 10 个用户购买了一份为期一年的许可证。客户通过提供 AWS Identity and Access Management (IAM) 权限来启动软件。当用户登录时,您的应用程序会调用 CheckoutLicense API 操作将数量减少 1。当用户注销时,应用程序会通过调用 CheckInLicense API 操作将该许可证返回到池中。如果您不调用 CheckInLicense,则许可证单位将在 1 小时后自动签入。
注意
在以下请求中,key-fingerprint 不是占位符值,而是发布所有许可证时使用的指纹的实际值。
请求
aws license-manager checkout-license\ --product-sku "2205b290-19e6-4c76-9eea-377d6bf7la47" \ --checkout-type "PROVISIONAL" \ --key-fingerprint "aws:294406891311:AWS/Marketplace:issuer-fingerprint" \ --entitlements "Name=ReadOnlyUSers, Value=l0, Unit=Count" \ --client-token "AKIAIOSFODNN7EXAMPLE"
响应
{ "CheckoutType": "PROVISIONAL", "EntitlementsAllowed": [ { "Name": "ReadOnlyUsers", "Count": 10, "Units": "Count", "Value": "Enabled" } }, "Expiration": "2021-04-22Tl9:02: 36", "IssuedAt": "2021-04-22Tl8:02:36", "LicenseArn": "arn:aws:license-manager::294406891311:license:l-16bf01b...", "LicenseConsumptionToken": "AKIAIOSFODNN7EXAMPLE" }
分层许可模式
分层许可模式在买家获得许可后,使买家有权使用特定级别或层的应用程序特征。
您可以为产品创建层,例如基本、中级和高级。然后,买家选择一个预定义的层。
应用程序无需跟踪或计量应用程序的使用情况。
在分层许可模式下,权利不计算在内,而是表示客户购买的服务层。
如果您想提供捆绑特征,则最好使用层。
例 基本、中级和高级层
客户可以签署软件三个可能层之一的合同:基础、中级或高级。每个层都有自己的定价。您的软件可以通过调用 CheckoutLicense API 操作并在请求中指定所有可能的层来识别客户已注册的层。
请求响应包含与客户购买的层相对应的权利。基于这些信息,该软件可以预置适当的客户体验。
请求
linux-machine ~]$ aws license-manager checkout-license\ --product-sku "2205b290-19e6-4c76-9eea-377d6bf7la47" \ --checkout-type "PROVISIONAL" \ --key-fingerprint "aws:294406891311:AWS/Marketplace:issuer-fingerprint" \ --entitlements "Name=BasicTier, Unit=None" "Name=IntermediateTier, Unit=None" \ "Name=PremiumTier, Unit=None"
响应
{ "CheckoutType": "PROVISIONAL", "EntitlementsAllowed": [ { "Name": "IntermediateTier", "Units": "None" } }, "Expiration": "2021-04-22Tl9:02:36", "IssuedAt": "2021-04-22Tl8:02:36", "LicenseArn": "arn:aws:license-manager::294406891311:license:l-16bf01b...", "LicenseConsumptionToken": "AKIAIOSFODNN7EXAMPLE" }
AWS License Manager 集成先决条件
发布产品之前,您必须首先完成以下操作:
-
在中创建新的容器产品 AWS Marketplace 管理门户,并记下其产品代码。
有关更多信息,请参阅 概述:创建容器产品。
-
将用于运行应用程序的任务或容器组 (pod) 的IAM 角色与调用
CheckoutLicense、ExtendLicenseConsumption和CheckInLicenseAPI 操作所需的 IAM 权限搭配使用。以下 IAM 策略中详细介绍了所需的 IAM 权限。
-
使用您定义的所有定价维度的记录对
RegisterUsageAPI 操作进行测试调用。
将容器产品与 License Manager 集成
要将基于容器的产品与 License Manager 集成,请执行以下操作:
-
设置 IAM 权限以调用 License Manager。有关更多信息,请参阅 AWS License Manager 集成先决条件。
-
下载 AWS 软件开发工具包。
注意
不要在软件中配置 AWS 凭据。 AWS 当您的容器在亚马逊 EC2 实例、亚马逊 ECS 任务或 Amazon EKS 容器中运行时,系统会在运行时自动获取买家证书。
-
向您的产品添加许可证检查。
无论在何处执行许可证检查,您的产品都可以调用
CheckoutLicenseAPI 操作。要查看许可证,您的产品必须了解:-
许可证的可信颁发者 (AWS Marketplace)
-
应用程序的产品 SKU(产品 ID)
-
查看此应用程序的权利
根据您设置的定价许可证类型,API 调用会有所不同。
-
-
在上发布您的产品清单 AWS Marketplace。
License Manager API 操作
要管理存储在客户 License Manager 帐户中的许可证,您的软件可以使用以下 API 操作:
-
GetLicense– 软件可以查询的 API。它会检索已购买许可证的状态(即已过期或即将到期),并向客户发送状态通知。 -
CheckoutLicense– 发现用户已购买的许可证。当用户使用了一定数量的许可证时,您还可以使用CheckoutLicenseAPI 操作来更新许可证数量。使用CheckoutLicense,您可以继续签出客户使用的许可证数量。当客户耗尽所有许可证时,此调用将返回错误。有关建议运行CheckoutLicense的节奏的信息,请参阅许可证续订和升级。 -
ExtendLicenseConsumption– 如果是浮动维度,当软件签出许可证时,许可证会在 60 分钟后自动返回到池中。如果您想延长许可证的签出时间,可以使用ExtendLicenseConsumptionAPI 操作将许可证再延长 60 分钟。 -
CheckInLicense– 如果是浮动维度,则要将许可证返回到权利池时,请使用CheckInLicense操作。 -
ListReceivedLicensesAPI – 列出买家购买的许可证。
许可证续订和升级
客户可以在 AWS Marketplace 管理门户上续订或升级许可证。在他们进行额外购买后, AWS Marketplace 会生成反映新权利的新版本的许可证。您的软件使用相同的 API 操作读取新的权利。您不必在 License Manager 集成方面执行任何不同的操作即可处理续订和升级。
由于许可证续订、升级、取消等,我们建议在使用产品时该产品按固定节奏调用 CheckoutLicense API 操作。通过定期使用 CheckoutLicense API 操作,产品可以检测权利的变化,例如升级和到期。
我们建议您每 15 分钟执行一次 CheckoutLicense API 调用。