AWS CloudFormation を使用した AMI ベース配信 - AWS Marketplace

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

AWS CloudFormation を使用した AMI ベース配信

重要

AWS Marketplace では、AWS CloudFormation テンプレートを使用する複数の Amazon マシンイメージ (AMI) 製品の配信方法を 2024 年 8 月に廃止します。この配信方法は、廃止されるまでの間、既存のサブスクライバーのみが利用できます。CloudFormation を使用する他の AWS Marketplace 製品 (CloudFormation を使用する単一 AMI など) は影響を受けません。詳細については、「AWS Marketplace 購入者ガイド」の「AWS CloudFormation テンプレート」を参照してください。

AWS Marketplace の販売者は、AWS CloudFormation テンプレートを使用して AWS Marketplace の購入者に配信する AMI ベースの製品を出品できます。テンプレートを使用して、各製品の分散アーキテクチャまたはクラスターを定義する、または異なる AMI の組み合わせや製品設定を選択できます。CloudFormation テンプレートは、単一または複数の Amazon マシンイメージ (AMI) を、関連する構成ファイルと Lambda 関数と共に配信するように設定できます。購入者は販売者が提供する CloudFormation テンプレートを使用して、AWS Marketplace でソリューションの品ぞろえを参照し、ワンクリックで購入してデプロイできます。

マルチ AMI ソリューションには最大 20 個の AMI と最大 20 個の CloudFormation テンプレートを含めることができます。各 CloudFormation テンプレートは、ソリューションに含まれている AMI の任意の組み合わせまたはサブセットを参照できます。購入者は、1 つのソリューションを購入すると、その製品に含まれているすべての AMI に対する権利を付与されます。製品に複数の AMI があるとき、各 AMI に独自の製品コードがあり、価格設定と測定を別々に実行できます。ただし、ソリューションの個々のコンポーネントは、製品のコンテキスト外で検出可能つまり購買可能ではありません。

既存の単一 AMI 製品がある場合は、製品を新しいマルチ AMI 出品に移行または結合することはできません。ただし、新しいソリューションは、既存の製品を使用した、AMI のソフトウェアまたはコピーと同じ特徴を持つことができます。AWS Marketplace で作成されたそれぞれの出品は、新しい製品コードの付いた出品です。

また、サーバーレスアプリケーションの Lambda 関数を AMI に含めて、購入者が CloudFormation を通じてデプロイできるようにすることもできます。Lambda 関数とサーバーレスアプリケーションを AMI に含める手順については、「サーバーレスアプリケーションコンポーネントの追加」を参照してください。

製品の出品の構築

製品を送信するには、(複数) AMI を準備して検証し、(複数) AWS CloudFormation テンプレートを作成して、アーキテクチャ図を作成します。さらに Product Load Form を完了して、AWS Marketplace にマテリアルを送信する必要があります。AMI を作成および検証することから開始し、CloudFormation テンプレートを完成し検証することをお勧めします。これらの手順が完了したら、アーキテクチャ図を作成し、ソフトウェアとインフラストラクチャの料金を見積もる必要があります。AWS Marketplace は、送信内容を検証し、販売者と連携して製品を公開します。AWS Pricing Calculator を使用すると、テンプレートのインフラストラクチャのコスト見積もりに役立ちます。AWS Marketplace に、保存した見積もりツール設定へのリンクを提供します。マルチ AMI ソリューションの製品には、以下の制限があります。

  • 既存の AWS Marketplace 製品のスタンドアロン製品からマルチ AMI 製品への更新はサポートされていません。製品をマルチ AMI 製品で利用可能にするには、AMI をコピーし、コンポーネントとして新しいマルチ AMI 製品に送信します。生成された AMI には、前回の製品のコードとは異なる一意の製品コードが割り当てられます。

  • マルチ AMI ソリューションは、Amazon Elastic Compute Cloud (Amazon EC2) コンソールの [インスタンスの起動] ページにある [AWS Marketplace] タブには表示されません。

  • CloudFormation テンプレートはマルチ AMI ソリューションにリストされているもの以外の AMI を起動できません。

  • CloudFormation テンプレートは、パブリック URL の形式で送信する必要があります。テンプレートに含まれているネストされたすべてのテンプレート URL もパブリックにアクセス可能である必要があります。

CloudFormation テンプレートの準備

CloudFormation テンプレートを構築するには、テンプレートの前提条件を満たし、必要な入力とセキュリティパラメータを用意する必要があります。CloudFormation テンプレートを送信する場合は、以下のセクションのガイドラインに従ってください。

テンプレートの前提条件

  • AWS CloudFormation コンソールを使用して、製品に対して有効になっているすべての AWS リージョン でテンプレートが正常に起動されることを確認します。TaskCat ツールを使用して、テンプレートをテストできます。

  • 単一の AMI 製品を作成する場合は、テンプレートに 1 つの AMI のみが含まれている必要があります。

  • AMI は各リージョンのマッピングテーブルに存在する必要があります。AWS Marketplace チームはクローンが作成された後に AMI ID を更新します。ソース AMI が us-east-1 にあり、他のリージョンがプレースホルダーを使用できる必要があります。次の YAML の例を参照してください。

    Mappings: RegionMap: us-east-1: ImageId: ami-0123456789abcdef0 us-west-1: ImageId: ami-xxxxxxxxxxxxxxxxx eu-west-1: ImageId: ami-xxxxxxxxxxxxxxxxx ap-southeast-1: ImageId: ami-xxxxxxxxxxxxxxxxx
  • 特定のアベイラビリティーゾーン (AZ) の使用に依存しないようにテンプレートを構築します。すべてのアベイラビリティーゾーンにすべての顧客がアクセスできるとは限りません。AZ はさまざまなアカウントに別々にマッピングされます。

  • AMI には Lambda 関数、設定ファイル、スクリプトなどの依存関係を含めることができます。詳細については、「サーバーレスアプリケーションを作成する」を参照してください。

  • Auto Scaling グループを使用してクラスター化されたソリューションを構築している場合は、スケーリングイベントを考慮することをお勧めします。新規ノードは、自動的に動作クラスターを結合する必要があります。

  • 単一ノードの製品であっても、Auto Scaling グループを使用することをお勧めします。

  • ソリューションに、複数のインスタンスのクラスターが含まれる場合で、インスタンス間でネットワークレイテンシーが低い、またはネットワークスループットが高い、あるいはその両方の場合、プレイスメントグループを使用することを検討してください。

  • ソリューションに Docker コンテナが含まれる場合は、AMI に Docker イメージを組み込む必要があります。

  • AWS Marketplace チームが簡単に確認でき、顧客に対して透明性を確保するため、[UserData] セクションにコメントを追加することをお勧めします。

テンプレート入力パラメータ

  • テンプレートへの入力パラメータには、AWS Marketplace の顧客の AWS 認証情報 (パスワード、パブリックキー、プライベートキー、証明書など) を含めることはできません。

  • パスワードなどの機密入力パラメータには、NoEcho プロパティを選択し、強力な正規表現を有効にします。他の入力パラメータでは、最も一般的な入力を適切なヘルパーテキストで設定します。

  • 入力に AWS CloudFormation パラメータタイプを使用します (使用可能の場合)。

  • AWS::CloudFormation::Interface を使用し入力パラメータをグループ化およびソートします。

  • 以下の入力パラメータにはデフォルト値を設定しないでください。

    注記

    顧客は、これらを入力パラメータとして指定する必要があります。

    • パブリックインターネットからリモートアクセスポートへの進入を許可するデフォルトの CIDR 範囲

    • パブリックインターネットからデータベース接続ポートへの進入を許可するデフォルトの CIDR 範囲

    • ユーザーまたはデータベースのデフォルトパスワード

ネットワークおよびセキュリティパラメータ

  • デフォルトの SSH ポート (22) または RDP ポート (3389) が 0.0.0.0 に対して開かれていないことを確認します。

  • デフォルトの VPC (仮想プライベートクラウド) を使用する代わりに、適切な ACL (アクセスコントロールリスト) とセキュリティグループを設定した VPC を作成することをお勧めします。

  • 顧客の AWS 環境へのアクセスを、AWS Security Token Service から AssumeRole を呼び出す AWS Identity and Access Management (IAM) ロールを使用して有効にします。

  • IAM ロールとポリシーに最小特権を付与し、絶対に必要な場合のみに書き込みアクセスを有効にします。たとえば、アプリケーションで S3:GETPUT および DELETE オペレーションのみが必要な場合に、これらのアクションのみを指定します。この場合に、S3:* の使用はお勧めしません。

テンプレートを受信したら、AWS Marketplace が製品の設定と情報を確認し、すべての必須リビジョンにフィードバックを提供します。

テンプレートインフラストラクチャの料金見積りの取得

顧客に提示される各テンプレートのインフラストラクチャの料金見積もりは、AWS Pricing Calculator を使用して指定した見積もりに基づくものです。この見積もりには、一般的なデプロイ向けのデフォルト値とともにテンプレートの一部として、デプロイされるサービスのリストが含まれている必要があります。

テンプレートの月額推定料金の計算後に、米国東部 (バージニア北部) リージョン向けの [保存して共有] リンクを AWS Marketplace に設定します。これは、送信プロセスの一部です。

アーキテクチャ図

各テンプレートのアーキテクチャ図を用意する必要があります。図は次の基準を満たしている必要があります。

  • AWS の標準デプロイメントを図示

  • AWS CloudFormation テンプレートを使用してデプロイされた各 AWS のサービス の AWS 製品アイコンを使用

  • AWS CloudFormation テンプレートによってデプロイされるすべてのサービスのメタデータを含む

  • AWS CloudFormation テンプレートによってデプロイされるすべてのネットワーク、VPC、サブネットを含む

  • サードパーティーのアセット、API およびオンプレミス、ハイブリッドアセットを含む、統合ポイントを表示

  • サイズが 1100 x 700 ピクセルである

    注記

    トリミングや拡大が必要ないように、次に示すとおり、図がこのサイズ要件を満たしていることを確認します。

送信要件の一致

AWS CloudFormation テンプレートを使用して配信される製品を申請するには、以下のリソースを指定する必要があります。

  • CloudFormation テンプレート (1 つまたは複数)

    • 単一 AMI 製品には、1~3 個の CloudFormation テンプレートを含めることができます。

    • マルチ AMI 製品には、最大 20 個の CloudFormation テンプレートを含めることができます。

  • 各テンプレートのデフォルト設定に対するインフラストラクチャの見積もり価格。

  • アーキテクチャ図とアーキテクチャメタデータ

  • 入力済みの Product Form (AWS Marketplace 管理ポータル から利用可能)

    • 単一 AMI 製品では、商用製品フォームを使用します。

    • マルチ AMI 製品では、Multi-AMI Product フォームを使用します。

製品フォームには、リファレンスとして送信情報の例が含まれます。

各製品では、必須製品データとメタデータの大半は、従来の単一 AMI 製品の場合と同じです。したがって、CloudFormation テンプレートを使用して配信される各 AMI は、AWS Marketplace 向けに記述された標準および要件を継続的に満たす必要があります。

各 CloudFormation テンプレートについて、次の情報も指定する必要があります。

フィールド 説明 制限事項
タイトル アーキテクチャのタイトル。これは詳細ページとフルフィルメントページ、およびアーキテクチャ詳細を表示するポップアップに表示されます。 50 文字
短い説明 詳細およびフルフィルメントのページに表示されます。 200 文字
長い説明 これはアーキテクチャ詳細ポップアップに表示されます。 2000 文字

マルチ AMI 製品については、以下のフィールドが必須です。

  • ソリューションのタイトル

  • ソリューションの短い説明

  • ソリューションの長い説明

  • CloudFormation テンプレート (ソリューションあたり最大 20)

    • デプロイメントタイトル (テンプレートごと)

    • 短い説明 (テンプレートごと)

    • 長い説明 (テンプレートごと)

    • アーキテクチャの図 (テンプレートごと)

    • インフラストラクチャの料金表見積もり (テンプレートごと)

    • この CloudFormation テンプレートに含まれている製品/コンポーネントのリスト

    • この CloudFormation テンプレートでサポートされているリージョンのリスト

製品リクエストの送信

AWS Marketplace 管理ポータル を使用して、製品を送信します。[アセット] タブで、[ファイルのアップロード] を選択します。送信するファイルをアップロードし、簡単な説明を入力します。YAML と JSON の両方のファイル形式に対応しています。リクエストの処理には 3~5 週間かかります。これには、以下の処理が含まれます。

  • CloudFormation テンプレート、AMI、および AMI と CloudFormation テンプレートのメタデータのレビュー

  • AWS Marketplace 製品への CloudFormation テンプレートの発行