AZ-104対策 バックアップの実装とリカバリ Azure Filesのバックアップ編

#本記事で取り扱うこと

現在__Azure Files__を用いたシステムの運用設計をしています。
Azure Backupを使ったAzure Filesのバックアップ方法について勉強したことをまとめます。

AZ-104では<font color="Blue">__Azure資源の監視とバックアップ__</font>というテーマで10%～15%の割合で問題が出ます。
Azureサービス名で言うと、__Azure Monitor/Azure Backup/Recovery Service Vault__が出題されると明記されています。

今回はAzure Backupを使ったAzure StroageのFile共有のバックアップについて、理解するべきポイントを紹介していきます。

#ポイント
* Azure BackupでAzure Filesのバックアップをする際の仕様、制約を理解する
* Azure Backupのバックアップ対象を理解する
* Backup Policyを設定する
* 復元ポイントについて理解する
* 復元操作について理解する

#ポイントの詳細
## Azure BackupでAzure Filesのバックアップをする際の仕様、制約を理解する
### スナップショットのレプリケーション戦略

一つ目のポイントは__スナップショットのレプリケーション戦略__です。

Azure Backupを利用する場合、まずは<font color="LightSeaGreen">Recovery Services コンテナー</font>を作成します。
Recovery Servicesコンテナーでは、バックアップスケジュールとスナップショットの保有期間のBackup Policyを定義し、スナップショットからファイルを復元することが出来ます。

Recovery Serivcesコンテナー毎に、スナップショットを他のリージョンに転送するかどうかです。
他のリージョンに転送する場合は、バックアップ構成を__GRS(geo冗長)__にします。そうでない場合はLRSを選択します。

ちなみにコンテナー構築時にラジオボタンなどでGRSもしくはLRSを選択できるわけではありません。
<font color="Red">勝手にgeo冗長(GRS)</font>で作られます。

![2-recovery-container.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/307047/f5027e50-861a-5aa7-5099-0b091ff1aa73.png)

安心を得るために常にGRSを選択したいところですが、__ストレージコストが2倍かかってしまいます__。
LRSで利用したい場合は、コンテナーを作成した後に設定の変更をしましょう。
<font color="Red">バックアップを取得した後で変更することはできません</font>ので注意してください。

変更する場合は[プロパティ]>[バックアップ構成]>[更新]を選択し、「ローカル冗長」を選択して「保存」を押しましょう。

![3_recovery_service.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/307047/c3123c66-b5c4-b95f-945c-f9ff7095293f.png)

![4_select.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/307047/f84ca440-7113-f4f3-fb1a-b17858592247.png)

##Azure Backupのバックアップ対象を理解する
###バックアップできるAzureサービスは?
Recovery Services コンテナーの設定が完了したので、実際に<font color="MediumAquaMarine">Azure File共有</font>をバックアップしてみましょう。
Azure環境下でバックアップ対象として選択できるサービスは現時点で4つあります。

![5_backup_object.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/307047/add36cd2-dd5a-fefe-1ba0-2ddc47e17c3d.png)

例えば以下のようなシステムを構築する場合、VMとAzure FilesはAzure Backupを使ってバックアップを取得できます。
Postgre SQLとBlob Containerは現在プレビュー機能として提供されていますが、商用利用は推奨されていません。
![1.use_service.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/307047/7fff4a48-2cd3-ddc8-a9ea-9f7a2b9d2598.png)

Postgre SQL自体にpg_dumpを__最大35日間__保有する機能が備わっていますが、Azure Backupを使うと__10年間保持__できるようです。
早くGAしてほしいですね。

###東日本リージョンのRecovery Servicesコンテナーで他のリージョンのAzure Filesをバックアップできるか?
__出来ません__。実機で確認してみましょう。
東日本リージョンに作ったRecovery Servicesコンテナから東アジアリージョンのAzure Filesをバックアップしようとしても、そもそも対象のStorage Accountが表示されません。
![6_no_storage.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/307047/3b1c8985-a27b-5c8d-237e-a116d8646561.png)

__リージョンさえ一緒なら、他のリソースグループに所属するAzure Filesをバックアップすることが出来ます__。

確認してみましょう。
他のリソースグループにtokyoaccountという名前のストレージを別のリソースグループ内に作成します。

![9_storage.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/307047/11f53e03-7f96-cd04-15e1-9554709fd6a6.png)

demo-kumaリソースグループに所属するdemo-kuma Recovery Servicesコンテナーでバックアップを試みます。

![8_demo-kuma-regin.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/307047/78a18a9f-ee2c-fcbd-40aa-e7a6de762266.png)

別の***-rgに所属するtokyuaccountが表示されました。

![7_tokyuaccount.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/307047/6372e7f4-663a-db88-1976-3ca723e62cf5.png)

##Backup Policyを設定する
Azure Backupは日次、週次、月次、年次でバックアップを取得することが出来ます。
これらはBackup Policyで指定します。

例えば以下のように指定することが可能です。

|バックアップのタイミング|タイミングの詳細|保有期間|備考|
|:---|:---|:---|:---|
|日次|毎日12:30|30日間||
|週次|毎週木曜12:30|5週|毎週火曜と木曜日等複数指定可能|
|月次|毎月第1週木曜12:30|60か月|毎月第1週と2週の火曜と木曜日等複数指定可能|
|年次|毎年4月第1週木曜12:30|10年|毎年第1週と2週の火曜と木曜日等複数指定可能|

日次・週次・月次・年次を組み合わせることで柔軟なバックアップポリシーを設定することが出来ますが
__時刻は固定__です。日次と週次で異なる時刻を指定することはできません。

![11_update_policy.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/307047/92c1cee8-b11c-adfe-5935-47fe0bb416d1.png)

##復元ポイントについて理解する

スナップショットを取得することで、スナップショットを取得した時点の状態にデータを戻すことが出来ます。
この__戻すことが出来る地点__のことを__復元ポイント__と言います。

日次と週次で同じ時間にバックアップを取得する場合は復元ポイントは1つとカウントされます。

![10_recovery_point.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/307047/0af90a5f-f12e-4055-7b4a-67e32f2558ba.png)

##復元操作について理解する
復元の種類には大きく分けて2種類あります。

|復元の種類|タイミングの詳細|
|:---|:---|:---|:---|
|共有の復元|元の場所または別の場所にファイル共有そのものを復元できる。|
|ファイルの回復|個々のファイルまたはフォルダーを元の場所または別の場所に復元できる。|

![13_recovery.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/307047/40d57674-2e42-7729-545a-b0425596a2e9.png)

__ファイルの回復__では、復元ポイントに加えて復元したいファイルを99個まで指定できます。

![15_add_files.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/307047/c9de187b-76d3-ece2-f639-d9c17726b621.png)