配置 SaaS 订阅用量的计量
对于软件即服务 (SaaS) 订阅,您计量所有用量,然后 AWS 按照您提供的计量记录向客户收取费用。对于 SaaS 合同,您只能计量客户合同权利中的用量。以下各节提供有关如何配置 SaaS 产品用量的计量的信息。
当应用程序计量客户的用量时,应用程序会向 AWS 提供累积的用量。您的应用程序根据您在创建产品时定义的定价维度进行计量,例如传输的 GB 数据量或者给定小时内扫描的主机数。例如,如果您根据发送到应用程序的数据量来计费,则可以每小时测量一次数据量并发送相应的计量记录。AWS 使用计量数据以及您在创建产品时提供的价格计算客户的账单。
注意
或者,您可以将用量按您跟踪的属性分配。这些属性作为标签展示给买家。这些标签允许买家按标签值查看按用量划分的费用。例如,如果您按用户收费,并且用户具有 Department
属性,则可以使用键为 Department
的标签创建用量分配,每个值一个分配。这不会更改您报告的价格、维度或总用量,但允许您的客户按与您的产品相应类别查看其成本。有关更多信息,请参阅 供应商计量标记(可选)。
按小时计量
对于您的所有客户,我们建议按小时向 AWS 报告用量,一批最多 25 个。这可以让客户尽可能详细地查看其用量和成本。如果您汇总了超过一个小时(例如一天)时段的用量,请注意以下注意事项。
-
AWS 只能在收到您的计量记录后,对客户的产品用量收费。您有责任确保已成功发送并收到您的产品的计量记录。您可以使用 AWS CloudTrail 验证您发送的记录是准确的。您还可以使用这些信息来执行一段时间的审计。有关更多信息,请参阅 使用 AWS CloudTrail 记录 AWS Marketplace 计量 API 调用。
-
如果这是定价模式为“订阅”(不是“合同”或“带有消费产品的合同”定价模式)的 SaaS,则买家可以随时取消订阅。当买家发起取消订阅操作时,卖家将收到
unsubscribe-pending
通知,并且在收到最终unsubscribe-success
通知之前有 1 小时的时间发送所有未报告的用量。第二个通知发送之后的任何操作都将不会执行。另外两种定价模式根据订阅时间设定了期限,买家无法在这段时间内取消订阅,只能关闭自动续订。如果不是自动续订,则系统将在该期限结束时发送相同的通知。 -
如果您不按小时发送计量记录,那么当应用程序或网络出现中断时,您的记录将落后于实际用量。如果应用程序或网络中断在订阅到期后恢复正常,可能会导致未报告的用量。
-
即使没有可报告的用量,您也可以继续每小时发送一次计量记录。如果某个小时没有可报告的用量,则记录的数量为 0。请注意,在您报告买家某个维度的用量(0 或以上)后,您无法修改记录。因此,最佳实践是报告前一小时的用量。在整个账单周期,报告的用量都会显示在买家的 AWS 账单与成本管理控制台中。该控制台在单独的行项目中显示产品的各个维度,包括在账单周期或迄今为止消耗的总单位数和相应行项目消费的总成本,即使维度价格为每单位 0 美元。如果启用,AWS 成本和使用情况报告(CUR)将显示这些详细信息,包括单位费率。这些报告不是实时更新的。
-
在发布期间,AWS Marketplace 运营团队将在发布产品之前测试 SaaS 应用程序是否能成功发送计量记录。通常,该团队将模拟注册 SaaS 并确认已收到计量记录。
注意
如果您的 SaaS 产品与其他以不同方式处理计量的 AWS 托管服务(例如 Amazon SageMaker Ground Truth 或 AWS WAF)集成,则您无需与 AWS Marketplace Metering Service 集成。您的产品只能在一个系统中进行计量,以避免向客户重复计费。请注意,AWS Marketplace 目前尚未发布新的 AWS WAF 产品。
将您的产品配置为计量用量
您可以在 AWS Marketplace Metering Service 中使用 BatchMeterUsage
操作向 AWS 提供计量记录。记住以下内容:
-
我们要求卖家通过
BatchMeterUsage
操作来使用批处理。 -
我们按小时去除重复的计量请求。
-
按照各产品/客户/小时/维度对请求去除重复项。
-
您始终可以重试任何请求,但是,如果您计量了不同的数量,将按照原始数量计费。
-
如果您针对同一个客户/维度/小时发送多个请求,则不会对记录进行汇总。
-
-
如果买家订阅了您的产品,则卖家可以发送包含最多 6 小时的时间戳的计量记录。如果客户取消订阅,卖家必须在客户取消订阅后的 1 小时内发送计量记录。
-
BatchMeterUsage
有效负载不得超过 1MB。选择要在BatchMeterUsage
请求中发送的用量记录数量,这样您就不会超过有效负载的大小。 -
AWS Marketplace Metering Service 在《AWS 一般参考》的 AWS Marketplace 端点和限额中列出的 AWS 区域提供。在您请求产品时,默认为 SaaS 计量产品启用美国东部(弗吉尼亚州北部)区域。如果您打算使用其他区域,请联系 AWS Marketplace 卖家运营团队
团队。有关更多信息,请参阅 BatchMeterUsage。
有关代码示例,请参阅 SaaS 产品集成的代码示例。
示例:主机扫描
您的产品对计算硬件进行分析以查找已知的安全漏洞。客户手动发起或安排对其 Amazon Elastic Compute Cloud (Amazon EC2) 实例进行这些扫描。当产品执行这些扫描时,它会记录每小时扫描的唯一主机数。在此示例中,您的产品使用主机类别。您可以为扫描的主机类型声明多个维度。例如,您可以针对小型、中型和大型主机按不同的价格收费。
示例:日志分析
您的 SaaS 产品会汇总由客户产品生成的日志、报告趋势和异常。当客户将日志上传到您的产品时,您可以测量收到的数据量(度量单位为兆字节、千兆字节或千吉字节)。在每个小时的第 10 分钟,cron 任务读取每位客户在上个小时的这一用量。任务生成批处理报告,并使用 BatchMeterUsage
操作将报告发送到 AWS。在此示例中,您的产品使用数据别。您的产品也可以按任何给定小时内存储的日志数据量进行计量。在这种情况下,您的产品可以按两个维度进行计量:此小时内收到的数据量和此小时内存储的总数据量。您可以继续计量存储的数据,直到客户删除此数据或数据到期为止。
供应商计量标记(可选)
供应商计量标记可帮助独立软件供应商 (ISV) 让买家更精细地了解其软件使用情况并帮助他们进行成本分配。
有许多方法可以标记买家的软件使用情况。一种方法是先询问买家他们希望在成本分配中看到什么。然后,您可以在为买家帐户跟踪的属性之间分配使用情况。属性的示例包括 Account
ID
、Business Unit
、Cost Centers
,以及您的产品的其他相关元数据。这些属性作为标签展示给买家。使用标签,买家可以在 AWS Billing 控制台 (https://console.aws.amazon.com/billing/
在常见情形中,买家会通过一个 AWS 账户订阅您的产品。买家还有许多与同一产品订阅相关的用户。您可以使用具有 Account ID
键的标签创建用量分配,然后将用量分配给每个用户。在这种情况下,买家可以在其账单与成本管理控制台中激活 Account ID
标签并分析个人用户的使用情况。
卖家体验
卖家可以汇总具有相同标签集的资源的计量记录,而不是汇总所有资源的使用情况。例如,卖家可以构造包含不同的 UsageAllocations
存储桶的计量记录。每个存储桶代表一组标签的 UsageQuantity
,例如 AccountId
和 BusinessUnit
。
在下图中,资源 1 具有一组唯一的 AccountId
和 BusinessUnit
标签,并作为单个条目出现在计量记录中。
资源 2 和资源 3 都具有相同的 AccountId
标签 2222
和相同的 BusinessUnit
标签 Operations
。因此,它们在计量记录中合并为一个 UsageAllocations
条目。
卖家还可以将没有标签的资源组合成一个 UsageAllocation
,然后将其作为 UsageAllocations
中的一个条目发送。
限制包括:
-
标签数 – 5
-
UsageAllocations
(基数)的大小 – 2500 -
最大请求大小 – 1 MB
验证包括:
-
标签键和值允许的字符 – a-zA-Z0-9+ -=._:\/@
-
UsageAllocation
列表中的最大标签数 – 5 -
两个
UsageAllocations
的标签不能相同(也就是说,标签键和值的组合相同)。如果是这样的话,他们必须使用相同的UsageAllocation
。 -
UsageAllocation
的AllocatedUsageQuantity
之和必须等于UsageQuantity
,即聚合用量。 -
最大有效负载大小不能超过 1 MB。这包括输入属性键(例如,
UsageRecords
、AllocatedUsageQuantity
、标签)。注意
为确保您没有违反有效负载限制,请根据业务要求创建具有最大大小的示例请求对象,将该对象转换为 JSON 字符串,然后获取以字节为单位的大小。确保单个 API 调用不会超过 1 MB 的限制。例如。如果一个带有 1
UsageRecord
的请求的最大大小为 200 KB,则作为请求的一部分发送的内容不要超过 5UsageRecords
(200KB * 5 = 1MB)。
买家体验
下表显示了买家激活 AccountId
和 BusinessUnit
供应商标签后的买家体验示例。
在此示例中,买家可以在其成本使用报告中看到分配的用量。供应商计量标签使用前缀 “aws:marketplace:isv”
。在账单与成本管理中,买家可以再成本分配标签下的 AWS 生成的成本分配标签中激活它们。
成本使用报告的第一行和最后一行与卖家向 Metering Service 发送的内容相关(如 卖家体验 示例所示)。
ProductCode | 买家 | UsageDimension | UsageQuantity | aws:marketplace:isv:AccountId |
aws:marketplace:isv:BusinessUnit |
---|---|---|---|---|---|
xyz | 111122223333 | 网络:每 (GB) 检查一次 | 70 | 2222 | 运营 |
xyz | 111122223333 | 网络:每 (GB) 检查一次 | 30 | 3333 | 财务 |
xyz | 111122223333 | 网络:每 (GB) 检查一次 | 20 | 4444 | IT |
xyz | 111122223333 | 网络:每 (GB) 检查一次 | 20 | 5555 | 市场营销 |
xyz | 111122223333 | 网络:每 (GB) 检查一次 | 30 | 1111 | 市场营销 |
有关代码示例,请参阅 带有用量分配标签的 BatchMeterUsage 代码示例(可选)。