AWS Backupで別のAWSアカウントのRDSをバックアップ実行と管理

## 前提情報

* AWSアカウント１がOrganizationsの親でAWSアカウント２が子とします。AWS Backupで別アカウントのバックアップ管理は、現状Organizationsが必須です。
* AWSアカウント２(子)で"service-role/AWSBackupDefaultServiceRole"のIAMロールを作成しておく。
    * これは、[この手順](https://docs.aws.amazon.com/ja_jp/aws-backup/latest/devguide/iam-service-roles.html)で作るか、[このブログ](https://dev.classmethod.jp/articles/backup-ec2-getbackup-001/) のようにAWS Backupで一度オンデマンドバックアップを行うと自動で作ることも可能。この方が楽です。
* AWSアカウント２(子)でRDSを作っておきます。今回は"tmp-backuptest"という名前で作り、タグbackup:trueを付けています。
* AWS Backup でクロスアカウント管理機能を有効にします。

https://docs.aws.amazon.com/ja_jp/aws-backup/latest/devguide/manage-cross-account.html#enable-cross-account

* 以下の記事の続きのような形で進めます。

https://qiita.com/pioho07/items/8a27a31008e2ba994501

* AWSアカウント１(親)からAWSアカウント２(子)のRDSのバックアップを実行管理します。

# 手順

## AWSアカウント１(親)でバックアップポリシー作成

AWS Backupの画面に行き、メニューの"バックアップポリシー"をクリックし、[バックアップポリシーを作成]をクリック

![スクリーンショット 0003-06-18 12.16.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27932/7e1faaff-f0e4-a1d0-01c7-5d0d1e335dc4.png)

以下の値を入れ、右下の[ポリシーを作成]をクリック

* ポリシーを作成
    * ポリシー名：demo-policy
    * ポリシーの説明：demo-policy
* バックアッププランの詳細
    * バックアッププラン名：demo-plan
    * バックアッププランのリージョン：東京リージョン
* バックアップルールを追加
    * バックアップルール：demo-rule
    * バックアップボルト：Default
    * バックアップウインドウをカスタマイズ：チェック
    * バックアップウインドウの開始時間：18:00 UTC (日本時間としてはAM 03:00)
    * 次の時間以内に開始：1時間
    * 次の時間以内に完了：2時間
    * 保存期間：２日
* リソースを割り当てる
    * リソース割り当て名：demo-resource
    * IAMロール：service-role/AWSBackupDefaultServiceRole
    * リソースタグキー：backup
    * タグ値：true

![スクリーンショット 0003-06-18 12.17.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27932/efde0e7c-a2cf-0ca6-8448-a15f0375ef18.png)

ターゲットを追加
[アタッチ]をクリックし、AWSアカウント２(子)を選択し、ターゲットとなるAWSアカウント追加します。

![スクリーンショット 0003-06-18 12.29.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27932/5b9995bf-8597-2558-b15d-c48e403589ee.png)

## AWSアカウント２(子)で確認

AWSアカウント２にログインし確認します。

#### AWS Backup確認

AWS Backupの画面に行き、バックアップポリシーをクリック。AWSアカウント１(親)で作成したバックアップポリシーが送られてきている

![スクリーンショット 0003-06-18 12.34.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27932/3af44e96-d480-b86c-7f9f-214be08dd109.png)

"バックアッププラン"をクリック

![スクリーンショット 0003-06-18 12.35.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27932/eb50fb4c-11df-9296-2e29-a9ee977a58cf.png)

バックアッププランを開くと、「バックアップポリシーから作られたもののため編集できない」メッセージが出ている。AWSアカウント１(親)で管理されていることがわかる。画面下の"バックアップルール"や"リソース割り当て"も先程設定したものになっていることを見ておく

![スクリーンショット 0003-06-18 12.35.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27932/46ac5946-31be-d693-9416-b39f6ab1ede3.png)

# 動作確認

スケジュールされた時刻が過ぎバックアップされたことを確認する

#### AWSアカウント１(親)でAWS Backupのクロスアカウントモニタリング

モザイクしてるので分かりづらいが、モザイク箇所はAWSアカウント２(子)のIDが入っている。AWSアカウント１(親)からAWSアカウント２(子)のバックアップジョブの状態が確認できる

![スクリーンショット 0003-06-22 6.33.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27932/9dcef960-3ede-67a4-44d0-77c4be01c390.png)


#### AWSアカウント２(子)でAWS Backup ジョブ確認

AWSアカウント２(子)で実行されたRDSのバックアップジョブが確認できる

![スクリーンショット 0003-06-22 6.35.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27932/53ab4a15-33fc-d791-b74a-0cec1c67e7cf.png)


#### AWSアカウント２(子)でAWS Backup クロスアカウントモニタリング

AWSアカウント２(子)からは見れない。自分のジョブはジョブで見ればよく、他のアカウントのジョブの状態は見えてはいけないので、この挙動で正しい

![スクリーンショット 0003-06-18 13.22.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27932/bf38214c-c4d9-f7c9-96a1-65995775aa26.png)

#### AWSアカウント２(子)のRDSのバックアップ確認

![スクリーンショット 0003-06-22 6.39.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27932/c0545c04-f1d9-b886-bb6b-ae85b414642a.png)


# 参考

AWS Backupの薄い教科書
https://qiita.com/pioho07/items/68ccbc7b974b1466e7a6