使用 AWS Marketplace 計量服務每小時計量 - AWS Marketplace

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 AWS Marketplace 計量服務每小時計量

如果您的容器產品使用每小時的每個工作或每個網繭定價,而不是自訂計量定價維度,則不需要定義自訂計量維度。

每個亞馬遜彈性容器服務 (Amazon ECS) 任務或每個亞馬遜彈性 Kubernetes 服務 (Amazon EKS) 網繭每小時的 RegisterUsage API 操作計量器軟體使用量,使用量按比例計算到秒。至少 1 分鐘的使用量適用於短暫的工作或網繭。軟體使用的連續測量由自動處理 AWS Marketplace Metering Control Plane。您的軟體不需要執行任何計量特定動作,除了呼叫RegisterUsage一次以開始計量軟體使用量。

RegisterUsage必須在啟動容器時立即調用。如果您未在容器啟動後的前 6 小時內註冊容器,AWS Marketplace 計量服務不會提供前幾個月的任何計量保證。但是,計量將繼續進行當月,直到容器結束為止。

無論客戶的訂閱狀態為何,都會 AWS Marketplace Metering Control Plane繼續向客戶收取執行 Amazon ECS 任務和 Amazon EKS 網繭的費用。如此一來,您的軟體就不需要在初始成功啟動工作或網繭後執行權利檢查。

每小時計量必要

在發佈產品之前,您必須執行下列動作:

  1. 在中建立新的容器產品 AWS Marketplace 管理入口網站,並記下其產品代碼。

    如需詳細資訊,請參閱 建立容器產品

  2. 填寫產品裝載表格(PLF),並提供必要的每小時價格信息,並將其退回給我們進行處理。

    如需詳細資訊,請參閱 建立或更新容器產品的定價詳細資料 (舊版)

  3. 針對執行應用程式的工作或網繭使用 AWS Identity and Access Management (IAM) 角色,並具有呼叫所需的 IAM 權限RegisterUsage。IAM 受管政策AWSMarketplaceMeteringRegisterUsage具有這些許可。

  4. (選擇性) 如果您想要查看記錄,建議您在工作或網繭定義中啟用 AWS CloudTrail 記錄。

  5. RegisterUsage API 作業進行測試呼叫,其中包含您定義的所有定價維度的記錄。

每小時計量的產品負載形式

填寫每小時計量的產品負載表單時,除了定義產品的其他必填和可選欄位之外,還要為您的產品填寫下列欄位:

  • 小時價格 — 您產品的每小時價格。

  • 維度長期費率 — 買家預付款時,長期合約的軟體總價格。

  • 長期持續時間 (天) — 長期合約的持續時間 (以天為單位)。

測試整合和預覽模式 RegisterUsage

使用 RegisterUsage API 作業測試您的整合,然後再將影像提交至 AWS Marketplace 發佈。

預覽模式的運作方式與生產模式相同,但預覽模式不會驗證使用產品的權利。若要以預覽模式呼叫,請透過RegisterUsage在 Amazon ECS 或 Amazon EKS 上執行您的產品,RegisterUsage從容器映像呼叫。使用您 AWS 帳戶 正在使用的列表產品 AWS Marketplace。您的計量整合必須動態設定 AWS 區域,而不是對其進行硬式編碼。但是,在測試時,請在美國東部 (維吉尼亞北部) 區域啟動至少一個 Amazon ECS 任務或包含您付費容器的 Amazon EKS 網繭。這樣, AWS Marketplace 營運團隊就可以使用該區域中的記錄來驗證您的工作。

注意

如果您的產品同時支援 Amazon ECS 和 Amazon EKS,您只需要在 Amazon EKS 中推出,我們就可以驗證您的整合。

在您的產品發佈包含所有必要的中繼資料和定價資訊之前,您無法完整測試整合。如果有要求, AWS Marketplace 目錄操作團隊可以在預覽模式下驗證是否已收到您的計量記錄。

錯誤處理 RegisterUsage

如果您的容器映像檔與容器啟動ThrottlingException時整合 AWS Marketplace Metering Service 並收到例外狀況,您應該終止容器以防止未經授權的使用。

僅在 RegisterUsage API 操作ThrottlingException的初始調用時拋出以外的異常。即使客戶在任務或網繭仍在執行時取消訂閱,來自相同 Amazon ECS 任務或 Amazon EKS 網繭的後續呼叫CustomerNotSubscribedException也不會擲回。這些客戶在取消訂閱後仍需支付執行容器的費用,並追蹤其使用情況。

下表說明 RegisterUsage API 作業可能擲回的錯誤。每種 AWS SDK 程式設計語言都有一組錯誤處理準則,您可以參考這些準則以取得其他資訊。

錯誤 Description
InternalServiceErrorException RegisterUsage不可用。
CustomerNotEntitiledException 客戶沒有該產品的有效訂閱。
InvalidProductCodeException 作為請求一部分傳入的ProductCode值不存在。
InvalidPublicKeyException 作為請求一部分傳入的PublicKeyVersion值不存在。
PlatformNotSupportedException AWS Marketplace 不支援來自基礎平台的計量使用量。僅支持 Amazon ECS,Amazon EKS 和 AWS Fargate 。
ThrottlingException 對的呼叫RegisterUsage被限制。
InvalidRegionException RegisterUsage呼叫的方式必須與 AWS 區域 啟動 Amazon ECS 任務或 Amazon EKS 網繭相同。這樣可以防止容器在調用時選擇區域(例如withRegion(“us-east-1”)RegisterUsage