AMI の公開 - Amazon Elastic Compute Cloud

AMI の公開

ご自分の AMI を他の AWS アカウント と共有できます。すべての AWS アカウント で AMI を使用してインスタンスを起動できるようにするには、AMI を公開します。特定のアカウントのみが AMI を使用してインスタンスを起動可能にする方法については、「特定の AWS アカウントとの AMI の共有」を参照してください。

考慮事項

AMI を公開する前に、以下の点を検討してください。

  • 公開できない AMI - 次のコンポーネントが含まれる AMI は公開できません (ただし、AMI を特定の AWS アカウント と共有することはできます)。

    • 暗号化されたボリューム

    • 暗号化されたボリュームのスナップショット

    • 製品コード

  • 機密データが公開されないようにする - AMI を共有するときに機密データが公開されないようにするには、「共有 Linux AMI のガイドライン」のセキュリティ考慮事項を読み、推奨アクションに従います。

  • リージョン – AMI はリージョンのリソースです。共有した AMI は、共有したリージョンでのみ使用できます。AMI を他のリージョンで利用できるようにするには、AMI をそのリージョンにコピーし、共有します。詳細については、AMI のコピー を参照してください。

  • 使用 — AMI を共有する場合、ユーザーは AMI からのインスタンスのみを起動できます。AMI はそれを削除、共有、または変更することはできません。ただし、AMI を使用してインスタンスを起動した後は、起動したインスタンスから AMI を作成できます。

  • 自動非推奨 – すべてのパブリック AMI を非推奨にする日はデフォルトで AMI 作成日の 2 年後になっています。非推奨にする日は 2 年より前の日付に設定できます。非推奨にする日を取り消す場合や、非推奨にする日をもっと先の日付に変える場合は、AMI を特定の AWS アカウント とのみ共有するようにして、AMI を非公開にする必要があります。

  • 請求 — 他の AWS アカウント がお客様の AMI を使用してインスタンスを起動しても、お客様には請求されません。AMI を使用してインスタンスを起動するアカウントには、起動するインスタンスに対して請求されます。

すべての AWS アカウントでの AMI の共有 (コンソール)

AMI を公開した後、コンソールを使用して同じリージョン内でインスタンスを起動すると、その AMI が [Community AMIs] に表示されます。AMI は、公開してから [Community AMIs] に表示されるまでに、しばらく時間がかかることもあります。また、AMI を非公開にした場合も、[Community AMIs] (コミュニティ AMI) から削除されるまでにしばらく時間がかかることがあります。

New console

コンソールを使用してパブリック AMI を共有するには

  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

  2. ナビゲーションペインで [AMIs] (AMI) を選択します。

  3. リストから AMI を選択し、[Actions] (アクション) から [Edit AMI permissions] (AMI 権限の編集) を選択します。

  4. [Public] (パブリック)、[Save changes] (変更を保存) の順に選択します。

Old console

コンソールを使用してパブリック AMI を共有するには

  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

  2. ナビゲーションペインで [AMIs] を選択します。

  3. リストから AMI を選択し、[Actions] から [Modify Image Permissions] を選択します。

  4. [Public] (パブリック) を選択し、[Save] (保存) を選択します。

すべての AWS アカウント での AMI の共有 (AWS CLI)

各 AMI には、所有者以外でその AMI を使用してインスタンスを起動できる AWS アカウント を制御する launchPermission プロパティがあります。AMI の launchPermission プロパティを変更することで、AMI を公開したり(この場合、すべての AWS アカウント に起動許可が与えられます)、指定した AWS アカウント とのみ AMI を共有したりすることができます。

AMI の起動許可を持っているアカウントの一覧に対してアカウント ID の追加または削除ができます。AMI を公開するには、all グループを指定します。パブリック起動許可と明示的起動許可の両方を指定できます。

[To make an AMI public]

  1. 次のように、modify-image-attribute コマンドを使用して、指定した AMI の launchPermission リストに all グループを追加します。

    aws ec2 modify-image-attribute \ --image-id ami-0abcdef1234567890 \ --launch-permission "Add=[{Group=all}]"
  2. AMI の起動許可を確認するには、describe-image-attribute コマンドを使用します。

    aws ec2 describe-image-attribute \ --image-id ami-0abcdef1234567890 \ --attribute launchPermission
  3. (オプション) AMI をプライベートに戻すには、その起動許可から all グループを削除します。AMI の所有者には常に起動許可が与えられるため、このコマンドの影響を受けないことにご注意ください。

    aws ec2 modify-image-attribute \ --image-id ami-0abcdef1234567890 \ --launch-permission "Remove=[{Group=all}]"