AWS Marketplace のコンテナ製品に新しいバージョンを追加する - AWS Marketplace

AWS Marketplace のコンテナ製品に新しいバージョンを追加する

AWS Marketplace 販売者は、コンテナ製品の新しいバージョンを追加し、バージョンを管理し、バージョン情報を更新できます。製品には、その使用期間中に複数のバージョンがある場合があります。各バージョンには、そのバージョン固有のコンテナイメージセットがあります。以下のトピックでは、コンテナ製品の製品バージョンを管理する方法について説明します。

注記

製品 ID と製品の料金を設定するまで、製品にバージョンを追加できません。これらの手順の詳細については、「ステップ 1: コンテナ製品の製品 ID と製品コードを作成する」を参照してください。

ステップ 1: リポジトリを追加する

製品のコンテナイメージやその他のアーティファクトは、AWS Marketplace のリポジトリに保存されます。通常、必要なアーティファクトごとに 1 つのリポジトリを作成しますが、リポジトリにはアーティファクトの複数のバージョンを (異なるタグで) 保存できます。

注記

製品デプロイ内のすべてのイメージは、AWS Marketplace リポジトリのイメージを使用する必要があります。

次の手順では、AWS Marketplace に必要なリポジトリを追加する方法について説明します。

リポジトリを追加するには
  1. AWS Marketplace 管理ポータルにサインインします。

  2. [製品] メニューで [サーバー] を選択します。

  3. [サーバー製品] タブで、変更する製品を選択し、[変更をリクエスト] ドロップダウンから [リポジトリを追加] を選択します。

  4. 作成するリポジトリの名前を入力します。複数の新しいリポジトリを作成する場合は、追加するリポジトリごとに [新しいリポジトリの追加] を選択し、一意の名前を付けます。

    注記

    リポジトリは次のような構造になります。<repositoryID>.dkr.ecr.us-east-1.amazonaws.com/<sellerName>/<repositoryName>。リポジトリにアイテムを追加すると (以下の手順で)、アイテムにはタグが付けられ、この構造になります。<repositoryID>.dkr.ecr.us-east-1.amazonaws.com/<sellerName>/<repositoryName>:<tag>repositoryID は AWS Marketplace の内部 ID です。sellerName は、販売者アカウント用に作成した名前に基づいています。このステップで respositoryName を定義します。tag は、アーティファクトをリポジトリにアップロードするときに設定されます。

  5. [Submit] (送信) を選択します。

注記

製品ごとに最大 50 個のリポジトリを持つことができます。

新しいリクエストが作成され、[リクエスト] タブに表示されます。完了すると、数分以内に、作成したリポジトリにコンテナイメージやその他のアーティファクトを追加できるようになります。

ステップ 2: コンテナイメージとアーティファクトをリポジトリにアップロードする

コンテナイメージとアーティファクトをリポジトリにアップロードするには
  1. AWS Marketplace 管理ポータルにサインインします。

  2. [製品] メニューの [サーバー] を選択します。

  3. [サーバー製品] タブから、変更する製品を選択します。

  4. [変更をリクエスト] ドロップダウンから [リポジトリを追加] を選択します。

  5. [既存のリポジトリを表示] を選択します。

  6. アップロードするリポジトリを選択します。

  7. [プッシュコマンドを表示] を選択すると、Docker コンテナイメージと Helm チャートをそのリポジトリにプッシュするために使用できるコマンドを含む手順一覧が開きます。

    コンテナイメージやその他のアーティファクトをリポジトリにプッシュする方法に関する一般的な情報については、「Amazon Elastic Container Registry ユーザーガイド」の「イメージのプッシュ」を参照してください。

    注記

    docker pull または docker push を呼び出す時に、次の Amazon Elastic Container Registry (Amazon ECR) API オペレーションを使用できます。

    • DescribeImages - これを使用して、リポジトリ内のイメージに関するメタデータを確認します。

    • GetAuthorizationToken - アーティファクトをリポジトリにアップロードする前に認証を行い、docker pull または docker push コマンドを使用してください。

    • ListImages - プッシュしたイメージのリストを表示する場合に使用します。

  8. リストされているコマンドを使用して、必要なアーティファクトをローカルリポジトリから製品の AWS Marketplace リポジトリにプッシュします。

    注記

    push コマンドで指定した tag は、リポジトリにアップロードするアーティファクトのバージョンを区別するために使用されます。アーティファクトが含まれるバージョンに適したタグを使用してください。

  9. 使用しているバージョンで必要なコンテナイメージまたはアーティファクトごとに同じ手順を繰り返します。

    注記

    バージョンには、各配信オプションに最大 50 個のコンテナイメージまたはアーティファクトを含めることができます。配信オプションの詳細については、以下の手順を参照してください。

アーティファクトをアップロードしたら、製品のバージョンを作成する準備が整います。

注記

コンテナイメージは自動的にスキャンされ、AWS Marketplace 向けのコンテナベース製品の要件 を満たしているかどうかが確認されます。詳細については、「コンテナ製品はセキュリティ上の問題をスキャンします。」を参照してください。

新しい配信オプションの追加

コンテナ製品の各バージョンには、配信オプションが必要です。配信オプションは、購入者が利用できるデプロイオプションを指定します。以下の配信オプションのいずれかに応じて、適切なアーティファクトをリポジトリにアップロードする必要があります。

  • [コンテナイメージ] 配信オプションの場合、製品のインストールに必要なすべてのコンテナイメージを AWS Marketplace コンソールで作成された Amazon Elastic Container Registry (Amazon ECR) にアップロードします。

  • Helm チャート配信オプションでは、Helm チャートイメージとコンテナイメージをAWS Marketplace コンソールで作成された Amazon ECR リポジトリにアップロードします。

  • [Amazon EKS コンソールのアドオン] 配信オプションでは、Helm チャートイメージとコンテナイメージを AWS Marketplace コンソールで作成された Amazon ECR リポジトリにアップロードします。

ステップ 3: コンテナ製品に新しいバージョンを追加する

注記

コンテナに新しいバージョンを追加する際にエラーが発生した場合は、「AWS Marketplace Catalog API リファレンス」の「新しいバージョンの非同期エラーテーブルを追加する」を参照してください。

コンテナ製品に新しいバージョンを追加するには
  1. AWS Marketplace 管理ポータルにサインインします。

  2. [製品] メニューの [サーバー] を選択します。

  3. [サーバー製品] タブで、バージョンを追加する製品を選択します。次に、[変更をリクエスト] ドロップダウンから [新しいバージョンを追加] を選択します。

  4. [新しいバージョンを追加] ページで、使用しているバージョンの [バージョンタイトル][リリースノート] を入力します。

  5. バージョンの詳細を入力したら、次のステップとして、配信オプションを追加します。配信オプションとは、購入者が製品バージョンからソフトウェアを起動するために使用できる指示と情報のセットです。配信オプションは、購入者へのフルフィルメントオプションと呼ばれます。

    注記

    製品は、コンテナイメージが異なる複数のプラットフォーム (Kubernetes および Ubuntu デプロイ) をサポートできます。顧客が製品をセットアップする方法ごとに 1 つの配信オプションを作成できます。1 つの製品に対して最大 4 つの配信オプションを作成できます。

    1. 製品に他のバージョンで既に配信オプションがある場合は、既存のオプションをテンプレートとして使用して、新しいバージョンに配信オプションを追加できます。[配信オプション] で、追加する配信オプションをリストから選択します。オプションは、以降のステップの指示に従って編集できます。

    2. 新しい配信オプションを追加するには、[新しい配信オプション] を選択します。オプションを追加したら、以下のステップの指示に従って設定します。

  6. 配信オプションの配信方法を選択します。配信方法によって、購入者がソフトウェアをどのように起動するかが決まります。

    • [コンテナイメージ] 配信オプションの場合、AWS Marketplace コンソールで作成された Amazon Elastic Container Registry (Amazon ECR) 内のコンテナイメージへのパスを指定します。購入者はコンテナイメージパスを使用してイメージを自分の環境に直接取り込み、ソフトウェアを起動します。

    • [Helm チャート] の配信オプションでは、AWS Marketplace コンソールで作成された Amazon ECR リポジトリ内の Helm チャートへのパスを指定します。購入者はデプロイ環境に Helm チャートをインストールしてソフトウェアを起動します。

    • Amazon EKS コンソールアドオン配信オプションの場合、AWS Marketplace コンソールで作成された Amazon ECR リポジトリの Helm チャートへのパスが指定されます。購入者は、Amazon EKS コンソールまたはネイティブの Amazon EKS アドオン API を使用して、コンテナをインストールし、ソフトウェアを起動します。詳細については、「Amazon EKS で使用できる Amazon EKS アドオン」を参照してください。

    1. [コンテナイメージ] 配信オプションを追加するには、以下のステップを実行します。

      1. [コンテナイメージ] で、製品バージョンのソフトウェアを含むコンテナイメージに Amazon ECR URL を追加します。

      2. [配信オプションのタイトル][デプロイオプションの説明] に、この配信オプションのタイトルと説明を入力します。

      3. [使用説明書] に、購入者がソフトウェアを起動した後に使用するのに役立つ詳細情報を入力します。

      4. [サポート対象のサービス] で、購入者がソフトウェアを起動できる環境を選択します。

      5. [デプロイテンプレート] に、購入者がソフトウェアの起動に使用できるリソースを追加します。各テンプレートのタイトルとリソースの URL を入力します。

    2. Helm チャート配信オプションを追加するには、次の手順を実行します。

      1. Helm チャートで、購入者がデプロイ環境にインストールする Helm チャートに Amazon ECR URL を追加して、ソフトウェアを起動します。

      2. [コンテナイメージ] で、製品バージョンのソフトウェアを含むコンテナイメージに Amazon ECR URL を追加します。

      3. [配信オプションのタイトル][デプロイオプションの説明] に、この配信オプションのタイトルと説明を入力します。

      4. [使用説明書] に、購入者がソフトウェアを起動した後に使用するのに役立つ詳細情報を入力します。

      5. [サポート対象のサービス] で、購入者がソフトウェアを起動できる環境を選択します。

      6. オプション - [Helm リリース名] に、Helm チャートをインストールする Kubernetes 名前空間の名前を入力します。

      7. オプション - [Helm インストール名前空間] に、helm install コマンドが使用する Helm リリースの名前を入力します。

      8. オプション - [Kubernetes サービスアカウント名] に、AWS Identity and Access Management (IAM) の接続に使用するKubernetes サービスアカウントの名前を入力します。Kubernetes サービスアカウントが、ライセンスや計測などの AWS サービスを呼び出します。

      9. この製品バージョンで [QuickLaunch] を有効にします。QuickLaunch は AWS Marketplace の機能です。購入者は QuickLaunch を使用して Amazon EKS クラスターをすばやく作成し、AWS CloudFormation を使用してそのクラスター上でソフトウェアを起動できます。詳細については、「AWS Marketplace での QuickLaunch」を参照してください。

      10. [パラメータをオーバーライドする] に、ソフトウェアを起動する Helm CLI コマンドで使用されるパラメータを入力します。これらのパラメータを使用すると購入者は、指定されたデフォルト値をオーバーライドできます。QuickLaunch を有効にしている場合は、CloudFormation 形式のパラメータ名と説明も入力します。AWS Marketplace マネジメントコンソールの使用には 15 個のパラメータの制限がありますが、AWS Marketplace Catalog API を使用する場合は制限がありません。詳細については、「コンテナベースの製品への新しいバージョンの追加」を参照してください。

        注記

        一部の [パラメータの上書き] は必須です。Amazon EKS Anywhere の製品では、ライセンスシークレットに "${AWSMP_LICENSE_SECRET}"DefaultValue を持つ [上書きパラメータ] が必要です。有料製品では、"${AWSMP_SERVICE_ACCOUNT}"DefaultValue を持つサービスアカウントの設定に対して 1 つの [上書きパラメータ] を指定する必要があります。

      11. コンソール、コマンドラインツール、および API の機密情報をマスクするには、[パスワードとシークレットを非表示] を選択します。詳細については、「AWS CloudFormation ユーザーガイド」の「パラメータ」にある NoEcho パラメータのドキュメントを参照してください。

    3. Amazon EKS コンソールのアドオン配信オプションを追加するには、アーティファクトが Amazon EKS アドオン製品の要件 に準拠していることを確認し、次の手順を実行します。

      注記

      バージョンごとにサポートされる Amazon EKS アドオン配信オプションは 1 つだけです。作業している現在のバージョンが Amazon EKS コンソールで公開されるまで、新しいバージョンを追加することはできません。

      1. Helm チャートで、購入者がデプロイ環境にインストールする Helm チャートに Amazon ECR URL を追加して、ソフトウェアを起動します。

      2. [コンテナイメージ] で、製品バージョンのソフトウェアを含むコンテナイメージに Amazon ECR URL を追加します。Helm チャート内のすべてのイメージがリストされていることを確認します。

      3. [配信オプションのタイトル][デプロイオプションの説明] に、この配信オプションのタイトルと説明を入力します。

      4. [可視性] では、[選択した制限] のデフォルト値が維持されます。

      5. [アドオン名] に、このアドオンの一意の名前を入力します。入力したアドオン名には、Amazon EKS コンソールに表示される間に販売者の名前が付加されます。

      6. [アドオンバージョン] で、このアドオンのインストールまたはアップグレード時に表示されるアドオンのバージョンを入力します。これはフォーマット major.minor.patch に従います。

      7. [アドオンタイプ] で、ドロップダウンリストからアドオンのカテゴリを選択します。

      8. [Kubernetes バージョン] で、アドオンがサポートするすべての Kubernetes バージョンを選択します。

      9. [アーキテクチャ] で、アドオンがサポートするプラットフォームアーキテクチャを選択します。オプションは [AMD64][ARM64] です。互換性を最大化するために、両方のアーキテクチャをサポートすることが推奨されます。アドオンが ARM64 デバイスをサポートしていない場合は、製品がすべての商用 AWS リージョン に公開される前に、サポートの追加を希望する日付を指定する必要があります。

      10. [名前空間] に、アドオンをインストールする一意の Kubernetes 名前空間を入力します。defaultkube-system、および kube-public 名前空間は、サードパーティーのアドオンのインストールではサポートされていません。

      11. Environment Override パラメータでは、Amazon EKS アドオンフレームワークから最大 2 つの環境パラメータを選択できます。values.yaml のパラメータ名を、${AWS_REGION} および ${AWS_EKS_CLUSTER_NAME} の環境変数にマッピングできます。

  7. 他の配信オプションを追加するには、[新しい配信オプション] を選択し、前の手順を繰り返して構成します。

  8. [送信] を選択します。

ステップ 4: バージョン情報を更新する

バージョンが作成されたら、そのバージョンに関連する情報を変更して、更新された情報を購入者に提供すると便利です。例えば、バージョン 1.1 がリリースされた後にバージョン 1.0 を制限する予定であれば、バージョン 1.0 の説明を更新して、購入者をバージョン 1.1 に誘導することができます。バージョン 1.0 が制限される日付を入力してください。バージョン情報は AWS Marketplace 管理ポータル から更新します。

バージョン情報を更新するには
  1. AWS Marketplace 管理ポータルにサインインします。

  2. [製品] メニューで [サーバー] を選択します。

  3. [サーバー製品] タブで、変更する製品を選択します。

  4. [変更をリクエスト] ドロップダウンから [バージョン情報を更新] を選択します。

  5. [バージョンを更新] ページで、更新するバージョンを選択します。

  6. 選択したバージョンを更新します。更新できるフィールドは、製品バージョンまたは配信オプションのステータスによって異なります。

    1. すべてのバージョンで、[リリースノート] を更新できます。

    2. まだ公開されていないバージョンでは、[バージョンタイトル] を更新できます。

    3. 制限されていない配信オプションについては、以下のフィールドを更新できます。

      • 説明

      • [使用手順]

      • [サポートされるサービス]

    4. まだ公開されていないバージョンの配信オプションについては、以下のフィールドを更新できます。

      • [配信オプションタイトル]

      • Helm チャート (Helm チャート配信オプションのみ)

      • コンテナイメージ

      • [デプロイリソース]

      • アドオン名

      • アドオンバージョン

      • アドオンタイプ

      • Helm チャート URI

      • CompatibleKubernetesVersions

      • SupportedArchitectures

      • 名前空間

      • EnvironmentOverrideParameters

    5. 公開されているバージョンの配信オプションについては、SupportedArchitectures を更新できます。

  7. [送信] を選択します。

  8. リクエストが [リクエスト] タブに [レビュー中] ステータスで表示されていることを確認します。

リクエストのステータスは、サーバー製品ページの [リクエスト] タブからいつでも確認できます。

Amazon EKS アドオンのバージョンを制限する

アドオンとして公開されているコンテナ製品のバージョンを制限するには、「AWS Marketplace 管理ポータル」の下部にある連絡先を参照して、AWS Marketplace 運用チームにお問い合わせください。