Azure ファイル共有バックアップ (Azure Files Backup) の Vault Tier への保存を試す！


こんにちは、駆け出しアーキテクトのやまぱんです。

今回は Azure Backup の一種類である Azure Files Backup の新機能、Vault Tier への保存を試してみました。
* 執筆時(2023/06/06(火))時点ではプレビュー(プライベートプレビュー)機能になります、プレビュー部分については GA (一般提供)までに仕様が変わる可能が十分にありますのでご承知おきください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2982508/ba52dd0c-7a49-1ec9-7e23-0e62a0c2f516.png)

## 何がどうなって、なにが嬉しいんだってばよ
### いままでの Azure Files バックアップ (Snapshot Tier) の仕組み 
いままでの Azure Files Backup (Azureファイル共有バックアップ) では Azure Files の機能であるスナップショットを決められた定刻に取得し、決められた保持期間保持し、保持期間が過ぎればスナップショットを削除するというものでした。

**Azure Files のスナップショットはストレージ アカウントそのもののスナップショット領域に保存されるものであって、データのコピー(バックアップ)を別の場所に持つようなソリューションではありませんでした。**
**そのため仮にもし万が一ストレージ アカウントそのものが破損してしまうようなことがあった場合には復元することができません。**


・バックアップ プロセスのしくみ - Azure ファイル共有のバックアップについて
https://learn.microsoft.com/ja-jp/azure/backup/azure-file-share-backup-overview
> 抜粋：ファイル共有データは Backup サービスには転送されません。これは、Backup サービスでは、ストレージ アカウントの一部であるスナップショットの作成および管理が行われ、バックアップはコンテナーに転送されないからです。

ちなみに他にも Azure Backup の中でコンテナー(バックアップ専用の保存領域)に転送されないものはあります。
詳細は下記の公式ブログをご覧ください。
・バックアップソリューションとコンテナー、およびデータ保存先の比較表 - Japan CSS ABRS Support Blog !!
https://jpabrs-scem.github.io/blog/AzureBackupGeneral/RSV_BV/#1


また、 Azure Files のスナップショットはストレージ アカウント内に完全なコピーを持つものでもありません。
**具体的には初回のスナップショットも完全コピーが取られる仕組みにはなっていません。**
初回スナップショットを取得してもスナップショット領域にはデータは保存されません、データの削除や追加を行うとその分が初めてスナップショット領域に保存されます。

これが本質的に増分と表現している所以です。
通常の増分バックアップでは初回はフルスナップショット(バックアップ)が取られますが、 Azure Files のスナップショットではそうではありません。

・共有スナップショット
https://learn.microsoft.com/ja-jp/azure/storage/files/storage-files-faq#billing-and-pricing
> 抜粋：共有スナップショットは、本質的に増分です。 基本の共有スナップショットは、共有そのものです。 それ以降の共有スナップショットはすべて増分であり、先行する共有スナップショットとの差分のみが格納されます。 変更されたコンテンツに対してのみ、請求されます。 共有に 100 GiB のデータがあり、最新の共有スナップショットの後に 5 GiB だけが変更された場合、共有スナップショットは追加の 5 GiB のみを消費し、請求は **105 GiB** に対して行われます。

↑補足：上記の **「105 GiB」 は 「Azure Files共有 のデータ100 GiB」 +  「Azure Files スナップショットのデータ 5 GiB 」です。**


余談ですが、、、検索して出てくる下記のTokyo Electron Device さんの記事は一回目のスナップショットの動作に関しての内容が間違ってると思います。
(もし関係者のかたがいらっしゃったら修正してくださればと思います。)
・[TED社_Azure基本の「き」_Azure Files のスナップショット](https://cptechweb.teldevice.co.jp/hc/ja/articles/360042172994-Azure-Files-%E3%81%AE%E3%82%B9%E3%83%8A%E3%83%83%E3%83%97%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88#:~:text=Azure%20Files,%E3%81%AE%E5%85%B1%E6%9C%89%E3%82%B9%E3%83%8A%E3%83%83%E3%83%97%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%E3%81%AE%E6%9C%80%E5%88%9D%E3%81%AE%EF%BC%91%E5%9B%9E%E3%81%AF%E3%80%81%E6%9C%AC%E4%BD%93%E3%83%87%E3%83%BC%E3%82%BF%E3%81%A8%E5%90%8C%E3%81%98%E3%82%B5%E3%82%A4%E3%82%BA%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%20%EF%BC%92%E5%9B%9E%E7%9B%AE%E4%BB%A5%E9%99%8D%E3%81%AF%E5%A2%97%E5%88%86%E3%81%A8%E3%81%AA%E3%82%8A%E3%80%81%E6%9C%80%E6%96%B0%E3%81%AE%E5%85%B1%E6%9C%89%E3%81%AE%E3%82%B9%E3%83%8A%E3%83%83%E3%83%97%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%E3%81%AE%E5%BE%8C%E3%81%AB%E5%A4%89%E6%9B%B4%E3%81%95%E3%82%8C%E3%81%9F%E3%83%87%E3%83%BC%E3%82%BF%E3%81%A0%E3%81%91%E3%81%8C%E4%BF%9D%E5%AD%98%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82)
![TED社_Azure基本の「き」_Azure Files のスナップショット](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2982508/d39aeead-7e45-ac99-19fc-1de926c65b24.png)

### 今回リリースされた Azure Files バックアップ(Vault Tier) の仕組み
一言で言えば、データの保存先がその Azure Files のスナップショット領域ではなく、Backup専用のストレージ(コンテナ( Recovery Services コンテナー/ Recovery Services vaults ))に保存されるようになりました。
なのでソースのストレージ アカウントが破損してもリストアすることが可能です。
以下現在の仕様です。(プライベートプレビューなので変わる可能性はあります。)

* 現在  、英国西部、ノルウェー東部、東アジア、英国南部、カナダ中部、米国中西部、オーストラリア東部、北ヨーロッパ、米国中部、東日本、東南アジア、スイス北部、西ヨーロッパで利用できます。

* ストレージ アカウントと Recovery Services コンテナーは同じリージョンに存在していないといけません。

* プライベート プレビューでのバックアップでサポートされるファイル共有の最大サイズ (使用容量) は 500 GB です。この制限は、今後のリリースで増える予定。

* コンテナー内のバックアップを使用したファイル共有単位での回復のみがサポートされます。そのため、ソース ストレージ アカウント内の別のストレージ アカウントまたは別のファイル共有への復元を実行できます。(いままでは特定のファイルのみを復元することも可能でした。)

* ネットワーク アクセスが制限されているストレージ アカウントは現在サポートされていません。ストレージ アカウントのすべてのネットワークからのアクセスが有効になっていることが必要。

* 	コンテナーに転送されるスケジュールバックアップは 1 日に 1 つだけ。(スケジュールバックアップ以外にオンデマンドバックアップで取ったものはVaultに転送されます)

* 現状はクロスリージョンリストアには**非対応**(ですが、将来的に対応する可能性がある気がします)


> 1.) データの分離コピー。これにより、バックアップを使用してシームレスな復元を実行することで、ソース データが侵害された場合でもビジネスの運用を続行できます。
> 
> 2.) 最大 99 年間の長期保有。監査とコンプライアンスの要件を満たすことができます。
> 
> 3.)  暗号化され保護されたバックアップ。ランサムウェア保護が提供されます。
> 
> 4.)  一元的なバックアップ管理。バックアップ センターを使用します。

https://azure.microsoft.com/ja-JP/updates/azurefilesvaultedbackups-2/

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2982508/a914f929-67ea-2dd2-89c4-f2517d20b917.png)

上記URLのリンクからプライベートプレビュー登録して、下記のようなのメールが来て2~3日で使えるようになります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2982508/68367e74-9c62-e88e-acd2-7428363fe5f0.png)

## つかってみる

**下記の専用URLから Azure Portal にログインする**
* https://aka.ms/afshardening

### ポリシー設定
要点だけまとめると、、以下のような感じです。

*  Recovery Services コンテナー を新規作成する必要はない。
*  バックアップポリシーはVault Tier のバックアップポリシーを新規作成する必要がある
*  Backup 構成されていない Azure Files 共有が必要 (すでに Azure Files Backup の構成(Snapshot Tier)が取られた Azure Files に対しては新たに作成したVault Tier を紐づけることはできない。)

:::note info
【参考】
Azure Files Backup の構成(Snapshot Tier)が取られた Azure Files に対しては新たに作成したVault Tier を紐づけようとすると下記のエラーがでる
```
エラー コード
File shares backed up with the policy that retains backups only as snapshots cannot be associated with a policy that enables data transfer to the vault.
推奨される操作
Please protect an unprotected file share with the policy that enables data transfer to the vault.
```
:::

#### 【参考】実際のバックアップポリシー作成画面
- Tier をスナップショットを選んだ場合のオプション画面(古)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2982508/63b7ce0d-dac9-5217-a64e-f853ec751ecb.png)

- Tierに Vault (standard) を選んだ時のオプション画面(新)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2982508/63ac0ff7-0ed3-ebe2-c880-bad8f6ce8a4c.png)

:::

### 実際にバックアップしてみる
やり方は旧来と同じく、スケジュールバックアップか今すぐバックアップ(オンデマンドバックアップ)によって実施することが可能です。
完了したバックアップ ジョブを確認する。

* まずはいままでのスナップショット層の Azure Files バックアップのバックアップ ジョブ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2982508/fe5b9c8c-cf4c-e5a4-4dd8-68553b22287e.png)

Take Snapshot フェーズしかないことが分かります。

* 次に、今回の Vault-Tier のバックアップ ジョブ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2982508/7b041044-dab8-abf0-9dc0-38d9340f3ee2.png)
 Transfer data to vault  フェーズもあることが分かります。

### リストアもしてみる(ALR)
無事に Azure Files 共有が別のストレージ アカウントの Azure Files 共有内に丸ごとリストアされました。


## あとがき

是非皆さんも検証環境などで試していただき、是非フィードバックしてみてください～！