AWS BackupでEC2のバックアップを別リージョンにとる

記事タイトルとURLをコピーする

AWS Backupには、EC2インスタンスのバックアップを他のリージョンにとる機能があります。
他のリージョンにバックアップがあれば、普段利用しているリージョンの障害時に、他のリージョンでサービスを再開することができます。
いわゆるDR(Disaster Recovery)です。

今回、東京リージョンからシンガポールリージョンに、バックアップ・リストアしてみました。

[東京リージョン] バックアップ設定

バックアップ取得タイミング

AWS Backupは、バックアップを取得するタイミングとして2通りあります。

  • その場で即座に一回だけバックアップする 「オンデマンドバックアップ」
  • 毎日とか毎時とか定期的にバックアップする 「バックアッププラン」

試したところ、どちらでも別リージョンにバックアップ取得できました。

ここでは 「バックアッププラン」の設定を紹介します。

バックアッププラン作成

AWS Backupの画面で「バックアッププラン」を作成します。
「バックアッププラン」の中で、次の2つの設定をします。

  • スケジューリングやバックアップ先を指定する 「バックアップルール」
  • バックアップ対象のEC2インスタンスなどを指定する 「リソース」

バックアッププラン

バックアップルール

今回は1時間単位でバックアップするようにしてみました。
「リージョンにコピーオプション」のところで、シンガポールを指定しました。

なお、「コピーを追加」というところで、さらに別のリージョンもバックアップ先として追加できるようです。

リソース

今回はシンプルに、東京リージョンで動いているEC2インスタンスを1台指定しました。

東京リージョンで確認

「リージョンにコピーオプション」でシンガポールを指定しましたが、コピー元である東京にもバックアップが作成されます。

[シンガポールリージョン] リストア実行

バックアップがコピーされていることを確認

1時間ごとにバックアップがコピーできているのがわかります。
AMIやスナップショットが、シンガポール側にも作成されてますね。

リストア実行

保護されたリソースから、復旧ポイントのAMIを指定

起動パラメータを指定

バックアップ取得元と同じリージョンでリストアする場合は、インスタンスタイプやセキュリティグループなどは元の情報を引き継ぐことが可能です。
しかし、今回のように別リージョンの場合は、バックアップ取得元インスタンスの情報を引き継げるのは、IAMロールだけです。
手動で適切に設定を入れて「バックアップを復元」ボタンをクリックします。

復元ジョブが終わるのを待つ

実行中となるので、完了となるまで待ちます。

なお、「失敗しました」となる場合があります。
一つ前の画面で「デフォルトのロール」を指定していますが、これは AWSBackupDefaultServiceRole というIAMロールを指していますが、このロール内のポリシーに「iam:PassRole」が入っていないのが原因と思われます。

ワークアラウンドとしては、以下の2つを検討してください。

  • AWS Backup用に、より権限の強いロールを作成して指定する
  • 「インスタンス IAMロール」を指定しない

完了

今回のテストでは、デフォルト状態の8GiBのAmazonLinux2をリストアしましたが、約10分かかりました。

EC2の画面をみると、しれっと起動してますね。

感想

AWS BackupはDRで利用を検討できるソリューションの一つと思います。
とはいえ、AWS Backupで全てできるかというとそうでもない気もします。
EC2周辺のことだけでも、セキュリティグループ、ELBとか、まだまだ色々考える必要がありますね。

渡辺 信秀 (記事一覧)