でAMIs使用するために を構築するためのベストプラクティス AWS Marketplace - AWS Marketplace

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

でAMIs使用するために を構築するためのベストプラクティス AWS Marketplace

このトピックでは、 で使用する Amazon マシンイメージ (AMIs) の構築に役立つベストプラクティスとリファレンスについて説明します AWS Marketplace。AMIs に構築され、送信される AWS Marketplace は、すべての AWS Marketplace 製品ポリシーに従う必要があります。詳細については、次のセクションを参照してください。

再販権の確保

お客様は、 AWSが提供する Amazon Linux、、RHEL、SUSEおよび Windows を除き、無料ではない Linux ディストリビューションの再販権を保護する責任がありますAMIs。

の構築 AMI

の構築には、次のガイドラインを使用しますAMIs。

  • がルートログインの無効化を含むすべての AWS Marketplace ポリシーAMIを満たしていることを確認します。

  • 米国東部 (バージニア北部) リージョンAMIで を作成します。

  • Amazon Elastic Block Store (Amazon EBS) がAMIsサポートする、メンテナンスの行き届いた既存の製品から、 などの信頼できる信頼できるソースが提供するライフサイクルを明確に定義して製品を作成します AWS Marketplace。

  • ほとんどの up-to-dateオペレーティングシステム、パッケージ、ソフトウェアAMIsを使用して構築します。

  • ハードウェア仮想マシン (HVM) の仮想化と 64 ビットアーキテクチャAMIを使用するパブリックからすべての を開始AMIsする必要があります。

  • の構築、更新、再発行の反復可能なプロセスを開発しますAMIs。

  • すべてのバージョンと製品で一貫したオペレーティングシステム (OS) ユーザー名を使用します。ec2-user をお勧めします。

  • 実行中のインスタンスをファイナルから必要なエンドユーザーエクスペリエンスAMIに設定し、 に送信する前にすべてのインストール方法、機能、パフォーマンスをテストします AWS Marketplace。

  • 以下のようにポート設定を確認してください。

    • Linux ベース AMIs – 有効なSSHポートが開いていることを確認します。デフォルトのSSHポートは 22 です。

    • Windows ベース AMIs – RDP ポートが開いていることを確認します。デフォルトのRDPポートは 3389 です。また、WinRM ポート (デフォルトは 5985) は 10.0.0.0/16 と 10.2.0.0/16 に開いている必要があります。

の作成の詳細についてはAMI、次のリソースを参照してください。

AMI 用の の準備と保護 AWS Marketplace

安全な を作成するために、次のガイドラインをお勧めしますAMIs。

  • Amazon EC2ユーザーガイドの共有 Linux のガイドラインAMIsを使用する

  • アタックサーフェスを減らすAMIために、最小限のインストールとしてデプロイするように をアーキテクトします。不要なサービスやプログラムを無効にするか、削除します。

  • 可能な限り、ネットワークトラフィックには暗号化を使用します end-to-end。例えば、Secure Sockets Layer (SSL) を使用して、お客様と購入者間のHTTPセッションを保護します。サービスが有効な証明書と up-to-date証明書のみを使用していることを確認します。

  • AMI 製品に新しいバージョンを追加するときは、インスタンスへのインバウンドトラフィックアクセスを制御するようにセキュリティグループを設定します。セキュリティグループが、サービスに必要な機能を提供するために必要な最小ポートセットにのみアクセスできるように設定されていることを確認します。最小セットのポートと必要な送信元 IP アドレス範囲に対してのみ管理アクセスを許可します。AMI 製品に新しいバージョンを追加する方法の詳細については、「」を参照してください新しいバージョンを追加する

  • AWS コンピューティング環境に対して定期的にペネトレーションテストを実施することを検討してください。または、ユーザーに代わってそのようなテストを実行するために第三者を採用することを検討してください。ペネトレーションテストリクエストフォームなど詳細は、「AWS ペネトレーションテスト」を参照してください。

  • ウェブアプリケーションのトップ 10 の脆弱性に気づき、必要に応じてアプリケーションを構築してください。詳細については、「Open Web Application Security Project (OWASP) - Top 10 Web Application Security Risks」を参照してください。新しいインターネットの脆弱性が発見されたら、 に付属しているウェブアプリケーションを迅速に更新しますAMI。この情報を含むリソースの例は、 SecurityFocusおよび NIST National Vulnerability Database です。

セキュリティの詳細については、以下の関連リソースを参照してください。

のパブリッシュ要件AMIのスキャン

を新しい製品またはバージョンとして送信AMIする前に を検証するには、セルフサービススキャンを使用できます。セルフサービススキャナーは、パッチが適用されていない一般的な脆弱性と露出 (CVEs) をチェックし、セキュリティのベストプラクティスに従っていることを確認します。詳細については、「AMI 用の の準備と保護 AWS Marketplace」を参照してください

から AWS Marketplace 管理ポータル、アセットメニューから Amazon マシンイメージを選択します。追加AMIを選択してスキャンプロセスを開始します。このページに戻るAMIsと、 のスキャンステータスを確認できます。

注記

AWS Marketplace へのアクセス許可についてはAMI、「」を参照してくださいAWS Marketplace へのアクセスの許可 AMI

でソフトウェアが実行されていることを確認する AWS Marketplace AMI

実行時にAMI、製品から作成された Amazon EC2インスタンスで実行されていることをソフトウェアに確認してもらうこともできます。

Amazon EC2インスタンスがAMI製品から作成されていることを確認するには、Amazon に組み込まれているインスタンスメタデータサービスを使用しますEC2。以下のステップでは、この検証を順を追って説明します。メタデータサービスの使用の詳細については、「Amazon Elastic Compute Cloud ユーザーガイド」の「インスタンスメタデータとユーザーデータ」を参照してください。

  1. インスタンスアイデンティティドキュメントの取得

    実行中の各インスタンスには、インスタンスからアクセス可能な、インスタンス自体に関するデータを提供するアイデンティティドキュメントが用意されています。次の例は、インスタンスから curl を使用してインスタンスのアイデンティティドキュメントを取得する方法を示しています。

    curl http://169.254.169.254/latest/dynamic/instance-identity/document { "accountId" : "0123456789", "architecture" : "x86_64", "availabilityZone" : "us-east-1e", "billingProducts" : null, "devpayProductCodes" : null, "marketplaceProductCodes" : [ "0vg0000000000000000000000" ], "imageId" : "ami-0123456789abcdef1", "instanceId" : "i-0123456789abcdef0", "instanceType" : "t2.medium", "kernelId" : null, "pendingTime" : "2020-02-25T20:23:14Z", "privateIp" : "10.0.0.2", "ramdiskId" : null, "region" : "us-east-1", "version" : "2017-09-30" }
  2. インスタンスアイデンティティドキュメントの検証

    署名を使用して、インスタンスアイデンティティが正しいことを確認できます。このプロセスの詳細については、「Amazon Elastic Compute Cloud ユーザーガイド」の「インスタンスアイデンティティドキュメント」を参照してください。

  3. 製品コードの検証

    AMI 最初に製品を公開用に送信すると、製品には によって製品コードが割り当てられます AWS Marketplace。製品コードは、インスタンスアイデンティティドキュメントの marketplaceProductCodes フィールドを確認すると検証できます。または、メタデータサービスから直接取得することもできます。

    curl http://169.254.169.254/latest/meta-data/product-codes 0vg0000000000000000000000

    製品コードがAMI製品のコードと一致する場合、インスタンスは製品から作成されました。

instanceId やインスタンス privateIp など、インスタンスアイデンティティドキュメントから他の情報を確認したい場合もあります。