本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 的容器產品的合約定價 AWS License Manager
對於具有合約定價的容器型產品,您可以使用 AWS License Manager 將授權與 product 建立關聯。 AWS License Manager 是一種授權管理工具,可讓應用程式追蹤和更新客戶購買的授權 (也稱為權利)。本節提供如何將產品與 整合的相關資訊 AWS License Manager。整合完成後,您可以在 上發佈產品清單 AWS Marketplace。
如果您要將 License Manager 與適用於 Amazon EKS Anywhere、Amazon ECS Anywhere、Amazon Elastic Compute Cloud (Amazon EC2) 或內部部署基礎設施 AWS Marketplace 的 for Containers Anywhere 產品整合,請遵循 中的指示將 AWS Marketplace for Containers Anywhere 與 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 授權都用盡為止。
對於撥款授權,您可以使用 CheckoutLicense
API操作來查看使用的授權單位 (權限)。
範例 備份到 S3 的單位/年
您擁有儲存產品,允許備份至 Amazon Simple Storage Service (Amazon S3),最多 1,024 個單位的資料,為期一年。您可以使用多個 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" }
分層授權模型
分層授權模型可讓購買者在購買授權之後,享有特定層級或層級的應用程式功能。
您可以為產品建立 層級,例如 Basic、中繼和 Premium。然後,買方會選取其中一個預先定義的層。
應用程式不需要追蹤或測量應用程式的用量。
使用分層授權模型時,不會計算權限,而是表示客戶購買的服務層級。
如果您想要同時提供套件功能,則最好使用 層。
範例 Basic、中繼和 Premium 層的
客戶可以為軟體的三個可能層之一簽署合約:基本、中級或進階。每個層級都有自己的定價。您的軟體可以透過叫用 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
和CheckInLicense
API操作所需的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":"*" } ] }
-
使用您定義的所有定價維度的記錄對
RegisterUsage
API 操作進行測試呼叫。
將容器產品與 License Manager 整合
將容器型產品與 License Manager 整合
-
設定呼叫 License Manager 的IAM許可。如需詳細資訊,請參閱AWS License Manager 整合先決條件。
-
下載 AWS SDK。
注意
當您的容器在 Amazon EC2執行個體、Amazon ECS任務或 Amazon Pod 中執行時,不會在 Software. AWS credentials EKS 中設定 AWS 憑證。
-
將授權檢查新增至您的產品。
無論何時執行授權檢查,您的產品都可以呼叫
CheckoutLicense
API 操作。若要檢查授權,您的產品必須知道:-
授權的信任發行者 (AWS Marketplace)
-
應用程式的產品 SKU(產品 ID)
-
檢查此應用程式的權限
API 通話會根據您設定的定價授權類型而有所不同。
-
-
在 上發佈您的產品清單 AWS Marketplace。
License Manager API操作
若要管理存放在客戶 License Manager 帳戶中的授權,您的軟體可以使用下列API操作:
-
GetLicense
– 軟體可以查詢API的 。它會擷取已購買授權的狀態 (即過期或即將過期),並傳送狀態通知給客戶。 -
CheckoutLicense
– 探索使用者已購買的授權。當使用者已耗用一些授權數量時,您也可以使用CheckoutLicense
API操作來更新授權數量。透過CheckoutLicense
,您可以繼續檢查客戶使用的授權數量。當客戶耗盡所有授權時,此呼叫會傳回錯誤。如需執行 的建議節奏的相關資訊CheckoutLicense
,請參閱 授權續約和升級。 -
ExtendLicenseConsumption
– 如果是浮動維度,當軟體簽出授權時,授權會在 60 分鐘後自動返回集區。如果您想要延長授權保持簽出的時間,請使用ExtendLicenseConsumption
API操作將授權再延長 60 分鐘。 -
CheckInLicense
– 如果是浮動維度,當您想要將授權傳回至權利集區時,請使用CheckInLicense
API操作。 -
ListReceivedLicenses
API – 列出購買者購買的授權。
授權續約和升級
客戶可以在 上續約或升級其授權 AWS Marketplace 管理入口網站。在他們進行其他購買之後, AWS Marketplace 會產生反映新權限的新版授權。您的軟體會使用相同的API操作讀取新權限。在 License Manager 整合方面,您不需要採取任何不同的動作來處理續約和升級。
由於授權續約、升級、取消等,建議您的產品在使用產品時定期呼叫CheckoutLicense
API操作。透過定期使用 CheckoutLicense
API 操作,產品可以偵測升級和到期等權限的變更。
建議您每 15 分鐘執行一次CheckoutLicense
API通話。