【Azure】オンプレミスWindows VMをRecovery Service コンテナーにバックアップする

みなさん、こんにちは！

 今回はAzureの選定理由としてもよく上げられるAzure Backupについてご紹介します。
バックアップの必要性や重要性は皆様ご存じかと思います。様々なバックアップサービスがある中でAzure Backupを理解しご参考になれば幸いです。

### 目次
 * Azure Backupとは？
 * Azure Backupを利用するメリット
 * Azure Backupでバックアップを取ってみる（オンプレWindowsVMパターン）
 * まとめ

## Azure Backupとは？
Azure BackupとはMicrosoft Azureが提供するバックアップサービスです。 
Recovery Services コンテナーやバックアップ コンテナーと呼ばれる、バックアップ専用のストレージに厳密に保管されます。 
Azure Backupによるバックアップ対象は下記になります。
 * オンプレミスのＶＭ(Hyper-V と VMware)
 * Azure VM
 * Azure Managed Disks※
 * Azure Files 共有
 * Azure VM 内の SQL Server

Azureが提供されているサービスのバックアップだけではなく、オンプレミスのVMもバックアップができるのもポイントです。
※コンテナーに転送されず、スナップショットを自動取得、自動削除を提供

## Azure Backupを利用するメリット
Azureのドキュメントには様々なメリットが記載されいますが、その中で３つ紹介したいと思います。

### 無制限のデータ転送が可能
クラウドサービスでは、アウトバウンド通信に料金がかかることが一般的でAzureもその1つです。 
ですが、Azure Backupを利用する際はアウトバウンド通信に料金がかかることがありません。 
そのためオンプレサーバーへAzure Backupから大量のデータをリストアする際も、費用が想定以上にかかってしまった...という心配はありません。 
実際にかかる費用はRecovery Services コンテナーに格納されたデータ容量のみです。

### バックアップエージェントをAzure Backupが提供
Azureサービスをバックアップする際は、Azure portal上で完結するため、エージェントは必須ではありません。 
オンプレミスでWinodws VMを利用している場合、Microsoft Azure Recovery Services (MARS)エージェント を利用してバックアップすることが可能です。 
その際インターネット回線でバックアップを行うため、VPN等の回線は必要ありません。 
さらにエージェントを利用することで、フォルダ単位、ファイル単位でバックアップが可能です。

### 高いセキュリティ性
データを保護するためバックアップされたデータは自動で暗号化されます。
もちろん転送中もHTTPS と TLS 1.2 以降のプロトコルを利用するためバックアップデータの改ざんや削除を防ぐことができます。 
より高いセキュリティ性を持たせるため、ユーザーのアクセス制御やプライベートエンドポイント経由でのバックアップも提供が開始されました。 
すでに備わっている機能だけでなく、ユーザー側でも設定することでより高いセキュリティを確保することが期待されます。 
実装前に一度Docsをチェックしておきましょう。

[Azure Backup のセキュリティ機能の概要](https://learn.microsoft.com/ja-jp/azure/backup/security-overview)

## Azure Backupでバックアップを取ってみる
（オンプレWindowsVMパターン） では実際にAzureにアクセスして、Azure Backupを使ってみましょう。 
今回はAzureに作成したWindows VMをオンプレVMと見立てて、MARSエージェントをインストールします。 
このとき、Azureのサブスクリプションのご用意と、最低限Backup ContributorのをRBACロールを付与していてください。

[Microsoft Azure Recovery Services (MARS) エージェントをインストールする - Azure Backup | Microsoft Learn](https://learn.microsoft.com/ja-jp/azure/backup/install-mars-agent)

Azure portalへサインイン後、 ビジネス継続センター＞管理＞コンテナーにアクセスし、「＋コンテナー」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/8a1e5d42-81fa-4719-985c-a73556107ec2.png)

Recovery Service Vaultを選択して、画面下の続行をクリック。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/7eeb3c3b-3835-4764-b7be-d1830b421fd5.png)

リソースグループを選択、または新規作成して、コンテナー名、リージョンを指定しましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/4bec43e0-3506-426d-9e5b-696687892796.png)

ここでバックアップデータの冗長性を設定できます。今回は一番冗長性と価格が低いローカル冗長性を選択します。
デフォルトではgeo冗長になっており、西日本にもデータを冗長化してくれますが、一度バックアップするとローカル冗長に戻せません。
バックアップを開始する前に、今一度確認しましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/4a6c1dd4-f83a-44c5-8f91-daf7ae406783.png)

暗号化、コンテナーのプロパティ、ネットワーク、タグはデフォルトのまま設定し、Recovery serviceコンテナーを作成します。
デプロイが完了したら、リソースに移動をクリックしてください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/c33ea21f-3284-43d9-8493-1597337ad87f.png)

作成が完了したら、バックアップの設定を行います。 はじめに＞バックアップをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/1a19aceb-02b2-4ac4-b1e8-59b524810350.png)

ワークロードはオンプレミスを選択し、 ファイルとフォルダーまたはシステム状態を選択してください。両方選択しても構いません。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/fc0d727a-1ae5-4679-b91d-205a61312f51.png)

Windows ServerまたはWindows クライアント用エージェントをダウンロードをクリックすると エージェントがダウンロードされます。
後程、エージェントはWindows serverで利用しますので、ローカルPC等で行っている場合はWindows serverにリダイレクトしてください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/f6c03c86-c714-4032-a1d6-f781aa9a640b.png)

最新のRecovery service Agentをすでにダウンロードしたか、使用しているにチェックを入れ コンテナーの資格情報をダウンロードします。こちらもWindows server上で利用します。
ここまでがAzure portalで行う作業です。次にWindows serverにアクセスしてください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/9914a108-665f-4ca5-bbf5-a878bd611e29.png)

Windows serverに先ほどAzure portalでダウンロードしたエージェントのインストーラーを開きます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/e1ec70b3-fcbc-4dae-9bdb-af7d1090a595.png)

インストーラーを開くと、インストール先のフォルダーとキャッシュの場所を指定します。
今回はデフォルトのまま進みます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/9e170608-9ad2-40be-9565-dbd48978fbd0.png)

ネットワークプロキシを介してインターネットにアクセスする場合は指定します。
サーバーから直接インターネットにアクセスするため、デフォルトのまま進みます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/fc516dac-eab2-48cd-979f-7736981bc256.png)

要件がない限り、Microsoft Updateを使用して更新プログラムを確認するを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/8375032d-415b-4c1b-8619-47d48a1ef16c.png)

.NET4.5やWindows Powershellがインストールされていない場合はエージェントと一緒にインストールされます。
どちらも利用可能のため、インストールを開始します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/e32c61a4-ae48-494d-b51d-22b3a6189c55.png)

インストールが完了しました。
次にRecovery Service コンテナーへバックアップをするため資格情報を入力します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/11a102ec-297e-4b90-a860-dbac1f771a4a.png)

先ほどAzure portalでダウンロードした資格情報のファイルを追加して下さい。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/abd21425-ade0-48c9-8424-e198548f0bf9.png)

資格情報を入れると、自動でRecovery Service コンテナー、リージョン、サブスクリプションIDと資格情報の有効期限が下記のように表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/7d840753-ca6c-4004-a8a3-db19f6878d36.png)

バックアップデータの暗号化、複合化を行うためのパスフレーズを入力します。
今回はサーバー上に保存していますが、このサーバーが障害等で復帰できず、ほかのサーバーへリストアを行う場合もこのパスフレーズが必要になります。
Microsoftの推奨である、安全でセキュリティに保護されたAzure Key Vaultに格納することでパスフレーズの紛失の心配もなくなるので、なるべくKey Vaultを利用しましょう。
今回の手順ではKey Vaultをご用意していないのでサーバーに保存します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/1afd4111-0ddd-48b6-ba19-4295eb5dbb45.png)

パスフレーズが保存されました。これでAzure Recovery Service コンテナーとの連携は完了です。
閉じるをクリックし、次に対象データのバックアップポリシー設定を行います。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/08c5c173-5a3e-4a40-ac30-138611f5bde1.png)

デスクトップにMicrosoft Azure Backupのアイコンが表示されているためクリックをして開きます。
そうすると下記のような設定画面が出てきます。 バックアップのスケジュールをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/89b257f5-cfcd-4a83-b48b-0503d220da28.png)

次へをクリック。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/509ca521-2450-4cb7-ad39-9a65230d96f6.png)

項目の追加をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/e5753ab3-140f-45e2-9a90-7f60f3da7383.png)

バックアップの対象ファイルやフォルダを選択します。
今回はテスト用のファイルのバックアップを取ります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/a2c484fe-4bf9-4425-aa54-4c54cf4be58f.png)

OKをクリックすると下記のようにバックアップ対象として選択されます。
追加しない場合は次へをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/72883563-4879-48c8-8a87-7516330e52d6.png)

次にバックアップのタイミングを設定します。
一日最大3回までバックアップでき、週単位のバックアップも可能です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/58933773-3870-44d1-b7d6-d61d41ed4c09.png)

次にバックアップの保持期間を設定します。
最低7日から設定が可能なので、下記で設定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/3f72f7e1-a56b-482f-8dc0-77a5678772d7.png)

次に初回バックアップをOnlineで行うか、AzureデータセンターへデータをOfflineで輸送するかを選択できます。
バックアップデータが大きい場合はOfflineの検討も行いましょう。別途料金はかかります。
今回はOnlineで初回バックアップを行います。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/6d46ec82-db37-4a14-97a5-fe47b11e6026.png)

最後に設定内容の確認をします。
問題なければ、完了をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/d6e3cc8e-1874-4fde-a300-860d00961efb.png)

閉じるをクリック。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/88684650-96ba-486c-b7b3-e25ca1df24c6.png)

閉じる一日放置し、バックアップポリシーで設定した時間にバックアップを実行されたのも確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/79462553-2764-4ceb-84af-a68fbd92c46a.png)

Azure portalでも同じようにバックアップされたことを確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/491c65fb-b455-4598-8080-098389765147.png)

ここまでがバックアップの設定方法でした。

## まとめ
GUIで設定できるため、非エンジニアでもできると思います。
Windows VMのバックアップをクラウドに取りたいときはぜひこの方法でやってみてください。
今度は、Backupリソースの削除について記載します。