AWS Backup Audit Managerって何よ？

# はじめに
みなさんディザスタリカバリ（DR）対策は万全ですか？
今年は大阪リージョンが発表された影響もあり、東京-大阪でのマルチリージョン化がムーブメントとなっているのではないでしょうか？
AWSではDR構成として大きく4パターン（バックアップ&リストア、パイロットライト、ウォームスタンバイ、ホットスタンバイ）が用意されています。

そして私は丁度、東京-大阪DR構成を、AWS Backupを用いたバックアップ&リストア方式で検討している真っ最中で、AWS Backupお任せくださいマンになろうとしています。
そんな中、AWS re:Inforce 2021でAWS Backupの機能拡張「**Backup Audit Manager**」が発表され、内容が気になったので新機能を試してみました。 
（※）ちなみに只今02:00、とても眠いです、、

# Backup Audit Manager

AWS公式Youtubeに[ムービー](https://www.youtube.com/watch?v=UH9sDD9UT38)が上がっていたので見てみる。
以下、動画に添えられていた解説文より引用。

> AWS Backup Audit Manager is a new capability in AWS Backup that allows you to audit the compliance of your backup activity using defined parameters to meet business and regulatory needs. By using built-in customizable controls and defining parameters, such as backup frequency or retention period, you can audit your backups to see if they satisfy your organizational and regulatory requirements. 

ふむ、何やら**AWS Backupの監査や監査レポートを生成**をしてくれる機能らしい。

# とりあえず試してみる
文章を読んでもあんまりピンと来ないのが監査系の宿命。。
とりあえずやってみよう。
![Screen Shot 2021-08-25 at 1.53.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/290494/cb6c8777-fd84-b328-23e3-ed6216f5b290.png)
お！何やらAWS Backupのコンソールに項目が増えてる！
Backup Audit Managerは「Frameworks」と「Reports」の2つの機能を提供しているらしい。

## Backup Audit Manager - Frameworks
何をしてくれる機能なの？
**5つの評価項目（後述）ごとに準拠しているリソース/していないリソースを集計してくれる機能**


### フレームワークの作成
![Screen Shot 2021-08-25 at 2.18.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/290494/6775cbaf-677a-ba01-cdca-c8cabce4c067.png)
とりあえず、推奨！と書かれている方のフレームワークを選択（※1）。
しばらく放置しておくと、、

### 制御評価結果の出力
![Screen Shot 2021-08-25 at 2.20.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/290494/15729d45-0846-99fd-f37b-b4d3875915c4.png)
やばい！なんか大量に引っかかってる。。
各項目を確認していく。パット見たところ、非準拠の判断条件は下記の模様

- バックアップ復旧点の最小保持期間
    - **Snapshotの保持期間が「1日以上」に設定されていない**
- 復旧点の手動削除をバックアップによって防止
    - **Snapshotが手動で削除可能になっている**
- バックアッププランによって保護されたバックアップリソース
    - **AWS Backupで取得可能なリソースタイプ（EBS,EC2,RDS etc..）なのにAWS Backupプランに含まれていない**
- バックアップ復旧点暗号化
    - **Snapshotが暗号化されていない**
- バックアッププランの最小頻度と最小保持期間
    - **Snapshot取得間隔が"1時間"以上 and 保存期間が"1ヶ月"以上 ではないリソース**

よくよく調べてみると、この「コントロール」と呼ばれる評価項目の正体はConfigルールだった（※2）
![Screen Shot 2021-08-25 at 2.43.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/290494/37cfc831-fdc1-8626-1434-8fcb3af6a785.png)
なるほど、道理で見覚えのあるUIな訳だ。。

（※1）フレームワーク作成時に「カスタムフレームワーク」を選択すると評価項目のパラメータをユーザ側で指定できる
（※2）「Frameworks」で作成されるConfigルールはAWSマネージド型ルールとなり、Configからチューニングできないので、パラメータ編集はAWS Backup側から行わないとダメ

## Backup Audit Manager - Reports
何をしてくれる機能なの？
**AWS Backupのイベント（バックアップ作成、の復元、コピー）の監査ログをCSV/JSON形式でS3へ自動エクスポートしてくれる機能**

### レポートの作成
AWS Backupイベント毎にテンプレートが用意されているので、今回は「バックアップジョブレポート」を選択
![Screen Shot 2021-08-25 at 2.54.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/290494/b6c46686-dd60-8363-010b-9e683f374a29.png)

### レポートの配信先
作成したレポートの配信先となるS3バケットを指定してあげる。
バケット名を選択すると、S3バケットのアクセスポリシーにこのJSON追記しといてね♪ という表示が。親切！
![Screen Shot 2021-08-25 at 2.58.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/290494/ae2c5556-c8d0-ffc0-4be2-9397f15b6d85.png)

### レポート作成完了
レポートのステータスが「完了」になったらS3にレポートが出力されている
![Screen Shot 2021-08-25 at 3.01.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/290494/6a62405d-1921-d5ea-2a7f-4602f5981d40.png)

### レポートの中身を確認してみる
S3バケットを覗くと、、
Region＞Year＞Month＞Day でディレクトリが切られてレポートが出力されている
![Screen Shot 2021-08-25 at 3.03.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/290494/648c0be0-d30e-4399-4e9d-5078b553e31a.png)

CSVの中身は、、
![Screen Shot 2021-08-25 at 3.09.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/290494/1f9e5f52-bda1-3eee-ae9b-4868493a7b8d.png)
中身は少し端折っていますが、
AWS Backupのバックアップイベント周りの情報（Jobのステータス、Jobのメッセージ、リソースタイプ・ARN、バックアップ完了時刻 etc..）が出力されています

このレポート機能、24時間おきに自動で取得→S3格納までやってくれる模様。
（まだアナウンス後3時間なので、2発目のレポート作成までは回らなかった。。）

「お前らちゃんとバックアップ取ってるんだろうな？」という怖い監査人にはこの日時レポートを見せつけましょう。きっと満足してもらえるはず
そして、システム担当者の負担も限りなく低く実現することができそうです。 ※格納用S3バケット作ってコンソールをちょっとポチポチなので、15分もあればできるはず

### 未確認な所
Organizationを利用したマルチアカウント運用時によく登場するのが「ログ集約用アカウント」(※1)。
このReports機能、Organization統合で自動的にログ集約用アカウントにログを送りつける、なんてできるんだろうか？
できたらとても嬉しいはず。これは要検証ポイント。
(※1) OUに属するアカウントのログをかき集めて保管する専門のアカウント。

# まとめ
統制の厳しいシステムを運用していると避けて通れない「監査」。
胃に穴が開きそうになりますよね。
そんな時ははAWS Backup Audit Managerをポチッと有効化して楽しちゃいましょう。
きっと幸せな未来が待っているはず。