コンテナ製品の請求、計測、ライセンスの統合 - AWS Marketplace

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

コンテナ製品の請求、計測、ライセンスの統合

AWS Marketplace は他の AWS のサービス と統合して、コンテナ製品の計測と契約ベースの料金設定の両方を提供します。

AWS Marketplace Metering Service による時間単位計測およびカスタム計測

製品を使用する使用権限および請求用使用計測の権限の両方を確認するには、AWS Marketplace Metering Service を使用します。各自で料金単位を決定し、請求用に使用量を計測するには、MeterUsage API オペレーションを使用して統合します。タスクあるいはポッドの使用量に基づいて製品を課金し、その使用量を AWS で自動的に計測するには、RegisterUsage API オペレーションを使用して統合します。どちらのタイプの料金設定でも、AWS Marketplace Metering Service との統合を変更する必要なしで長期契約料金を追加できます。

AWS Marketplace 管理ポータル で新しいコンテナ製品を作成すると、製品に AWS Marketplace Metering Service を統合するために使用する一連の製品 ID (製品コードとパブリックキー) が提供されます。

使用権限管理

AWS Marketplace Metering Service との統合により、有料ソフトウェアを実行している顧客が AWS Marketplace の製品にサブスクライブしていることを確認して、コンテナスタートアップにおける不正使用を防ぐことができます。使用権限を確認するには、料金モデルに応じて、MeterUsage API オペレーションまたは RegisterUsage API オペレーションを使用します。時間単位および固定月単位の料金モデルの場合は、RegisterUsage API オペレーションを使用します。カスタム計量料金モデルの場合は、MeterUsage API オペレーションを使用します。

購入者に商品の購入資格がない場合、これらの API オペレーションは CustomerNotEntitledException 例外を返します。

注記

購入者が製品を実行中に登録を解除した場合、購入者にはその製品を実行し続ける権利が与えられます。ただし、製品の追加のコンテナを起動することはできません。

統合ガイドライン

コンテナ製品を作成して公開し、使用権限と計測に MeterUsage API オペレーションあるいは RegisterUsage API オペレーションを使用する際は、以下のガイドラインに留意してください。

  • ソフトウェアや Docker コンテナイメージ内で AWS 認証情報を設定しないでください。購入者の AWS 認証情報は、コンテナイメージが Amazon ECS タスクまたは Amazon EKS ポッド内で実行されているときに、ランタイムに自動的に取得されます。

  • Amazon EKS から MeterUsage または RegisterUsage API オペレーションを呼び出すには、サポートされている AWS SDK を使用する必要があります。Amazon EKS の MeterUsage あるいは RegisterUsage 統合をテストするには、Kubernetes 1.13.x 以降が搭載されている Amazon EKS クラスターを実行する必要があります。ポッドをサポートする AWS Identity and Access Management (IAM) ロールには Kubernetes 1.13 が必要です。Amazon EKS でこれらのアクションを呼び出すのに必要な AWS 認証情報を実行中のポッドが取得するには IAM ロールが必要です。

  • ローカルな開発を実行できますが、PlatformNotSupportedException 例外が発生します。この例外は、AWS コンテナサービス (Amazon ECS、Amazon EKS、Fargate) でコンテナを起動している場合にはこの例外は発生しません。

サポートされている AWS リージョン

AWS Marketplace でサポートされている AWS リージョン のリストについては、グローバルインフラストラクチャウェブサイトの「リージョン表」を参照してください。

計測用の AWS リージョン の取得

MeterUsage API オペレーションあるいは RegisterUsage API オペレーションを使用して計測用のコンテナを統合する際は、特定の AWS リージョン を使用するように AWS SDK を設定しないでください。リージョンは実行時に動的に取得する必要があります。

例えば、顧客が Amazon ECS タスクまたは Amazon EKS ポッドを起動したとします。RegisterUsage API オペレーションは、Amazon ECS タスクまたは Amazon EKS ポッドが起動されたリージョンとは異なるリージョンで呼び出されます。そのため、RegisterUsage API オペレーションでは InvalidRegionException エラーが発生します。

AWS SDK 言語は一貫した方法で AWS_REGION を決定しません。SDK が自動的に AWS_REGION に対応しない場合は、ソフトウェアを手動で作成して AWS_Region を判断する必要があります。例えば、環境変数や他の設定が存在しない場合、AWS SDK for Java は Amazon EC2 インスタンスメタデータ (特に ec2InstanceMetadata) を自動的に使用してリージョンを取得します。このインスタンスでは、AWS_REGION 環境変数が存在しない場合にのみ ec2InstanceMetadata を呼び出します。

ランタイムに AWS リージョン を動的に取得する方法についての詳細は、プログラミング言語に応じた AWS SDK デベロッパーガイド を参照してください。

計測変更の防止

RegisterUsage または MeterUsage への呼び出しを変更あるいは上書きする手段を購入者に提供すると、望ましくない請求および支払い問題が発生することがあります。計測および使用権限ロジックを統合することを強くお勧めします。

計測の変更を防ぐように製品を構築する場合は、次の点に留意してください。

  • 購入者が CMD または ENTRYPOINT 説明を含む新しいイメージレイヤーを挿入できる場合、コンテナイメージを介して購入者が実行しているソフトウェアに RegisterUsage または MeterUsage を直接統合します。そうしないと、ベースイメージからの CMD または ENTRYPOINT を介した RegisterUsage または MeterUsage への呼び出しが購入者によって上書きされる可能性が高まります。

  • ソフトウェアが使用する AWS Marketplace 製品コードを自身で管理して、RegisterUsage または MeterUsage への入力を購入者が変更できないようにすることが推奨されます。ただし、AWS CloudFormation、Helm チャート、Kubernetes マニフェストなど、顧客が上書きできる方法で製品の製品コードを管理する場合、信頼できる AWS Marketplace 製品コードのリストを維持する必要があります。これは、ソフトウェアが入力として RegisterUsage または MeterUsage に渡される製品コードが有効であることを確認するためです。

  • 信頼される製品コードのいずれかが無料製品用の場合、その製品コードが有料製品のコードの代わりに使用できないように確認します。

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 管理ポータル のプライベートオファー作成ツールを使用して、製品のプライベートオファーを作成できます。

ワークフロー統合

以下のステップは、コンテナ製品を AWS License Manager と統合するワークフローを示しています。

  1. 販売者は、AWS License Manager 統合を使用して製品を作成します。

  2. 販売者は製品を AWS Marketplace に出品しています。

  3. 購入者は、AWS Marketplace で製品を見つけて購入します。

  4. ライセンスは、AWS アカウント の購入者に送付されます。

  5. 購入者は Amazon EC2 インスタンス、Amazon ECS タスク、Amazon EKS ポッドソフトウェアを起動してソフトウェアを使用します。顧客は IAM ロールを使用してデプロイします。

  6. ソフトウェアは購入者の AWS License Manager アカウントにあるライセンスを読み取り、購入した使用権限を検出し、それに応じて機能をプロビジョニングします。

    注記

    License Manager は追跡や更新を行いません。これは販売者のアプリケーションによって行われます。