Amazon EC2 AMI コピーの仕組み
ソース AMI をコピーすると、見た目は同じでもまったく別のターゲット AMI とも呼ばれる新しい AMI になります。ターゲット AMI にはそれ独自の AMI ID があります。ソース AMI は、ターゲット AMI に影響を及ぼさずに変更または登録解除できます。逆の場合も同様です。
EBS-backed AMI を使用すると、それぞれのバックアップするスナップショットは、同一だが区別されるターゲットスナップショットにコピーされます。AMI を新しいリージョンにコピーすると、スナップショットは完全な (増分ではない) コピーになります。暗号化されていないバッキングスナップショットを暗号化するか、新しい KMS キーに暗号化すると、スナップショットは完全な (増分ではない) コピーになります。以降の AMI のコピーオペレーションでは、バッキングスナップショットの増分コピーが作成されます。
リージョン間のコピー
地理的に分散したリージョンに AMI をコピーすると、次のような利点があります。
-
一貫性のあるグローバルなデプロイメント: 1 つのリージョンから別のリージョンに AMI をコピーすることで、一貫性のあるインスタンスを同じ AMI から別のリージョンに起動できます。
-
スケーラビリティ: ユーザーの場所にかかわらず、ユーザーのニーズに合ったグローバルアプリケーションをより簡単に設計できます。
-
パフォーマンス: アプリケーションを配布したり、アプリケーションの重要なコンポーネントをユーザーの近くに配置したりすることでパフォーマンスを向上できます。また、インスタンスの種類やその他の AWS サービスなど、リージョン固有の機能を活用することもできます。
-
高可用性: アプリケーションを設計し、AWS リージョン全体にわたってデプロイして可用性を高めることができます。
次の図は、ソース AMI と異なるリージョンにある 2 つのコピーされた AMI、およびそこから起動される EC2 インスタンスの関係を示します。AMI からインスタンスを起動すると、AMI が存在する同じリージョンに存在します。ソース AMI を変更し、それらの変更をターゲットリージョンの AMIs に反映させる場合、ソース AMI をターゲットリージョンに再度コピーする必要があります。
instance store-backed AMI を最初にリージョンにコピーするときに、そのリージョンにコピーされた AMIs に Amazon S3 バケットを作成します。そのリージョンにコピーするすべての Instance Store-Backed AMIs が、このバケットに保存されます。バケット名の形式は次のとおりです: amis-for-アカウント
-in-リージョン
-ハッシュ
例: amis-for-123456789012-in-us-east-2-yhjmxvp6
。
前提条件
AMI をコピーする前に、ソース AMI のすべてのコンテンツが、異なるリージョンでの実行をサポートするように更新されていることを確認する必要があります。例えば、データベース接続文字列や同様のアプリケーション設定データが、適切なリソースを指すように更新する必要があります。それ以外の場合、対象のリージョンの新しい AMI から起動したインスタンスは元のリージョンのリソースをまだ使用している可能性があり、それによりパフォーマンスとコストに影響が及ぶことがあります。
制約事項
-
コピー先のリージョンには、AMI の同時コピーが 100 個までという制限があります。
-
準仮想化 (PV) AMI がサポートされていないリージョンに、PV AMI をコピーすることはできません。詳細については、「仮想化タイプ」を参照してください。
アカウント間のコピー
他の AWS アカウント の AMI が AWS アカウント と共有されている場合は、共有 AMI をコピーできます。これは、クロスアカウントコピーと呼ばれています。共有される AMI はソース AMI です。ソース AMI をコピーする際に、新しい AMI を作成します。新しい AMI は、多くの場合、ターゲット AMI と呼ばれます。
AMI のコスト
-
共有されている AMI の場合、リージョン内のストレージについて、共有されている AMI のアカウントに課金されます。
-
自分のアカウントと共有された AMI をコピーした場合、アカウントのコピー先の AMI の所有者は自分になります。
-
ソース AMI の所有者は、標準の Amazon EBS または Amazon S3 転送料金が課金されます。
-
宛先リージョン内のターゲット AMI のストレージについて料金が課金されます。
-
リソースのアクセス許可
AMI を別のアカウントから共有した場合、この AMI をコピーするには、ソース AMI の所有者がこの AMI をバックアップするストレージの読み取り許可を付与する必要があります。ストレージは、関連 EBS スナップショット (Amazon EBS-backed AMI の場合) か、関連 S3 バケット (instance store-backed AMI の場合) のどちらかです。共有 AMI に暗号化されたスナップショットがある場合、所有者はキーも共有する必要があります。リソースのアクセス許可の付与についての詳細は、EBS スナップショットの場合は、「Amazon EBS ユーザーガイド」の「Amazon EBS スナップショットの共有」を、S3 バケットの場合は、「Amazon Simple Storage Service ユーザーガイド」の「Amazon S3 での Identity and Access Management」を参照してください。
注記
ソース AMI にアタッチされたタグは、複数のアカウントでターゲット AMI にコピーされません。
暗号化とコピー
次の表は、各種 AMI コピーのシナリオにおける暗号化サポートを示します。暗号化されたスナップショットを生成するために暗号化されていないスナップショットをコピーすることはできますが、暗号化されていないスナップショットを生成するために暗号化されたスナップショットをコピーすることはできません。
シナリオ | 説明 | サポート対象 |
---|---|---|
1 | 非暗号化から非暗号化 | はい |
2 | 暗号化から暗号化 | はい |
3 | 非暗号化から暗号化 | はい |
4 | 暗号化から非暗号化 | いいえ |
注記
CopyImage
アクション中の暗号化は Amazon EBS-backed AMIs にのみ適用されます。Instance Store-Backed AMI はスナップショットに依存しないため、コピーを使用して暗号化ステータスを変更することはできません。
デフォルト (暗号化パラメータを指定しない) では、AMI をバックアップするスナップショットは元の暗号化ステータスとともにコピーされます。暗号化されていないスナップショットにバックアップされた AMI をコピーすると、やはり暗号化されていない同一のターゲットスナップショットになります。暗号化されたスナップショットにバックアップされている AMI をコピーすると、コピー先でもスナップショットが同じ AWS KMS キーで暗号化されます。複数のスナップショットにバックアップされた AMI をコピーした場合、デフォルトでは、元の暗号化ステータスが各ターゲットスナップショットで維持されます。
AMI をコピー中に暗号化パラメータを指定した場合、バックアップスナップショットを暗号化または再暗号化できます。以下の例は、ターゲット AMI の暗号化状態を変更するために CopyImage
アクションに暗号化パラメータを提供する、デフォルトではないケースを示しています。
暗号化されていないソース AMI の暗号化されたターゲット AMI へのコピー
このシナリオでは、暗号化されていないルートスナップショットでバックアップされた AMI は、暗号化されたルートスナップショットを持つ AMI にコピーされます。CopyImage
アクションは、カスタマーマネージド型キーなど、2 つの暗号化パラメータで呼び出されます。その結果、ルートスナップショットの暗号化ステータスが変更され、ターゲット AMI はソーススナップショットと同じデータを含むルートスナップショットにバックアップされますが、指定されたキーを使用して暗号化されます。両方の AMI でスナップショットのストレージコストと、いずれかの AMI から起動するインスタンスの料金が発生します。
注記
デフォルトで暗号化を有効にすると、AMI 内のすべてのスナップショットで Encrypted
パラメータを true
に設定したのと同じ効果があります。
Encrypted
パラメータを設定すると、このインスタンスの単一のスナップショットが暗号化されます。KmsKeyId
パラメータを指定しない場合は、デフォルトのカスタマーマネージド型キーを使用して、スナップショットのコピーが暗号化されます。
暗号化されたスナップショットを持つ AMIs のコピーの詳細については、「EBS-backed AMI での暗号化の利用」を参照してください。