EC2インスタンスに対応したAWS Backupを試してみた

2020.01.31

AWSチームのすずきです。

EC2インスタンスをサポートしたAWS Backupを利用して、 EC2のバックアップとリストアを試す機会がありましたので紹介させていただきます。

事前準備

IAM設定

AWS Backup 用のサービスロール、 AWS Backupを操作担当者用のロールを用意しました。

AWSアカウントの利用制限がないユーザ、ロールでAWS Backupを操作する場合、 IAMロールの事前設定は省略可能です。

サービスロール

AWS 管理ポリシーをアタッチしたロールを用意しました。

  • arn:aws:iam::aws:policy/service-role/AWSBackupServiceRolePolicyForBackup
  • arn:aws:iam::aws:policy/service-role/AWSBackupServiceRolePolicyForRestores

2020年1月時点のAWS管理ポリシー、EC2ロールの復元に必要な権限が不足していたため、インラインポリシーを追加して利用しました。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "*"
        }
    ]
}

作業用ロール

以下AWS 管理ポリシーをアタッチした AWS Backup の操作担当者用のロールを作成しました。

  • arn:aws:iam::aws:policy/AWSBackupOperatorAccess

EC2のバックアップ

バックアップルール

バックアップウィンドウ、バックアップ保持期間の調整を行うため、「新しいプランを立てる」を作成しました。

バックアップウィンドウの開始時間は日本時間の夜間(UTC PM:3時)、バックアップの有効期限は「1週間」としました。

DRを想定し、バックアップのコピーをオレゴンリージョンに転送する設定としました。

リソースの割り当て

IAMロールはデフォルト「AWSBackupDefaultServiceRole」を利用する設定としました。

バックアップ対象となるEC2、インスンタンスIDの指定だけでなく、EC2インスタンスのタグを利用する事で複数の対象を指定する事も可能です。

バックアップジョブ 確認

バックアップの対象、結果はバックアップジョブで確認可能です。

AMIの確認

東京リージョン、コピー先として指定したオレゴンリージョンのAMI、「AwsBackup_」のAMI名で始まるAMIが作成されている事を確認できました。

リストア

インスタンスID指定

保護されたリソースより、リストア対象のEC2インスタンスを選択します。

復旧ポイント指定

バックアップ済みのAMIを選択します。

EC2インスタンス設定

復元するEC2インスタンス、インスタンスタイプ、VPCなどの設定を行います。

復元ジョブ

復元ジョブが「実行中」となります。

EC2インスタンス確認

EC2ダッシュボードで、AWS Backupにより起動されたインスタンスが起動した事を確認できました。

スナップショットからのリカバリ

AWS Backupで作成したAMIに紐づくスナップショットを利用したリカバリーも可能です。

IPアドレスの変更が望ましくない場合や、特定ファイルの復元のみを実施する場合下記の手順をお試しください。

[素朴な手順]EBSスナップショットからファイル復旧してみます

まとめ

マネージメントサービスのAWS Backup、EC2のAMI作成はスナップショットに伴う実費のみで利用できます。 EC2が利用するストレージ Amazon EBSは冗長化され高い可用性を持ちますが、AZ障害などで損傷する可能性があります。 その対策としてAWS Backupを活用ください。

なお、AWS Backup で作成されるAMIはシステム停止を伴わないオンラインバックアップとなります。 データの整合性などが求められるシステムでは問題となる場合があります。

AWS Backup を利用したEC2の設定後、AMIからのリストアをお試しいただき、 リストア後に実施すべき作業の明確化や、必要に応じ整合性を確保できるバックアップ手段を併用する事もご検討ください。

Systems ManagerでVSS(Volume Shadow Copy)を利用したスナップショットを取得する