集装箱产品的合同定价 AWS License Manager - AWS Marketplace

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

集装箱产品的合同定价 AWS License Manager

对于采用合同定价的基于容器的产品,请使用 AWS License Manager 将许可证与您的产品相关联。

AWS License Manager 是一种许可证管理工具,可让您的应用程序跟踪和更新客户购买的许可证(也称为授权)。本部分提供有关如何将您的产品与 AWS License Manager集成的信息。集成完成后,您可以在 AWS Marketplace上发布您的产品清单。

如果您要将 License Manager 与 AWS Marketplace 适用于 Amazon Anywhere、Amazon EKS Anywhere、亚马逊弹性计算云 (AmazonEC2) 或本地基础设施的 for Contain ECS ers Anywhere 产品集成,请按照中的说明进行操作将 “容器随处 AWS Marketplace 可用” 产品与 License Manager 集成

有关的更多信息 AWS License Manager,请参阅《AWS License Manager 用户指南》和《AWS CLI命令参考》一AWS License Manager节。

许可模式

AWS Marketplace 与集成 AWS License Manager 支持两种许可模式:

可配置许可模式

可配置许可证模型(也称为可量化许可证模型)在买家获得许可证后授权买家获得特定数量的资源。

您可以设置定价维度和每单位价格。然后,买家可以选择他们想要购买的资源数量。

例 定价维度和每单位价格

您可以设置定价维度(例如数据备份)和每单位价格(例如每单位 30 美元)

买家可以选择购买 5、10 或 20 个单位。

您的产品会跟踪和计量使用情况,以衡量消耗的资源数量。

在配置模式下,权利将通过以下两种方式之一进行计数:

消耗许可证

在使用时,许可证是从允许数量的许可证池中消耗。该权利已永久签出,无法返回到许可证池。

例 处理有限数量的数据示例

用户有权处理 500 GB 的数据。当他们继续处理数据时,系统会从 500 GB 的池中消耗数量,直到所有 500 GB 的许可证都用完为止。

对于提款许可证,您可以使用CheckoutLicenseAPI操作来查看已使用的许可证单位(授权)。

例 每年备份到 S3 的多个单位示例

您拥有的存储产品允许将多达 1024 个单位的数据备份到 Amazon Simple Storage Service (Amazon S3) 中以存储一年的数据。您的应用程序可以使用多个 Amazon EC2 实例启动。您的应用程序具有跟踪和聚合数据的机制。每次备份时,您的软件都会使用产品 ID 调用该CheckoutLicenseAPI操作以更新消耗的数量。

在此示例中,您的软件调用该CheckoutLicenseAPI操作来检出 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" }

浮动许可证

使用后,许可证将返回到允许数量的许可证池中。

对于浮动许可证,应用程序在使用资源时使用CheckoutLicenseAPI操作从授权池中签出授权。CheckoutLicenseAPI操作的响应包括许可证消耗令牌,该令牌是结账的唯一标识符。许可证消耗令牌可用于对已签出的权利执行其他操作,例如将其签回许可证池或延长签出时间。

要将授权签回池中,请在资源不再使用时使用该CheckInLicenseAPI操作。

aws license-manager check-in-license --license-consumption-token "f1603b3c1f574b7284db84..."

如果未能签入权利(比如应用程序崩溃),则权利将在 60 分钟后自动签回池中。如果资源的使用时间超过 60 分钟,则最佳做法是,只要资源正在使用中,就使用该ExtendLicenseConsumptionAPI操作将授权从池中签出。

aws license-manager extend-license-consumption --license-consumption-token "f1603b3c1f574b7284..."
例 固定上限的用户数示例

某用户被授予应用程序 500 个并发用户的权利。当用户登录和注销时,用户会被消耗并返回到 500 个用户的池中。但是,应用程序无法从池中消耗超过 500 个用户,因为 500 个并发用户是固定上限。

对于浮动授权,您可以使用CheckInLicenseAPI操作将许可证单位返回到授权池。

例 一年的并发用户数示例

您的产品根据并发用户数量定价。客户为 10 个用户购买了一份为期一年的许可证。客户通过提供 AWS Identity and Access Management (IAM) 权限来启动软件。当用户登录时,您的应用程序会调用该CheckoutLicenseAPI操作将数量减少 1。当用户注销时,应用程序通过调用CheckInLicenseAPI操作将该许可证返回到池中。如果您不调用 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" }

分层许可模式

分层许可模式在买家获得许可后,使买家有权使用特定级别或层的应用程序特征。

您可以为产品创建层,例如基本、中级和高级。然后,买家选择一个预定义的层。

应用程序无需跟踪或计量应用程序的使用情况。

在分层许可模式下,权利不计算在内,而是表示客户购买的服务层。

如果您想提供捆绑特征,则最好使用层。

例 基本、中级和高级层

客户可以签署软件三个可能层之一的合同:基础、中级或高级。每个层都有自己的定价。您的软件可以通过调用CheckoutLicenseAPI操作并在请求中指定所有可能的等级来识别客户已注册的等级。

请求响应包含与客户购买的层相对应的权利。基于这些信息,该软件可以预置适当的客户体验。

请求

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 集成先决条件

发布产品之前,您必须首先完成以下操作:

  1. 在中创建新的容器产品 AWS Marketplace 管理门户,并记下其产品代码。

    有关更多信息,请参阅 创建容器产品

  2. 在产品装货表 (PLF) 中填写必要的价格信息,然后将其退回给我们进行处理。

    有关更多信息,请参阅 创建或更新容器产品的定价详细信息(旧版)

  3. 为运行应用程序的任务或容器使用具有调用CheckoutLicenseExtendLicenseConsumption、和CheckInLicenseAPI操作所需的IAM权限的IAM角色。

    以下IAM策略详细说明了所需的IAM权限。

    { "Version":"2012-10-17", "Statement":[ { "Sid":"VisualEditorO", "Effect":"Allow", "Action":[ "license-manager:CheckoutLicense", "license-manager:GetLicense", "license-manager:CheckInLicense", "license-manager:ExtendLicenseConsumption", "license-manager:ListReceivedLicenses" ], "Resource":"*" } ] }
  4. 使用您定义的所有定价维度的记录对RegisterUsageAPI操作进行测试调用。

将容器产品与 License Manager 集成

要将基于容器的产品与 License Manager 集成,请执行以下操作:
  1. 设置调用 License Manager 的IAM权限。有关更多信息,请参阅 AWS License Manager 集成先决条件

  2. 下载 AWS SDK.

    注意

    不要在软件中配置 AWS 凭据。 AWS 当您的容器在亚马逊EC2实例、亚马逊ECS任务或亚马逊EKS容器中运行时,系统会在运行时自动获取买家证书。

  3. 向您的产品添加许可证检查。

    您的产品可以在任何需要进行许可证检查的地方调用CheckoutLicenseAPI操作人员。要查看许可证,您的产品必须了解:

    1. 许可证的可信颁发者 (AWS Marketplace)

    2. 应用程序的产品SKU(产品 ID)

    3. 查看此应用程序的权利

    根据您设置的定价许可证的类型,API电话会有所不同。

  4. 在上发布您的产品清单 AWS Marketplace。

License Manager 的API操作

要管理存储在客户 License Manager 帐户中的许可证,您的软件可以使用以下API操作:

  • GetLicense— 软件可以查询的。API它会检索已购买许可证的状态(即已过期或即将到期),并向客户发送状态通知。

  • CheckoutLicense – 发现用户已购买的许可证。当用户使用了一定数量的许可证时,您还可以使用该CheckoutLicenseAPI操作来更新许可证数量。使用 CheckoutLicense,您可以继续签出客户使用的许可证数量。当客户耗尽所有许可证时,此调用将返回错误。有关建议运行 CheckoutLicense 的节奏的信息,请参阅许可证续订和升级

  • ExtendLicenseConsumption – 如果是浮动维度,当软件签出许可证时,许可证会在 60 分钟后自动返回到池中。如果要延长许可证的签出时间,请使用该ExtendLicenseConsumptionAPI操作将许可证再延长 60 分钟。

  • CheckInLicense— 如果是浮动维度,当您要将许可证返回到授权池时,请使用CheckInLicenseAPI操作。

  • ListReceivedLicensesAPI— 列出买方购买的许可证。

许可证续订和升级

客户可以在 AWS Marketplace 管理门户上续订或升级许可证。在他们进行额外购买后, AWS Marketplace 会生成反映新权利的新版本的许可证。您的软件使用相同的API操作读取新的授权。您不必在 License Manager 集成方面执行任何不同的操作即可处理续订和升级。

由于许可证续订、升级、取消等,我们建议您的产品在使用产品时定期调用CheckoutLicenseAPI操作。通过定期使用该CheckoutLicenseAPI操作,产品可以检测权利的变化,例如升级和到期。

我们建议您每 15 分钟进行一次CheckoutLicenseAPI呼叫。