AWS Backup for Amazon S3を使ってみた


こんにちは。

AWS Backupにはいつもお世話になってます。
今回はS3を対象にできるようになったということで、使ってみます。
S3バケットを丸っとバックアップできて、復元はバケット丸っともできるしオブジェクト単位でもできるみたいですね。

最新情報フィード
AWS Backup for Amazon S3 の一般提供を発表
投稿日: Feb 18, 2022
https://aws.amazon.com/jp/about-aws/whats-new/2022/02/general-availability-aws-backup-amazon-s3/


やること
---
①S3を作成
②IAMロールを作成
③オンデマンドバックアップ
④バックアップから復元

設定してみる
---
### ①S3を作成

S3バケットを作成します。（注意点以外は省略します。）
S3バケットを作成するときの注意点は、以下の2つです。

__1.オブジェクト所有者の設定でACLを有効にする。__
※これをしないとリストアするときにエラーがでます。
![01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2606412/91e99a94-1a08-9dfa-7bd8-8e491766a438.png)

__2.バージョニングを有効にする。__
※これをしないとAWS Backupの対象に指定できません。
![02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2606412/c03d8ce0-fd17-dfb1-37b2-b2feb6eb260f.png)



### ②IAMロールを作成

AWS Backupにはデフォルトロールの用意がありますが、S3のポリシーは含まれていません。
AWS管理ポリシーにS3Backupのポリシーは用意されています。AWS管理ポリシーだけのIAMロールを作成します。（注意点以外は省略します。）

IAMロールの作成するときの注意点は以下の2つです。

__1.信頼されたエンティティでAWS Backupを選択する。__
※これをしないとAWS BackupのIAMロールに指定した後にエラーがでます。
![03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2606412/2d702fe5-9e0c-7763-0426-72f4edf0997c.png)

__2.IAMポリシーを指定する。__
※これをしないとバックアップ・リストア時にエラーがでます。
![04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2606412/f70598ac-142e-3802-5ca9-b057ccd03e0a.png)


### ③オンデマンドバックアップ（AWS Backup）
オンデマンドバックアップをする前に、オプトインを有効にする必要があります。
#EC2やEBSは初期値が有効なので意識してませんでしたが、S3は無効になっています。
#リージョン別の設定です。

AWS Backupの「設定」から画面を開きます。
![05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2606412/7c3d17d8-8518-f26b-fce4-d9fb035db890.png)

リソースタイプS3のステータスを有効にします。
![06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2606412/8762aab1-bdbc-5631-36ff-fbb6a662513e.png)

ついでに、S3に何かしらのオブジェクトをアップロードしておきましょう。

これで準備は整いました。
オンデマンドバックアップを実行します。
オンデマンドバックアップはAWS Backupの「保護されたリソース」の画面から
「オンデマンドバックアップの作成」を押下することで実行できます。

オンデマンドバックアップを作成の画面では、作成したS3バケットとIAMロールを選択します。

S3の選択。
#バージョニングのエラーが出た場合は、S3の設定を見直します。
![08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2606412/893f4db4-5004-0433-1c85-2d17d8c1c360.png)

IAMロールの選択。
![09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2606412/26213717-5652-2ab6-3514-c525214edf3c.png)

上記を選択して、「オンデマンドバックアップを作成」を押下します。
少し待つとジョブのステータスが完了になります。
![10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2606412/3868cb63-579a-7654-fca9-e575541ab9f5.png)

__エラーの紹介__
Err1：IAMロールの権限不足
Backup job failed because of insufficient privileges.
![11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2606412/574d275c-7363-02cd-a638-e03919edf563.png)
Err2：信頼されたエンティティの誤り
IAM Role arn:aws:iam::AWSACCOUNTID:role/IAMROLE does not have sufficient permissions to execute the backup.
![12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2606412/c203e763-2f58-333d-6195-69030472b0d0.png)
Err3：サービスのオプトインし忘れ
S3 resource type is not opted in. Opt in to the resource type using update region settings.
![13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2606412/83dce737-0a26-660b-12d2-1391b68c9ec1.png)

### ④バックアップから復元
バックアップ終わったので、S3のオブジェクトを事前に消してリストアの確認です。

オンデマンドバックアップと同じく「保護されたリソース」からバックアップ済みのリソースを選択して、「復元」を押下します。
![14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2606412/755d2d37-67c6-29a2-2ea6-9cb9b02417ff.png)

今回は、IAMロール以外はデフォルトにします。
![15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2606412/06bdbbb9-ec38-0cd6-f45b-10c2ada33c12.png)
![16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2606412/27fcf331-4ee8-7e93-3abc-fd11bb7376b7.png)

復元ジョブが完了していました。
![18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2606412/f29abfe9-155a-3f73-e93a-136f3b8fa5ff.png)

S3のオブジェクトも確認しましたが、オブジェクトは復元してました。

__エラーの紹介__
Err1:S3バケットのオブジェクト所有者ACL有効化し忘れ
Cannot restore, as the BucketOwnershipControls of S3BUCKETNAME do not allow the use of object ACLs.
![17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2606412/46a52aea-20f4-d4e9-2e87-cc0e46e514d1.png)


最後に
---
とりあえず試してみましたが、さくっと設定できて良いですね。
（エラーを踏みまくってますが。）
CMKの利用・クロスリージョンコピー等、他にも試したいところはありますが、今後の課題です。
S3のレプリケーションでは、RTC(99.99%が15分以内にレプリケート)やプレフィックスの指定が出来ましたが、こちらはインターフェース上からは見つけられませんでした。
どちらも良い機能なのでユースケースに合わせて選択したいですね。