S3 を使用して AMI を保存および復元する
Amazon マシンイメージ (AMI) を Amazon S3 バケットに保存し、AMI を別の S3 バケットにコピーして、S3 バケットから復元できます。S3 バケットを使用して AMI を保存および復元することで、AMI をある AWS パーティションから別のパーティション (例えば、主要な商用パーティションから AWS GovCloud (US) パーティション) にコピーできます。AMI を S3 バケットに保存することで、AMI のアーカイブコピーを作成することもできます。
S3 を使用した AMI の保存および復元のサポート対象の API は、CreateStoreImageTask
、DescribeStoreImageTasks
、および CreateRestoreImageTask
です。
CopyImage
は、AWS パーティション内の AMI のコピーの際に使用することが推奨される API です。ただし、CopyImage
は、AMI を別のパーティションにコピーできません。
AWS パーティションの詳細については、「IAM ユーザーガイド」の「Amazon リソースネーム (ARN)」ページの「パーティション
」を参照してください。
警告
AWS パーティションまたは AWS リージョン間でデータを移動する場合、適用されるすべての法令およびビジネス要件 (適用される政府の規制およびデータ所在地に関する要件を含みますが、これらに限られません) を確実に遵守してください。
ユースケース
保存 API と復元 API を使用して、次の操作を実行します。
AWS パーティション間で AMI をコピーする
S3 バケットを使用して AMI を保存および復元することで、ある AWS パーティションから別のパーティションに、またはある AWS リージョンから別のリージョンに AMI をコピーできます。次の例では、主要な商用パーティションから AWS GovCloud (US) パーティションに、具体的には us-east-2
リージョンから us-gov-east-1
リージョンに AMI をコピーします。
あるパーティションから別のパーティションに AMI をコピーするには、次の手順に従います。
-
CreateStoreImageTask
を使用して、現在のリージョンの S3 バケットに AMI を保存します。この例では、S3 バケットはus-east-2
にあります。 -
DescribeStoreImageTasks
を使用して、保存タスクの進行状況をモニタリングします。タスクが完了すると、オブジェクトが S3 バケットに表示されます。 -
任意の手順を使用して、保存された AMI オブジェクトをターゲットパーティションの S3 バケットにコピーします。この例では、S3 バケットは
us-gov-east-1
にあります。注記
パーティションごとに異なる AWS 認証情報が必要なため、S3 オブジェクトをあるパーティションから別のパーティションに直接コピーすることはできません。パーティション間で S3 オブジェクトをコピーするプロセスは、このドキュメントの対象外です。例として、次のコピープロセスを提供していますが、お客様のセキュリティ要件を満たすコピープロセスを使用する必要があります。
-
パーティション間で 1 つの AMI をコピーするためのコピープロセスはシンプルです。ソースバケットから中間ホスト (EC2 インスタンスやラップトップなど) にオブジェクトをダウンロードし、中間ホストからターゲットバケットにオブジェクトをアップロードするだけです。プロセスの各段階で、パーティションの AWS 認証情報を使用します。
-
より持続的な使用のために、コピーを管理するアプリケーションの開発をご検討ください。S3 マルチパートダウンロードとアップロードを使用することも考慮に値します。
-
-
CreateRestoreImageTask
を使用して、ターゲットパーティションの S3 バケットから AMI を復元します。この例では、S3 バケットはus-gov-east-1
にあります。 -
その状態が使用可能になるタイミングを確認するために、AMI を記述して復元タスクの進行状況をモニタリングします。また、スナップショットを記述することで、復元される AMI を構成するスナップショットの進行状況 (%) をモニタリングすることもできます。
AMI のアーカイブコピーを作成する
AMI を S3 バケットに保存することで、AMI のアーカイブコピーを作成できます。AMI は S3 内の 1 つのオブジェクトにパックされ、すべての AMI メタデータ (共有情報を除く) は、保存された AMI の一部として保持されます。AMI データは、ストレージプロセスの一環として圧縮されます。簡単に圧縮できるデータを含む AMI は、S3 で小さめのオブジェクトとなります。コストを削減するために、より安価な S3 ストレージ階層を使用できます。詳細については、Amazon S3 ストレージクラス
制約事項
-
AMI を保存するには、AWS アカウント が AMI とそのスナップショットを所有しているか、AMI とそのスナップショットをアカウントと直接共有する必要があります。公開されているだけの AMI は保存できません。
-
これらの API を使用して保存できるのは、EBS-backed AMI だけです。
-
準仮想化 (PV) AMI はサポートされていません。
-
保存可能な AMI の上限サイズ (圧縮前) は、5,000 GB です。
-
保存イメージリクエストのクォータ: 進行中の 600 GB の保存作業 (スナップショットデータ)。
-
復元イメージリクエストのクォータ: 進行中の 300 GB の復元作業 (スナップショットデータ)。
-
保存タスク中は、スナップショットを削除してはならず、保存を実行する IAM プリンシパルにはスナップショットへのアクセス権が必要です。それ以外の場合は、保存プロセスが失敗します。
-
同じ S3 バケットに AMI の複数のコピーを作成することはできません。
-
S3 バケットに保存されている AMI は、元の AMI ID では復元できません。AMI エイリアシングを使用すると、これを軽減できます。
-
現在、保存 API と復元 API は、AWS Command Line Interface、AWS SDK、および Amazon EC2 API を使用する場合にのみサポートされます。Amazon EC2 コンソールを使用して AMI を保存および復元することはできません。
コスト
S3 を使用して AMI を保存および復元する場合、保存 API と復元 API で使用されるサービス、およびデータ転送について料金が発生します。API は、S3 と EBS Direct API を使用します (これらの API がスナップショットデータにアクセスするために内部的に使用されます)。詳細については、Amazon S3 の料金