EC2: AMIをリージョン間でコピー

概要

「EC2: AMIをリージョン間でコピー」アクションを使用すると、指定した Amazon マシンイメージ(以下AMI) を別のリージョンへコピーすることができます。
他のアクションと同様に、リソース ID または AMI に付与されているタグでコピー元となる AMI を指定することが出来ます。

設定時のオプション

No. オプション 説明
1 コピー元リージョン コピー元となる AMI が存在するリージョンを指定します。
2 コピー先リージョン コピー先となるリージョンを指定します。
3 イメージ コピー元となる AMI をリソース IDで指定します
特定のタグがついたイメージ

コピー元となる AMI をタグで指定します。

既にコピー済みのAMIを含め、1000 AMIまでタグで指定できます。ただし、実際にコピーできるAMIの上限数は200までです。上限数を超えた場合ジョブは失敗となります。

4 コピー先に保持する世代数
  • コピーしたAMIを世代管理する場合の世代数を選択します(2025年2月に導入された仕様)
    • タグで指定されたAMIのうち指定された世代数のAMIをコピー先リージョンにコピーして保持します。
    • 世代管理が可能なAMIの最大世代数は10です。
    • 「EC2: AMIを作成」アクションで作成されたAMIのみが世代管理の対象となります。
    • コピー先リージョンのAMIの世代数が指定された世代数を超えた場合、古い世代のAMIから登録解除されます。登録解除されるAMIに紐づくEBSスナップショットも削除されます。
  • 「コピー元の世代数に合わせる」を選択した場合(従来の仕様)
    • タグで指定されたAMIをコピー先リージョンにコピーして保持します。
    • コピー済みのAMIがコピー元に存在しなくなった場合、コピー先のAMIも登録解除されます。登録解除されるAMIに紐づくEBSスナップショットも削除されます。
5 ジョブ実行後のリソースの状態チェック
  • ジョブ実行後のリソースの状態チェックをする場合
    • CopyImage API リクエストが成功し、コピーした AMI のステータスが available になった場合に成功します。
    • CopyImage API リクエストが成功し、コピーした AMI AMI のステータスが available 以外( failed 等)になった場合、ジョブが失敗したと判断されます。

    ※ DescribeImages APIを利用して約5分間隔でAMIのステータスを確認します。

  • ジョブ実行後のリソースの状態をチェックしない場合
    • CopyImage APIリクエストの正否がジョブの実行結果正否となります。

詳細仕様

  • コピー対象のAMIに付与されたタグはコピーしたAMIにも付与されます
  • AWS Backupによって管理されているAMIはコピーできません
  • コピー対象のAMIをタグで指定した場合のみ、「コピー先に保持する世代数」のオプションが設定可能になります
  • コピー先のAMIに登録解除保護が設定されている場合、当該AMIは登録解除されません
  • ジョブ実行後のリソースの状態までチェックする場合のみ、コピー元のAMIに紐づくEBSスナップショットに付与されているタグが、コピー先のAMIに紐づくEBSスナップショットにコピーされます

また、以下のマニュアルも合わせてご参照ください。

AMIに付与されるタグについて

本アクションでコピーされるAMIには以下のタグが付与されます。

キー
Cloud Automator Source Image Creation Date コピー元のAMIの作成日時

設定例

Cloud Automator で「EC2: AMIをリージョン間でコピー」アクションを使ったジョブを作成します。

  1. Cloud Automator の運用ジョブ画面から「ジョブの追加」ボタンをクリックします
  2. ジョブを所属させるグループを選択します
  3. トリガーの選択で、任意のトリガーを選択下さい
  4. アクションの選択で「EC2: AMIをリージョン間でコピー」アクションを選択します
  5. AWS アカウントの選択で、任意の AWS アカウントを選択します
  6. アクションのパラメーターを設定します

    No. オプション 設定値の例
    1 コピー元リージョン アジアパシフィック (東京)
    2 コピー先リージョン 米国東部 (バージニア北部)
    3 特定のタグがついたイメージ

    key: environment

    value: production

    4 コピー先に保持する世代数 コピー元の世代数に合わせる
    5 ジョブ実行後のリソースの状態までチェックする チェック

    screen.png
  7. 成功時、失敗時の後処理を設定します
  8. ジョブ名を入力し、「作成する」をクリックします

動作確認

  1. 作成したジョブのログボタンをクリックします
  2. 実行ログ一覧から該当の実行ログの詳細をクリックします
  3. ログの詳細にて結果を確認します
    「成功」となっていれば該当のジョブが実行されて成功していることが確認できます。
    「実行中」となっている場合はジョブの実行中なのでしばらく経ってから確認してください。
  4. それぞれのリソースの操作結果は「詳細表示」をクリックすることで確認することができます

 

ログのステータス条件

No. ステータス 説明
1 成功 ジョブ実行後のリソースの状態をチェックしない場合、CopyImage API リクエストが成功すると成功となります。
ジョブ実行後のリソースの状態をチェックする場合、CopyImage API リクエストが成功且つ、コピーした AMI のステータスが available になったときに成功となります。
2 失敗 ジョブ実行後のリソースの状態をチェックしない場合、以下のいずれかで失敗となります。
  • コピー元となる AMI が存在しない場合
  • コピー元となる AMIの数 が 1,000 を超える場合
  • 実際にコピーするAMIの数が 200 を超える場合
  • CopyImage API リクエストが失敗した場合
ジョブ実行後のリソースの状態をチェックする場合、以下のいずれかで失敗となります。
  • コピー元となる AMI が存在しない場合
  • コピー元となる AMI が 1,000 を超える場合
  • 実際にコピーするAMIの数が 200 を超える場合
  • CopyImage API リクエストが失敗した場合
  • コピーした AMI のステータスが available 以外( failed 等)になった場合

リソース操作履歴のステータス条件

No. ステータス 説明
1 Completed ジョブ実行後のリソースの状態をチェックしない場合、CopyImage API リクエストが成功すると Completed となります。
ジョブ実行後のリソースの状態をチェックする場合、CopyImage API リクエストが成功且つ、コピーした AMI のステータスが available になったときに Completed となります。
2 Failed ジョブ実行後のリソースの状態をチェックしない場合、CopyImage API リクエストが失敗すると Failed となります。
ジョブ実行後のリソースの状態をチェックする場合、CopyImage API リクエストが失敗するかコピーした AMI のステータスが available 以外( failed 等)になったときに Failed となります。

 

以上で「EC2: AMIをリージョン間でコピー」を使ったジョブの動作確認が出来ました。AMI を別のリージョンへコピーすることにより、使用しているリージョンに万が一のことがあったとしても別のリージョンでデータを復旧することが可能になります。是非ご活用下さい。

このアクションで利用されるAWS API

当アクションの実行には以下のAWS APIを利用しています。
実行するAWSアカウントにはこれらのAPIを実行可能なIAMポリシーがアタッチされている必要があります。

この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています
他にご質問がございましたら、リクエストを送信してください