

# Amazon EC2 AMI コピーの仕組み
<a name="how-ami-copy-works"></a>

ソース AMI をコピーすると、見た目は同じでもまったく別の*ターゲット* AMI とも呼ばれる新しい AMI になります。ターゲット AMI にはそれ独自の AMI ID があります。ソース AMI は、ターゲット AMI に影響を及ぼさずに変更または登録解除できます。逆の場合も同様です。

EBS-backed AMI を使用すると、それぞれのバックアップするスナップショットは、同一だが区別されるターゲットスナップショットにコピーされます。AMI を新しいリージョンにコピーすると、スナップショットは完全な (増分ではない) コピーになります。暗号化されていないバッキングスナップショットを暗号化するか、新しい KMS キーに暗号化すると、スナップショットは完全な (増分ではない) コピーになります。以降の AMI のコピー操作では、バッキングスナップショットの増分コピーが作成されます。

**Topics**
+ [リージョン間のコピー](#copy-amis-across-regions)
+ [アカウント間のコピー](#copy-ami-across-accounts)
+ [時間ベースの AMI コピー操作](#ami-time-based)
+ [暗号化とコピー](#ami-copy-encryption)

## リージョン間のコピー
<a name="copy-amis-across-regions"></a>

地理的に分散したリージョンに AMI をコピーすると、次のような利点があります。
+ 一貫性のあるグローバルなデプロイメント: 1 つのリージョンから別のリージョンに AMI をコピーすることで、一貫性のあるインスタンスを同じ AMI から別のリージョンに起動できます。
+ スケーラビリティ: ユーザーの場所にかかわらず、ユーザーのニーズに合ったグローバルアプリケーションをより簡単に設計できます。
+ パフォーマンス: アプリケーションを配布したり、アプリケーションの重要なコンポーネントをユーザーの近くに配置したりすることでパフォーマンスを向上できます。また、インスタンスの種類やその他の AWS サービスなど、リージョン固有の機能を活用することもできます。
+ 高可用性: アプリケーションを設計し、AWS リージョン全体にわたってデプロイして可用性を高めることができます。

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

![別のリージョンにコピーされた AMI](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/images/ami_copy.png)


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

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

**制限事項**
+ コピー先のリージョンには、AMI の同時コピー操作が 300 個に制限されます。これは、時間ベースの AMI コピー操作にも適用されます。
+ 準仮想化 (PV) AMI がサポートされていないリージョンに、PV AMI をコピーすることはできません。詳細については、「[仮想化タイプ](ComponentsAMIs.md#virtualization_types)」を参照してください。

## アカウント間のコピー
<a name="copy-ami-across-accounts"></a>

他の AWS アカウント の AMI が [AWS アカウント と共有されている](sharingamis-explicit.md)場合は、共有 AMI をコピーできます。これは、クロスアカウントコピーと呼ばれています。共有される AMI はソース AMI です。ソース AMI をコピーする際に、新しい AMI を作成します。新しい AMI は、多くの場合、ターゲット AMI と呼ばれます。

**AMI のコスト**
+ 共有されている AMI の場合、リージョン内のストレージについて、共有されている AMI のアカウントに課金されます。
+ 自分のアカウントと共有された AMI をコピーした場合、アカウントのコピー先の AMI の所有者は自分になります。
  + ソース AMI の所有者は、標準の Amazon EBS または Amazon S3 転送料金が課金されます。
  + 宛先リージョン内のターゲット AMI のストレージについて料金が課金されます。

**リソースのアクセス許可**  
別のアカウントと共有した AMI をコピーするときは、ソース AMI の所有者から、AMI 自体の読み取り許可だけでなく、それをバックアップしているストレージの読み取り許可も、付与してもらう必要があります。ストレージは、関連 EBS スナップショット (Amazon EBS-backed AMI の場合) か、関連 S3 バケット (Amazon S3-backed AMI の場合) のどちらかです。共有 AMI に暗号化されたスナップショットがある場合、所有者はキーをユーザーと共有する必要があります。リソースのアクセス許可付与についての詳細は、EBS スナップショットの場合は「*Amazon EBS ユーザーガイド*」の「[Amazon EBS スナップショットを他の AWS アカウント と共有](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-modifying-snapshot-permissions.html)」を参照してください。S3 バケットの場合、「*Amazon S3 ユーザーガイド*」の「[Amazon S3 で ID とアクセスの管理](https://docs.aws.amazon.com/AmazonS3/latest/userguide/security-iam.html)」を参照してください。

**注記**  
ソース AMI にアタッチされたタグは、複数のアカウントでターゲット AMI にコピーされません。

## 時間ベースの AMI コピー操作
<a name="ami-time-based"></a>

単一の関連付けられたスナップショットを持つ EBS-backed AMI に対して時間ベースの AMI コピー操作を開始すると、**個々の時間ベースのスナップショットコピー操作**と同じ動作をし、同じスループット制限が適用されます。

複数の関連スナップショットを持つ EBS-backed AMI に対して時間ベースの AMI コピー操作を開始すると、**同時に実行される時間ベースのスナップショットコピー操作**と同じように動作し、同じスループット制限が適用されます。関連付けられたスナップショットごとに個別のスナップショットコピーリクエストが発生し、それぞれが累積スナップショットコピースループットクォータに影響します。指定した完了期間は、関連付けられている各スナップショットに適用されます。

詳細については、「*Amazon EBS ユーザーガイド*」の「[料金と請求](https://docs.aws.amazon.com/ebs/latest/userguide/time-based-copies.html)」を参照してください。

## 暗号化とコピー
<a name="ami-copy-encryption"></a>

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


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

**注記**  
`CopyImage` アクション中の暗号化は Amazon EBS-backed AMI にのみ適用されます。Amazon S3-backed AMI はスナップショットを使用しないため、コピーを使用して暗号化ステータスを変更することはできません。

暗号化パラメータを指定しないで AMI をコピーすると、デフォルトでバックアップするスナップショットは元の暗号化ステータスと一緒にコピーされます。したがって、ソース AMI が暗号化されていないスナップショットでバックアップされている場合、結果のターゲットスナップショットも暗号化されません。同様に、ソース AMI のスナップショットが暗号化されている場合、結果のターゲットスナップショットも同じ AWS KMS キーで暗号化されます。複数のスナップショットでバックアップされている AMI の場合、各ターゲットスナップショットは対応するソーススナップショットの暗号化状態を保持します。

AMI コピー中にターゲットバッキングスナップショットの暗号化状態を変更するには、暗号化パラメータを指定できます。次の例では、ターゲット AMI の暗号化状態を変更するために `CopyImage` アクションに暗号化パラメータが指定されるデフォルトではないケースを示しています。

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

このシナリオでは、暗号化されていないルートスナップショットでバックアップされた AMI は、暗号化されたルートスナップショットを持つ AMI にコピーされます。`CopyImage` アクションは、カスタマー管理された型キーなど、2 つの暗号化パラメータで呼び出されます。その結果、ルートスナップショットの暗号化ステータスが変更され、ターゲット AMI はソーススナップショットと同じデータを含むルートスナップショットにバックアップされますが、指定されたキーを使用して暗号化されます。両方の AMI でスナップショットのストレージコストと、いずれかの AMI から起動するインスタンスの料金が発生します。

**注記**  
デフォルトで暗号化を有効にすると、AMI 内のすべてのスナップショットで `Encrypted` パラメータを `true` に設定したのと同じ効果があります。

![AMI をコピーし、スナップショットをオンザフライで暗号化](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/images/ami-to-ami-convert.png)


`Encrypted` パラメータを設定すると、このインスタンスの単一のスナップショットが暗号化されます。`KmsKeyId` パラメータを指定しない場合は、デフォルトのカスタマー管理された型キーを使用して、スナップショットのコピーが暗号化されます。

暗号化されたスナップショットを持つ AMI のコピーの詳細については、「[EBS-backed AMI での暗号化の利用](AMIEncryption.md)」を参照してください。