メニュー
Amazon Elastic Compute Cloud
Linux インスタンス用ユーザーガイド

AMI のコピー

CopyImage アクションをサポートする AWS マネジメントコンソール、AWS コマンドラインツール、または Amazon EC2 API を使用して、AWS リージョン内または AWS リージョン間で Amazon マシンイメージ (AMI) をコピーできます。Amazon EBS-backed AMI と instance store-backed AMI の両方をコピーできます。暗号化済み AMI およびスナップショット暗号化済み AMI をコピーできます。

ソース AMI をコピーすると、同一ではあるが独自の識別子を使用するターゲット AMI となります。Amazon EBS-backed AMI の場合は、それぞれのバックアップするスナップショットは、デフォルトでは、同一だが区別されるターゲットスナップショットにコピーされます (唯一の例外は、スナップショットの暗号化を選択した場合です)。ソース AMI は、ターゲット AMI に影響を及ぼさずに変更または登録解除できます。逆の場合も同様です。

AMI のコピーには課金されません。ただし、標準のストレージ料金とデータ転送料金が適用されます。

AWS は元の AMI から新しい AMI に起動許可、ユーザー定義のタグ、Amazon S3 バケット許可をコピーしません。コピー操作が完了すると、起動許可、ユーザー定義のタグ、Amazon S3 バケット許可を新しい AMI に適用できます。

アクセス許可

Instance Store-Backed AMI をコピーするために IAM を使用する場合、ユーザーは次の Amazon S3 へのアクセス許可が必要です。s3:CreateBuckets3:GetBucketAcls3:ListAllMyBucketss3:GetObjects3:PutObject および s3:PutObjectAcl

次のポリシー例では、指定されたバケットの AMI ソースを、指定されたリージョンにコピーできます。

Copy
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:ListAllMyBuckets", "Resource": [ "arn:aws:s3:::*" ] }, { "Effect": "Allow", "Action": "s3:GetObject", "Resource": [ "arn:aws:s3:::ami-source-bucket/*" ] }, { "Effect": "Allow", "Action": [ "s3:CreateBucket", "s3:GetBucketAcl", "s3:PutObjectAcl", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::amis-for-123456789012-in-us-east-1*" ] } ] }

AMI ソースバケットの Amazon リソースネーム (ARN) を調べるには、https://console.aws.amazon.com/ec2/ で Amazon EC2 コンソールを開き、ナビゲーションペインで [AMIs] を選択し、[Source] 列でバケット名を見つけます。

リージョン間での AMI のコピー

地理的に分散したリージョンに AMI をコピーすると、次のような利点があります。

  • 一貫性のあるグローバルなデプロイメント: 1 つのリージョンから別のリージョンに AMI をコピーすることで、一貫性のあるインスタンスを同じ AMI から別のリージョンに起動できます。

  • スケーラビリティ: ユーザーの場所にかかわらず、ユーザーのニーズに合ったグローバルアプリケーションをより簡単に設計できます。

  • パフォーマンス: アプリケーションを配布したり、アプリケーションの重要なコンポーネントをユーザーの近くに配置したりすることでパフォーマンスを向上できます。また、インスタンスの種類やその他の AWS サービスなど、リージョン固有の機能を活用することもできます。

  • 高可用性: アプリケーションを設計し、AWS リージョン全体にわたってデプロイして可用性を高めることができます。

次の図は、ソース AMI と異なるリージョンにある 2 つのコピーされた AMI、およびそこから起動される EC2 インスタンスの関係を示します。AMI からインスタンスを起動すると、AMI が存在する同じリージョンに存在します。ソース AMI を変更し、それらの変更をターゲットリージョンの AMI に反映させる場合、ソース AMI をターゲットリージョンに再度コピーする必要があります。

 別のリージョンにコピーされた AMI

instance store-backed AMI を最初にリージョンにコピーするときに、そのリージョンにコピーされた AMI に Amazon S3 バケットを作成します。そのリージョンにコピーするすべての instance store-backed AMI が、このバケットに保存されます。バケット名の形式は次のとおりです: amis-for-アカウント-in-リージョン-ハッシュ 例: amis-for-123456789012-in-us-east-2-yhjmxvp6

前提条件

AMI をコピーする前に、ソース AMI のすべてのコンテンツが、異なるリージョンでの実行をサポートするように更新されていることを確認する必要があります。たとえば、データベース接続文字列や同様のアプリケーション設定データが、適切なリソースを指すように更新する必要があります。それ以外の場合、対象のリージョンの新しい AMI から起動したインスタンスは元のリージョンのリソースをまだ使用している可能性があり、それによりパフォーマンスとコストに影響が及ぶことがあります。

制限

コピー先のリージョンには、AMI の同時コピーが 50 個までという制限があり、1 つのコピー元リージョンからは 25 個までです。

アカウント間での AMI のコピー

AWS アカウント間で AMI を共有できます。AMI の共有は AMI の所有権には影響しません。所有しているアカウントには、リージョンのストレージ料金が適用されます。詳細については、「特定の AWS アカウントと AMI を共有する」を参照してください。

自分のアカウントで共有した AMI をコピーした場合、アカウントのコピー先の AMI の所有者は自分になります。コピー元の AMI の所有者には、Amazon EBS または Amazon S3 標準転送料金が課金され、コピー先の AMI の所有者には、コピー先リージョンのストレージ料金が課金されます。

リソースのアクセス許可

AMI を別のアカウントから共有した場合、この AMI をコピーするには、関連 EBS スナップショット (Amazon EBS-backed AM; の場合) であっても関連 S3 バケット (instance-store-backed AMI の場合) であっても、コピー元の AMI の所有者から AMI をバックアップするストレージの読み取り権限を付与してもらう必要があります。

制限

  • 暗号化された AMI を別のアカウントから共有した場合、これをコピーすることはできません。代わりに、基になるスナップショットと暗号化キーを共有した場合は、スナップショットを独自のキーで再暗号化してコピーできます。コピーしたスナップショットを自分で所有し、それを新しい AMI として登録できます。

  • billingProduct コードと関連付けられた AMI を別のアカウントから共有した場合、これをコピーすることはできません。これには Windows AMI、AWS Marketplace の AMI などが含まれます。billingProduct コードを持つ共有 AMI をコピーするには、その共有 AMI を使用してアカウントの EC2 インスタンスを起動し、そのインスタンスから AMI を作成します。詳細については、「Amazon EBS-Backed Linux AMI の作成」を参照してください。

暗号化と AMI のコピー

AMI のコピー時の暗号化は、Amazon EBS-backed AMI にのみ適用されます。instance store-backed AMI はスナップショットに依存しないため、AMI のコピーを使用して暗号化ステータスを変更することはできません。

AMI のコピーを使用して、暗号化された Amazon EBS スナップショットによってバックアップされた新しい AMI を作成できます。AMI のコピー時に暗号化を呼び出すと、ルートボリュームを含む関連 Amazon EBS ボリュームの各スナップショットが指定したキーを使用して暗号化されます。暗号化されたスナップショットを持つ AMI の使用の詳細については、「暗号化されたスナップショットを持つ AMI」を参照してください。

デフォルトでは、AMI をバックアップするスナップショットは元の暗号化ステータスとともにコピーされます。暗号化されていないスナップショットにバックアップされた AMI をコピーすると、やはり暗号化されていない同一のターゲットスナップショットになります。ソース AMI が暗号化されたスナップショットにバックアップされている場合は、コピーすると指定されたキーに暗号化されたターゲットスナップショットになります。複数のスナップショットにバックアップされた AMI をコピーした場合は、元の暗号化ステータスが各ターゲットスナップショットで維持されます。複数のスナップショットを持つ AMI のコピーの詳細については、「暗号化されたスナップショットを持つ AMI」を参照してください。

次の表は、各種シナリオにおける暗号化サポートを示します。暗号化されたスナップショットを生成するために暗号化されていないスナップショットをコピーすることはできますが、暗号化されていないスナップショットを生成するために暗号化されたスナップショットをコピーすることはできないことに注意してください。

シナリオ 説明 サポート対象
1 非暗号化から非暗号化 はい
2 暗号化から暗号化 はい
3 非暗号化から暗号化 はい
4 暗号化から非暗号化 いいえ

暗号化されていないソース AMI の暗号化されていないターゲット AMI へのコピー

このシナリオでは、暗号化されていない単一のバックアップスナップショットを持つ AMI のコピーを、指定された地理的リージョン (非表示) に作成します。この図は単一のバックアップスナップショットを持つ AMI を示していますが、複数のスナップショットを持つ AMI をコピーすることもできます。各スナップショットの暗号化ステータスは維持されます。したがって、ソース AMI の暗号化されていないスナップショットは、ターゲット AMI の暗号化されていないスナップショットになり、ソース AMI の暗号化されたスナップショットは、ターゲット AMI の暗号化されたスナップショットになります。

 暗号化されていないソース AMI のコピー

暗号化されたソース AMI の暗号化されたターゲット AMI へのコピー

このシナリオには暗号化されたスナップショットが含まれますが、機能としては前のシナリオと同じです。 複数のスナップショット AMI のコピー中に暗号化を適用すると、すべてのターゲットスナップショットは、指定されたキーまたは指定がない場合はデフォルトキーを使用して暗号化されます。

 暗号化されたソース AMI のコピー

暗号化されていないソース AMI の暗号化されたターゲット AMI へのコピー

このシナリオでは、AMI のコピーにより、コピー先のイメージの暗号化ステータスが変更されます。たとえば、暗号化されていないスナップショットが暗号化されます。または、暗号化されたスナップショットが別のキーを使用して再暗号化されます。コピー時に暗号化を適用するには、暗号化フラグとキーを指定する必要があります。ターゲットスナップショットから作成されたボリュームには、このキーを使用してのみアクセスできます。

暗号化されていないソース AMI の暗号化されたターゲット AMI へのコピー

AMI のコピー

AMI は次の手順でコピーできます。

前提条件

Amazon EBS スナップショットによってバックアップされた AMI を作成、または取得します。Amazon EC2 コンソールを使用して AWS が提供するさまざまな AMI を検索できます。詳細については、「Amazon EBS-Backed Linux AMI の作成」と「Linux AMI の検索」を参照してください。

コンソールを使用して AMI をコピーするには

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

  2. コンソールのナビゲーションバーから、AMI を含むリージョンを選択します。ナビゲーションペインで、[Images]、[AMIs] の順に選択し、リージョンで利用できる AMI のリストを表示します。

  3. コピーする AMI を選択して、[Actions]、[Copy AMI] の順に選択します。

  4. [Copy AMI] ダイアログボックスで、下記の情報を指定して [AMI のコピー] を選択します。

    • [送信先リージョン]: AMI をコピーするリージョン。

    • [Name]: 新しい AMI の名前。この名前にはオペレーティングシステム情報を含めることができます (この情報は AMI の詳細としては表示されません)。

    • [Description]: デフォルトでは、オリジナルからコピーを見分けられるように、ソース AMI に関する情報が説明に含まれています。この説明は必要に応じて変更できます。

    • [Encryption]: ターゲットスナップショットを暗号化するか、別のキーを使用して再暗号化する場合は、このフィールドを選択します。

    • [Master Key]: ターゲットスナップショットを暗号化するための KMS キー。

  5. コピーオペレーションが開始したことを知らせる確認ページが表示され、新しい AMI の ID が提供されます。

    コピーオペレーションの進行状況をすぐに確認するには、提供されたリンクをクリックしてください。後で進行状況を確認するには [Done] を選択し、自分の準備ができたときに、ナビゲーションバーを使用してターゲットリージョン (ある場合) を切り替え、AMI のリストから AMI を見つけます。

    ターゲット AMI の初期ステータスは pending です。ステータスが available になると、オペレーションは完了します。

AWS CLI を使用して AMI をコピーするには

copy-image コマンドを使用して AMI をコピーできます。コピー元リージョンおよび送信先リージョンの両方を指定する必要があります。コピー元のリージョンは、--source-region パラメータを使用して指定します。--region パラメータまたは環境変数を使用して送信先リージョンを指定できます。詳細については、「AWS コマンドラインインターフェイスの設定」を参照してください。

コピー時にターゲットスナップショットを暗号化する場合は、--encrypted および --kms-key-id の追加のパラメータを指定する必要があります。

Tools for Windows PowerShell を使用して AMI をコピーするには

Copy-EC2Image コマンドを使用して AMI をコピーできます。コピー元リージョンおよび送信先リージョンの両方を指定する必要があります。コピー元のリージョンは、-SourceRegion パラメータを使用して指定します。-Region パラメータまたは Set-AWSDefaultRegion コマンドを使用して送信先リージョンを指定できます。リージョンの詳細については、「AWS リージョンの指定」を参照してください。

コピー時にターゲットスナップショットを暗号化する場合は、-Encrypted および -KmsKeyId の追加のパラメータを指定する必要があります。

保留中の AMI コピー操作を中止する

保留中の AMI のコピーは、次の手順で停止できます。

コンソールを使用して AMI のコピー操作を中止するには

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

  2. ナビゲーションバーのリージョンセレクターから対象のリージョンを選択します。

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

  4. コピーを中止する AMI を選択し、[Actions]、[Deregister] を選択します。

  5. 確認を求められたら、[Continue] を選択します。

コマンドラインを使用して AMI コピー操作を中止するには

次のコマンドの 1 つを使用できます。これらのコマンドラインインターフェイスの詳細については、Amazon EC2 へのアクセス を参照してください。