共有特定の AWS アカウントと AMI をする - Amazon Elastic Compute Cloud

共有特定の AWS アカウントと AMI をする

AMI を一般公開せず、特定の AWS アカウントとだけ共有することもできます。必要なものは AWS アカウント ID のみです。共有化できるのは、暗号化されていないボリュームと、カスタマーマネージド CMK で暗号化されたボリュームを持つ AMI のみです。AMI を暗号化されたボリュームと共有する場合、ボリュームの暗号化に使用した CMK も共有する必要があります。詳細については、「Amazon EBS スナップショットの共有」を参照してください。AWS マネージド CMK で暗号化されたボリュームを持つ AMI は共有できません。

AMI はリージョンのリソースです。そのため、共有した AMI は、そのリージョンで利用可能になります。AMI を他のリージョンで利用できるようにするには、AMI をそのリージョンにコピーし、共有します。詳細については、「コピー」を参照してください。

AMI を共有できる AWS アカウントの数に制限はありません。共有 AMI にアタッチしたユーザー定義のタグは、自分の AWS アカウントでのみ利用でき、AMI を共有している他のアカウントでは使用できません。

AMI の (コンソール)

コンソールを使用して明示的な起動許可を与えるには

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

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

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

  4. [AWS Account Number] フィールドに AMI を共有するユーザーの AWS アカウント番号を指定し、[Add Permission] を選択します。

    この AMI を複数のユーザーと共有するには、この手順を繰り返して、必要なすべてのユーザーを追加します。

  5. スナップショットのボリューム作成権限を与えるには、[Add "create volume" permissions to the following associated snapshots when creating permissions] を選択します。

    注記

    AMI を共有するために、AMI の参照先の Amazon EBS スナップショットを共有する必要はありません。共有する必要があるのは AMI 自体だけです。起動の際に、参照先の Amazon EBS スナップショットへのインスタンスアクセスが自動的に提供されます。ただし、AMI が参照するスナップショットを暗号化するために使用した CMK は共有する必要があります。詳細については、「Amazon EBS スナップショットの共有」を参照してください。

  6. 完了したら、[保存] を選択します。

  7. (オプション) AMI を共有した AWS アカウント ID を表示するには、リストで AMI を選択し、[アクセス許可] タブを選択します。共有されている AMI を見つけるには、「検索共有 AMI の」を参照してください。

AMI の (AWS CLI)

AMI を共有するには、次の例のように modify-image-attribute コマンド (AWS CLI) を使用します。

明示的な起動許可を与えるには

次のコマンドを使用すると、指定した AWS アカウントに指定した AMI の起動許可が与えられます。

aws ec2 modify-image-attribute \ --image-id ami-0abcdef1234567890 \ --launch-permission "Add=[{UserId=123456789012}]"

次のコマンドは、スナップショットのボリューム作成権限を付与します。

aws ec2 modify-snapshot-attribute \ --snapshot-id snap-1234567890abcdef0 \ --attribute createVolumePermission \ --operation-type add \ --user-ids 123456789012
注記

AMI を共有するために、AMI の参照先の Amazon EBS スナップショットを共有する必要はありません。共有する必要があるのは AMI 自体だけです。起動の際に、参照先の Amazon EBS スナップショットへのインスタンスアクセスが自動的に提供されます。ただし、AMI が参照するスナップショットを暗号化するために使用した CMK は共有する必要があります。詳細については、「Amazon EBS スナップショットの共有」を参照してください。

アカウントに与えた起動許可を取り消すには

次のコマンドを使用すると、指定した AWS アカウントから指定した AMI の起動許可が削除されます。

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

次のコマンドは、スナップショットのボリューム作成権限を削除します。

aws ec2 modify-snapshot-attribute \ --snapshot-id snap-1234567890abcdef0 \ --attribute createVolumePermission \ --operation-type remove \ --user-ids 123456789012

すべての起動許可を取り消すには

次のコマンドを使用すると、指定した AMI からパブリック起動許可と明示的起動許可がすべて削除されます。AMI の所有者には常に起動許可が与えられるため、このコマンドの影響を受けないことにご注意ください。

aws ec2 reset-image-attribute \ --image-id ami-0abcdef1234567890 \ --attribute launchPermission