Amazon EC2 AMI コピーの仕組み - Amazon Elastic Compute Cloud

Amazon EC2 AMI コピーの仕組み

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

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

リージョン間のコピー

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

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

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

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

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

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

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

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

前提条件

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

制限
  • コピー先のリージョンには、AMI の同時コピーが 300 個までという制限があります。

  • 準仮想化 (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 バケット (インスタンスストアバック AMI の場合) のどちらかです。共有 AMI に暗号化されたスナップショットがある場合、所有者はキーをユーザーと共有する必要があります。リソースのアクセス許可付与についての詳細は、EBS スナップショットの場合は「Amazon EBS ユーザーガイド」の「Amazon EBS スナップショットを他の AWS アカウント と共有」を参照してください。S3 バケットの場合、「Amazon S3 ユーザーガイド」の「Amazon S3 で ID とアクセスの管理」を参照してください。

注記

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

暗号化とコピー

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

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

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

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

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

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

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

注記

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

AMI をコピーし、スナップショットをオンザフライで暗号化

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

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