5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

EFSのバックアップ設定と復元方法 (AWS Backup使用)

Last updated at Posted at 2021-11-13

はじめに

EFSでバックアップしたファイルを復元する方法についてまとめました。

前提条件

  • EFS作成済み
  • EFSにマウント設定したEC2作成済み
    作成方法はこちらの記事を参考に

流れ

  1. バックアップ設定
  2. EFSを復元
  3. 注意点:復元にかかる時間
  4. 注意点:増分バックアップ
  5. 復元履歴確認

バックアップ設定

EFSは、自動バックアップを有効化にすると、自動でバックアップされます。
スクリーンショット 2021-11-13 16.40.41.png

バックアップの設定は、AWS BackupバックアッププランからEFSを選択し、バックアップルールをクリックすると確認できます。
スクリーンショット 2021-11-13 16.43.22.png
スクリーンショット 2021-11-13 16.43.42.png

実際にバックアップされたリソースは、バックアップボールトから確認できます。
スクリーンショット 2021-11-13 17.43.32.png

バックアップボールトとは「バックアップを整理するためのコンテナ」であると説明されています。EC2 のバックアップである AMI 、RDS のバックアップであるスナップショットなどをまとめて管理するための器のようなイメージを持つとよいでしょう。

バックアップボールドについての詳細はこちら↓

EFSを復元

バックアップボールトから復元したいリソースを選択し、復元をクリックしましょう
スクリーンショット 2021-11-13 17.43.32.png

設定

下記の画像のように設定しました。
特に説明する箇所はありませんが、項目レベルの復元というのは、例えば、
EC2の/mnt/efsディレクトリにマウントされていて、復元したいファイルパスが /mnt/efs/file1 である場合は、「/file1」と入力します

スクリーンショット 2021-11-13 16.58.34.png

バックアップを復元をクリックすると、以下のエラーになります。

アクセスが拒否されました
このアクションを実行するには権限が不十分です。必要な権限についてはアカウント管理者に相談してください。

原因は、EFSバックアップボールトのアクセスポリシー内のDeny backup:StartRestoreJobがあるためです。
復元が拒否されていますね。

AWS Backupのコンソールからバックアップボールトをクリックし、EFSバックアップボールトをクリックすると、アクセスポリシーがあります。

backup:StartRestoreJobの箇所を削除しましょう。
削除前
スクリーンショット 2021-11-13 17.08.42.png
削除後

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Deny",
            "Principal": {
                "AWS": "*"
            },
            "Action": [
                "backup:DeleteBackupVault",
                "backup:DeleteBackupVaultAccessPolicy",
                "backup:DeleteRecoveryPoint",
                "backup:StartCopyJob",
                "backup:UpdateRecoveryPointLifecycle"
            ],
            "Resource": "*"
        }
    ]
}

再度、バックアップを復元をクリックすると、復元が実行されました。
スクリーンショット 2021-11-13 17.19.35.png

新しくEFSが作成され、aws-backup-restore_というディレクトリ内に、ファイルやディレクトリが復元されているかと思います。

また、aws-backup-lost+foundディレクトリが存在しています。
適切なディレクトリに復元できないデータフラグメントは、aws-backup-lost+found ディレクトリに配置されます。
バックアップの実行中にファイルシステムに変更が加えられると、フラグメントがこのディレクトリに移動される場合があります。

注意点:復元にかかる時間

ジョブを復元のステータスが完了しても数GBがある場合、数時間かかることがあります。復元が完了したことは、アナウンスされませんので注意してください!

また、完全な復元を選択した場合、EFSが作成されていると思いますが、同様に復元が完了していません。
EFSのファイルシステム一覧を確認すると、合計サイズが数KBしかありませんので、数時間待ちましょう。

ちなみに、2021年11月の時点では、2GBのEFSを復元するのに1時間かかりました

スクリーンショット 2021-11-13 17.21.07.png

注意点:増分バックアップ

AWS Backup は EFS ファイルシステムの増分バックアップを実行します。
最初のバックアップ時には、ファイルシステム全体のコピーが作成されます。
そのファイルシステムのその後のバックアップでは、変更、追加、削除されたファイルとディレクトリのみがコピーされます。

そのため、バックアップボールトの復旧ポイントの詳細のバイト数が少なく感じるかもしれませんが、復元時は、もっとバイト数が大きくなると思って間違いありません。

復元履歴確認

AWS Backupジョブジョブ履歴から復元履歴が確認できます。
スクリーンショット 2021-11-13 17.34.43.png

参考

5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?