AWS BackupがリリースされたのでEBSで試してみた

AWSの新サービス「AWS Backup」がリリースされました。
このサービスが実案件でも非常に使えそうなので、ひとまず使ってみました。
#AWS Backupとは
公式サイトの解説を掻い摘むと以下のような感じです。

- バックアップの自動化と集中管理を支援
- 主な機能
    - ポリシーベースのバックアップ計画の作成
    - 進行中のバックアップのステータスの監視
    - コンプライアンスの確認
    - バックアップの検索/復元
    - これらをすべてマネジメントコンソールを使用して実行
- 既存のAWSスナップショット操作と新しい専用バックアップ操作の組み合わせを使用してバックアップ
- バックアップできる対象は以下の通り
    - EBSボリューム
    - EFSファイルシステム
    - RDSとAuroraデータベース
    - DynamoDBテーブル
    - Storage Gatewayボリューム
- Amazon Simple Storage Service（S3）にバックアップ
    - 古いバックアップを Amazon Glacierに保管
- Storage Gatewayのボリュームもバックアップ可能
    - つまりオンプレミスのデータもバックアップできる
 
引用: https://aws.amazon.com/jp/blogs/aws/aws-backup-automate-and-centrally-manage-your-backups/

#AWS Backupを使用する
まずマネジメントコンソールで、AWS Backupを開きます。
https://console.aws.amazon.com/backup/home

次に「Create backup plan」の画面では以下の3パターンからバックアッププランを作成できます。

- Start from an existing plan
    - AWSによって作成された計画を含む、既存のバックアップ計画に基づいて新しいバックアップ計画を作成します。
- Build a new plan
    - 構成の詳細を入力して、新しいバックアップ計画を作成します。
- Define a plan using JSON
    - JSON(テンプレート)で計画を定義します。

![Backup4.png](https://qiita-image-store.s3.amazonaws.com/0/211986/d83abd5d-d930-5d6a-10c2-849b5c6b342e.png)

試しに「Start from an existing plan」で進めてみます。次の「Choose plan」でテンプレートを選択できます。デフォルトでは以下の4つがありました。

- Daily-35day-Retention
- Daily-Monthly-1yr-Retention
- Daily-Weekly-Monthly-5yr-Retention
- Daily-Weekly-Monthly-7yr-Retention

※Retention: 保管期間

試しに「Daily-35day-Retention」を選びます。次に「Backup plan name」を任意に入力します。
次の「Backup rules」では、デフォルトで「DailyBackup」というルールが入っています。スケジュールを設定する画面では、以下の項目があります。

- Frequency
    - Daily
    - Weekly
    - Monthly
    - Custom cron expression
- Backup window
    - Use backup window default - recommend
    - Customize backup window
- Lifecycle
    - Transition to cold storage
        - Never
        - Days after creation
        - Weeks after creation
        - Months after creation
        - Years after creation
    - Expire
        - Days after creation
        - Weeks after creation
        - Months after creation
        - Years after creation
- Backup vault
    - Default
    - Create new Backup vault

「Backup vault」はKMSを使って暗号化することもできるようです。
計画が作成されたら、このバックアップ計画にリソースを割り当てることが出来るようになります。
「Backup plans」の画面に移り、「Resource assignments」ではリソースをアサインできます。EBSをアサインする場合、ボリュームIDを指定します。
![Backup6.png](https://qiita-image-store.s3.amazonaws.com/0/211986/cc292af7-73a3-529f-ccfb-3e806ea08ff3.png)
このように設定すると、プランに従ってリソースをバックアップするジョブが出来上がります。
本来は、この通り設定してバックアップジョブが流れるのを待ちたいところですが、手動でオンデマンドバックアップを走らせることもできますので、このオンデマンドバックアップでバックアップ実行時の動きを確認していきます。ダッシュボードから「Create an on-demand backup」を選ぶと、オンデマンドバックアップが作成できます。

![Backup7.png](https://qiita-image-store.s3.amazonaws.com/0/211986/6a865562-5f18-ce82-67b9-fedab9a06116.png)

EBSのオンデマンドバックアップが実行されると、スナップショットができたのが分かります。

その後、しばらくしてジョブが完了すると、リストアポイントが見えるようになりました。この画面で、ボリュームに対して時系列でどんなスナップショットが取られているかを管理できるようです。リストアが楽になると言えます。リストアを実行すると、そのスナップショットから新たなボリュームが作成されました。

![Backup9.png](https://qiita-image-store.s3.amazonaws.com/0/211986/d5d2955b-9f06-5b86-9d32-f6715698491e.png)

#使いこなすポイント「タグ指定でリソースをアサイン」
この「AWS Backup」最大の特徴は何かと考えたとき、タグを指定してリソースをアサインできることかと思います。例えばNameタグ値が『AWS』と指定してアサインすると、対応サービスを横断して、このタグが入っているリソースをルールに従ってバックアップできるようで、この機能を使いこなすとバックアップの一元管理や設定が非常に楽になりそうです。

![Backup14.png](https://qiita-image-store.s3.amazonaws.com/0/211986/0caa2094-d6dc-7e7d-1cf8-6020e808b4f3.png)

#最後に
~~ここまで読んでわくわくされた方には大変申し訳ありませんが、例によって、まだ東京リージョンには対応していません。。上陸が待ち遠しいサービスとなります。~~
##2019/6/28追記: ついに東京上陸！
ついに東京に来ました！

>AWS Backup is now available in six additional regions across Asia Pacific, Europe, and the Americas: Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Seoul), EU (London), Canada (Central), and US West (Northern California). 

これでバックアップスクリプトの作り込みからおさらばできるでしょうか。
ガンガン使っていきたいところです！！
https://aws.amazon.com/jp/about-aws/whats-new/2019/06/aws-backup-is-now-available-in-six-additional-regions/