Amazon EC2 AMI のコピー
複数のリージョンを横断する、一貫性のある Amazon EC2 インスタンス設定が必要な場合は、すべてのインスタンスを起動するための単一の Amazon マシンイメージ (AMI) をテンプレートとして使用します。ただし、AMI はリージョンに固有のリソースであるため、特定の AWS リージョンでインスタンスを起動するときは、そのリージョンに AMI を配置する必要があります。したがって複数のリージョンで同じ AMI を使用するときは、その AMI をソースのリージョンからターゲットとなる各リージョンにコピーする必要があります。
AMI をコピーする方法は、同じパーティション内のリージョン間でコピーするか、異なるパーティションのリージョン間でコピーするかによって異なります。
-
クロスリージョンコピー – AMI を同じパーティション内のリージョン間でコピーします。例えば、商用パーティション内のリージョン間でコピーするなどです。この方法については本トピックで説明します。
-
クロスパーティションコピー – AMI を特定のパーティションから別のパーティションにコピーします。例えば、商用パーティションから AWS GovCloud (US) パーティションにコピーするなどです。この方法の詳細については「AMI を保存および復元する」を参照してください。
-
クロスアカウントコピー – 別の AWS アカウントがお使いの AWS アカウントと共有している AMI のコピーを作成します。この方法については本トピックで説明します。
クロスリージョンコピーとクロスアカウンコピーの完了までに要する時間は、ベストエフォートベースとなります。完了時間をコントロールする必要がある場合は、15 分から 48 時間までの範囲で完了時間を指定して、AMI が所定の時間内にコピーされるようにすることができます。時間ベースの AMI コピー操作には追加料金が適用されます。詳細については、「Amazon EBS ユーザーガイド」の「料金と請求」を参照してください。
考慮事項
-
AMI をコピーするためのアクセス許可 – IAM ポリシーを使用すると、AMI をコピーするためのアクセス許可をユーザーに付与したり、それを拒否したりできます。2024 年 10 月 28 日以降、ソース AMI の CopyImage
アクションにリソースレベルのアクセス許可を指定できます。新しい AMI のリソースレベルのアクセス許可は以前と同様に利用できます。
-
起動許可と Amazon S3 バケット許可 – AWS は、起動許可と Amazon S3 バケット許可をソース AMI から新しい AMI にコピーしません。コピー操作が完了したら、新しいAMIに起動パーミッションと Amazon S3バケットパーミッションが適用できます。
-
タグ – コピーできるのは、ソース AMI にアタッチされているユーザー定義の AMI タグだけです。システムタグ (aws:
プレフィックスが付いている) や、他の AWS アカウント がアタッチしたユーザー定義タグはコピーされません。AMI をコピーするときに、新しい AMI とそのバックアップスナップショットに新しいタグをアタッチできます。
-
時間ベースの AMI コピーのクォータ – 累積スナップショットコピースループットクォータに達すると、それ以降の時間ベースの AMI コピーリクエストは失敗します。詳細については「Amazon EBS ユーザーガイド」の「クォータ」を参照してください。
-
サポートされている送信元と送信先のコピー – コピーできるかどうか、および新しい AMI で許可される送信先はソース AMI の場所によって決まります。
-
1 つのリージョンにあるソース AMI は、そのリージョン内、別のリージョン、そのリージョンに関連付けられた Outpost、またはそのリージョン内のローカルゾーンにコピーできます。
-
1 つのローカルゾーンにあるソース AMI は、そのローカルゾーン内、そのローカルゾーンの親リージョン、または同じ親リージョンを持つ他の特定のローカルゾーンにコピーできます。
-
Outpost にあるソース AMI はコピーできません。
-
送信元と送信先の CLI パラメータ – CLI を使用する場合、次のパラメータを使用して、コピーする AMI の送信元の場所と新しい AMI の送信先を指定できます。コピーオペレーションはコピー先リージョンで開始する必要があります。--region
パラメータを省略すると、AWS CLI 設定で構成されているデフォルトのリージョンがコピー先になります。
送信先 |
送信元パラメータ |
送信先パラメータ |
リージョン間のコピー |
--source-region |
--region |
リージョンから Outpost |
--source-region |
--destination-outpost-arn (Outpost の ARN) |
リージョンからローカルゾーン |
--source-region
ローカルゾーンの親リージョンである必要があります。
|
--destination-availability-zone (ローカルゾーンの名前) または --destination-availability-zone-id (ローカルゾーンの ID) |
ローカルゾーンからリージョン |
--source-region
ローカルゾーンの親リージョンである必要があります。
送信元のローカルゾーンは、指定されたソース AMI ID の場所から継承されます。
|
--region
ローカルゾーンの親リージョンである必要があります。
|
ローカルゾーンからローカルゾーン |
--source-region ローカルゾーンの親リージョンである必要があります。 送信元のローカルゾーンは、指定されたソース AMI ID の場所から継承されます。 |
--destination-availability-zone (ローカルゾーンの名前) または --destination-availability-zone-id (ローカルゾーンの ID) |
コスト
完了時間を指定しない場合、AMI のコピーに料金はかかりません。ただし、時間を指定して AMI をコピーした場合は、追加料金がかかります。詳細については、「Amazon EBS ユーザーガイド」の「料金と請求」を参照してください。
標準のストレージ料金とデータ転送料金が適用されます。EBS-backed AMI をコピーする場合は、追加の EBS スナップショットのストレージに対して料金が発生します。
AMI のコピー
コピーできるのは、自分が所有している AMI、または別のアカウントから共有された AMI です。サポートされている送信元と送信先の組み合わせについては、「考慮事項」を参照してください。
- Console
-
AMI をコピーするには
Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。
-
コンソールのナビゲーションバーから、AMI を含むリージョンを選択してください。
-
ナビゲーションペインで、[AMI] を選択し、リージョンで利用できる AMI のリストを表示します。
-
コピーする AMI が表示されない場合は、別のフィルターを選択してください。AMI は、[自己所有]、[プライベートイメージ]、[パブリックイメージ]、および [無効化されたイメージ] でフィルタリングできます。
-
コピーする AMI を選択して、[アクション]、[AMI のコピー] の順に選択してください。
-
[Amazon マシンイメージ (AMI) をコピー] のページで、次の情報を指定します。
-
[AMI コピー名] : 新しい AMI の名前。この名前にはオペレーティングシステム情報を含めることができます (Amazon EC2 は AMI の詳細を表示するときにこの情報を提供しません)。
-
[AMI コピーの説明] : デフォルトでは、オリジナルからコピーを見分けられるように、ソース AMI に関する情報が説明に含まれています。この説明は必要に応じて変更できます。
-
[送信先リージョン] : AMI をコピーするリージョン。詳細については、「リージョン間のコピー」および「アカウント間のコピー」を参照してください。
-
[タグのコピー]: このチェックボックスをオンにし、AMI のコピー時にユーザー定義の AMI タグを含めます。システムタグ (aws:
プレフィックスが付いている) や、他の AWS アカウント がアタッチしたユーザー定義タグはコピーされません。
-
時間ベースのコピー: 次のように、指定した時間内にコピーを完了させるか、ベストエフォートベースで完了させるかを指定できます。
-
指定した時間内にコピーを完了させるには:
-
[時間ベースのコピーを有効にする] を選択します。
-
[完了時間] に、コピーに割り当てる時間 (分) を 15 分単位で入力します。完了期間は、AMI に関連付けられているすべてのスナップショットに適用されます。
詳細については、「Amazon EBS ユーザーガイド」の「料金と請求」を参照してください。
-
ベストエフォートベースでコピーを完了するには:
-
(EBS バックされた AMI のみ) [AMI コピーの EBS スナップショットを暗号化]: ターゲットスナップショットを暗号化するか、別のキーを使用して再暗号化する場合、このチェックボックスを選択してください。デフォルトで暗号化を有効にしている場合、[AMI コピーの EBS スナップショットを暗号化] チェックボックスがオンになり、オフにできません。詳細については、「暗号化とコピー」を参照してください。
-
(EBS-backed AMI のみ) [KMS キー]: ターゲットスナップショットを暗号化するための KMS キー。
-
[タグ]: 新しい AMI と新しいスナップショットに同じタグを付けることも、異なるタグでタグ付けすることもできます。
-
新しい AMI と新しいスナップショットに同じタグを付けるには、[イメージとスナップショットに対し一緒にタグを付けます] を選択してください。新しい AMI と作成されるすべてのスナップショットには、同じタグが適用されます。
-
新しい AMI と新しいスナップショットに異なるタグを付けるには、[イメージとスナップショットに対し個別にタグを付けます] を選択してください。新しい AMI と作成されるスナップショットには、異なるタグが適用されます。ただし、作成されるすべての新しいスナップショットには同じタグが付けられることに注意してください。新しいそれぞれのスナップショットに異なるタグを付けることはできません。
(オプション) タグを追加するには、[タグ追加] を選択し、そのタグのキーと値を入力してください。各タグについて、これを繰り返します。
-
AMI をコピーする準備ができたら、[AMI のコピー] を選択してください。
新しい AMI の初期ステータスは Pending
です。ステータスが Available
になると、AMI のコピー操作は完了です。
- AWS CLI
-
リージョン間で AMI をコピーするには
copy-image コマンドを使用します。コピー元リージョンおよび送信先リージョンの両方を指定する必要があります。コピー元のリージョンは、--source-region
パラメータを使用して指定します。--region
パラメータを使用して送信先リージョンを指定できます (このパラメータを省略すると AWS CLI 設定で構成されているデフォルトのリージョンが使用されます)。
aws ec2 copy-image \
--source-image-id ami-0abcdef1234567890
\
--source-region us-west-2
\
--name my-ami
\
--region us-east-1
AMI のコピー時にターゲットスナップショットを暗号化する場合は、追加のパラメータを (--encrypted
および --kms-key-id
) を指定する必要があります。
リージョンからローカルゾーンに AMI をコピーするには
copy-image コマンドを使用します。送信元と送信先の両方を指定する必要があります。コピー元のリージョンは、--source-region
パラメータを使用して指定します。送信先のローカルゾーンは、--destination-availability-zone
パラメータを使用して指定します (--destination-availability-zone-id
を使用することもできます)。リージョン内の AMI は、同じリージョン内のローカルゾーンにのみコピーできます。
aws ec2 copy-image \
--source-image-id ami-0abcdef1234567890
\
--source-region cn-north-1
\
--destination-availability-zone cn-north-1-pkx-1a
\
--name my-ami
\
--region cn-north-1
ローカルゾーンからリージョンに AMI をコピーするには
copy-image コマンドを使用します。送信元と送信先の両方を指定する必要があります。コピー元のリージョンは、--source-region
パラメータを使用して指定します。--region
パラメータを使用して送信先リージョンを指定します (このパラメータを省略すると AWS CLI 設定で構成されているデフォルトのリージョンが使用されます)。送信元のローカルゾーンは、指定されたソース AMI ID の場所から継承されます。ローカルゾーンの AMI は、そのローカルゾーンの親リージョンにのみコピーできます。
aws ec2 copy-image \
--source-image-id ami-0abcdef1234567890
\
--source-region cn-north-1
\
--name my-ami
\
--region cn-north-1
ローカルゾーン間で AMI をコピーするには
copy-image コマンドを使用します。送信元と送信先の両方を指定する必要があります。送信元のローカルゾーンのリージョンは、--source-region
パラメータを使用して指定します。送信先のローカルゾーンは、--destination-availability-zone
パラメータを使用して指定します (--destination-availability-zone-id
を使用することもできます)。送信元のローカルゾーンは、指定されたソース AMI ID の場所から継承されます。--region
パラメータを使用して送信先ローカルゾーンの親リージョンを指定します (このパラメータを省略すると AWS CLI 設定で構成されているデフォルトのリージョンが使用されます)。
aws ec2 copy-image \
--source-image-id ami-0abcdef1234567890
\
--source-region cn-north-1
\
--destination-availability-zone cn-north-1-pkx-1a
\
--name my-ami
\
--region cn-north-1
- PowerShell
-
リージョン間で AMI をコピーするには
Copy-EC2Image コマンドレットを使用します。コピー元リージョンおよび送信先リージョンの両方を指定する必要があります。コピー元のリージョンは、-SourceRegion
パラメータを使用して指定します。送信先リージョンは、-Region
パラメータ、または Set-AWSDefaultRegion コマンドレットを使用して指定できます。
Copy-EC2Image `
-SourceImageId ami-0abcdef1234567890
`
-SourceRegion us-west-2
`
-Name my-ami
`
-Region us-east-1
AMI のコピー時にターゲットスナップショットを暗号化する場合は、追加のパラメータを (-Encrypted
および -KmsKeyId
) を指定する必要があります。
リージョンからローカルゾーンに AMI をコピーするには
Copy-EC2Image コマンドレットを使用します。送信元と送信先の両方を指定する必要があります。コピー元のリージョンは、-SourceRegion
パラメータを使用して指定します。送信先のローカルゾーンは、-DestinationAvailabilityZone
パラメータを使用して指定します (-DestinationAvailabilityZoneId
を使用することもできます)。リージョン内の AMI は、同じリージョン内のローカルゾーンにのみコピーできます。
Copy-EC2Image `
-SourceImageId ami-0abcdef1234567890
`
-SourceRegion cn-north-1
`
-DestinationAvailabilityZone cn-north-1-pkx-1a
`
-Name my-ami
`
-Region cn-north-1
ローカルゾーンからリージョンに AMI をコピーするには
Copy-EC2Image コマンドレットを使用します。送信元と送信先の両方を指定する必要があります。コピー元のリージョンは、-SourceRegion
パラメータを使用して指定します。送信先リージョンは、-Region
パラメータ、または Set-AWSDefaultRegion コマンドレットを使用して指定します。送信元のローカルゾーンは、指定されたソース AMI ID の場所から継承されます。ローカルゾーンの AMI は、そのローカルゾーンの親リージョンにのみコピーできます。
Copy-EC2Image `
-SourceImageId ami-0abcdef1234567890
`
-SourceRegion cn-north-1
`
-Name my-ami
`
-Region cn-north-1
ローカルゾーン間で AMI をコピーするには
Copy-EC2Image コマンドレットを使用します。送信元と送信先の両方を指定する必要があります。送信元のローカルゾーンのリージョンは、-SourceRegion
パラメータを使用して指定します。送信先のローカルゾーンは、-DestinationAvailabilityZone
パラメータを使用して指定します (-DestinationAvailabilityZoneId
を使用することもできます)。送信元のローカルゾーンは、指定されたソース AMI ID の場所から継承されます。送信先のローカルゾーンの親リージョンは、-Region
パラメータ、または Set-AWSDefaultRegion コマンドレットを使用して指定できます。
Copy-EC2Image `
-SourceImageId ami-0abcdef1234567890
`
-SourceRegion cn-north-1
`
-DestinationAvailabilityZone cn-north-1-pkx-1a
`
-Name my-ami
`
-Region cn-north-1
保留中の AMI コピー操作の中止
次の手順を使用して、保留中の AMI コピーを停止できます。
- Console
-
- AWS CLI
-
AMI のコピー操作を中止するには
deregister-image コマンドを使用します。
aws ec2 deregister-image --image-id ami-0abcdef1234567890
- PowerShell
-
を使用して AMI のコピー操作を中止するには
Unregister-EC2Image コマンドレットを使用します。
Unregister-EC2Image -ImageId ami-0abcdef1234567890