容器產品帳單、計量和授權整合 - AWS Marketplace

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

容器產品帳單、計量和授權整合

AWS Marketplace 與其他 AWS 服務 產品整合,為您的容器產品提供計量和合約式定價。

每小時和自定義計量 AWS Marketplace Metering Service

若要同時查看產品的使用權益和計費用量,請使用AWS Marketplace 計量服務。如果您想要定義您自己的定價單位,並將該使用量計費給我們,請使用 MeterUsageAPI 操作進行整合。如果您想要根據使用的工作或網繭數量為產品定價,並自動使用量 AWS 計量,請使用 RegisterUsageAPI 作業進行整合。對於這兩種類型的定價,您都可以新增長期合約價格,而無需變更與 AWS Marketplace Metering Service.

當您在中建立新的容器產品時 AWS Marketplace 管理入口網站,我們會提供一組產品識別碼 (產品代碼和公開金鑰),用於將您的產品與 AWS Marketplace Metering Service.

Entitlement

與整合 AWS Marketplace Metering Service 可讓您驗證執行您付費軟體的客戶是否已訂閱您的產品 AWS Marketplace,防止您在容器啟動時遭到未經授權的使用。若要驗證權利,請根據您的定價模式使用MeterUsageRegisterUsageAPI 作業。對於每小時和固定的每月定價模式,請使用 RegisterUsage API 操作。對於自訂計量定價模型,請使用 MeterUsage API 操作。

如果買家無權使用您的產品,這些 API 作業會傳回CustomerNotEntitledException例外狀況。

注意

如果買家在運行產品時取消訂閱,他們有權繼續運行它。但是,他們無法為您的產品啟動其他容器。

整合指南

當您建立和發佈容器產品,以及使用MeterUsageRegisterUsage API 作業進行權益和計量時,請牢記下列準則:

  • 請勿在軟體或 Docker 容器映像檔中設定 AWS 憑證。 AWS 當您的容器映像在 Amazon ECS 任務或 Amazon EKS 網繭中執行時,會在執行階段自動取得購買者的登入資料。

  • 若要從 Amazon EKS 呼叫MeterUsageRegisterUsage API 作業,您必須使用支援的 AWS 開發套件。若要測試MeterUsageRegisterUsage整合 Amazon EKS,您必須執行一個執行 Kubernetes 1.13.x 或更高版本的 Amazon EKS 叢集。網繭支援的 AWS Identity and Access Management (IAM) 角色需要 Kubernetes 1.13。執行中的網繭需要 IAM 角色,才能取得在 Amazon EKS 上叫用這些動作所需的 AWS 登入資料。

  • 你可以做本地開發,但你會得到一個PlatformNotSupportedException例外。當您在容器服務 (Amazon ECS、Amazon EKS 和 Fargate) 上啟動 AWS 容器時,不會發生此例外狀況。

支援 AWS 區域

如需所有 AWS Marketplace 支援的清單 AWS 區域,請參閱全球基礎架構網站上的區域表

取得用 AWS 區域 於計量

將您的容器與MeterUsageRegisterUsage API 作業整合以進行計量時,請勿將 AWS SDK 設定為使用特定的 AWS 區域。必須在執行階段動態取得「區域」。

例如,客戶啟動 Amazon ECS 任務或 Amazon EKS 網繭。在與啟動 Amazon ECS 任務或 Amazon EKS 網繭的區域不同的區域中,會呼叫 RegisterUsage API 作業。因此,RegisterUsageAPI 作業會擲回錯InvalidRegionException誤。

AWS SDK 語言不會以一致AWS_REGION的方式確定。如果您的 SDK 未自動接收AWS_REGION,則需要手動編寫軟體以確定AWS_Region. 例如,當環境變數或其他組態不存在時, AWS SDK for Java 會自動使用 Amazon EC2 執行個體中繼資料 (特別是ec2InstanceMetadata) 取得區域。在這種情況下,只有在AWS_REGION環境變量不存在時才調ec2InstanceMetadata用。

如需有關如何 AWS 區域 在執行階段動態取得的資訊,請參閱適用於您程式設計語言的 AWS SDK 開發人員指南

防止計量修改

為買家介紹如何修改或覆寫電話,RegisterUsageMeterUsage可能導致不良的帳單和付款問題。我們強烈建議您整合計量和權利邏輯。

設計產品以防止計量修改時,請牢記以下事項:

  • 如果購買者可以插入包含CMDENTRYPOINT指示的新影像圖層,請直接MeterUsage將購買者透過容器映像執行的軟體整合RegisterUsage或整合到購買者執行的軟體中。否則,購買RegisterUsage者可能會覆寫透過CMDENTRYPOINT從基本影像傳送的呼叫或MeterUsage執行。

  • 我們建議您管理軟體使用的 AWS Marketplace 產品代碼,RegisterUsage或以買家無法修改MeterUsage的方式來管理產品代碼。但是,如果您的產品以客戶可以覆寫的方式管理產品代碼,例如 AWS CloudFormation Helm 圖表或 Kubernetes 資訊清單,您必須維護受信任 AWS Marketplace 的產品代碼清單。這是為了確保您的軟件將產品代碼作為輸入傳遞給RegisterUsageMeterUsage有效。

  • 如果您有任何受信任的產品代碼適用於免費產品,請確定這些代碼無法用於取代付費產品代碼。

合約定價 AWS License Manager

對於具有合約定價的容器型產品,您可以使用 AWS License Manager 授權與產品建立關聯。

AWS License Manager 是一種授權管理工具,可讓您的應用程式追蹤和更新客戶已購買的授權 (也稱為權利)。本節提供有關如何與產品整合的資訊 AWS License Manager。整合完成後,您可以在上發佈產品清單 AWS Marketplace。

若要取得有關的更多資訊 AWS License Manager,請參閱《AWS License Manager 使用指南》和〈指AWS CLI 令參考〉一AWS License Manager節。

注意
  • 客戶無法在合約到期後啟動新的容器執行個體。但是,在合約期間,他們可以啟動任意數量的執行個體。這些授權不會繫結至特定節點或執行個體。任何節點上任何容器上執行的任何軟體都可以簽出授權,只要它具有指派的 AWS 認證即可。

  • 建立不公開優惠 — 賣家可以使用中的「私人選件」建立工具,為產品產生私人優惠 AWS Marketplace 管理入口網站。

  • 告 — 您可以在中的報告區段中設定 Amazon S3 儲存貯體來設定資料饋送 AWS Marketplace 管理入口網站。如需詳細資訊,請參閱 賣家報告、資料饋送和儀表板

整合工作流

下列步驟顯示與容器產品整合的工作流程 AWS License Manager:

  1. 賣方創建具有 AWS License Manager 集成的產品。

  2. 賣家將產品刊登於 AWS Marketplace。

  3. 買家在上找到產品 AWS Marketplace 並購買它。

  4. 授權會在其中傳送給買方 AWS 帳戶。

  5. 買方透過啟動 Amazon EC2 執行個體、Amazon ECS 任務或亞馬遜 EKS 網繭軟體來使用該軟體。客戶使用 IAM 角色進行部署。

  6. 軟體會讀取買方 AWS License Manager 帳戶中的授權、探索所購買的權利,並相應地佈建這些功能。

    注意

    License Manager 不會進行任何跟踪或更新;這是由賣方的應用程序完成的。