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

概要

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

設定時のオプション

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

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

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

4 ジョブ実行後のリソースの状態チェック
  • ジョブ実行後のリソースの状態チェックをする場合
    • CopyImage API リクエストが成功し、コピーした AMI のステータスが available になった場合に成功します。
    • CopyImage API リクエストが成功し、コピーした AMI AMI のステータスが available 以外( failed 等)になった場合、ジョブが失敗したと判断されます。

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

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

詳細仕様

  • コピー対象の AMI に付与されたタグはコピーした AMI にも付与されます
  • コピー対象の AMI をタグで指定した場合、コピー元リージョンで削除された AMI はコピー先でも削除されます(コピー元とコピー先でのマッチングにはAMI名を使用します)
  • コピー先リージョンで AMI の削除が実行されるのは、コピー元リージョンから1つ以上の AMI がコピーされた場合のみとなります
  • ジョブ実行後のリソースの状態までチェックする場合のみ、コピー元のAMIに紐づくEBSスナップショットに付与されているタグが、コピー先のAMIに紐づくEBSスナップショットにコピーされます

また、【AMI】「EC2: AMIをリージョン間でコピー」アクションで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 ジョブ実行後のリソースの状態までチェックする チェック

    action_value.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人がこの記事が役に立ったと言っています
他にご質問がございましたら、リクエストを送信してください