Azure仮想マシンのバックアップを定期的に取得する方法

#はじめに
AzureのVMを復元するツールに、スナップショットがあります。
OSディスクやデータディスクのスナップショットを取ることにより、それらを用いたVMの新規作成や、既存VMのディスクの交換が可能になります。
スナップショットの取得の仕方やVMの復元方法を、備忘録としてまとめてみました。
この記事を書く前の筆者は、VMをsysprepしたのちに作成する「イメージ」をスナップショットを混同していたので、イメージの概要や、スナップショットの差異についても、簡単にまとめています。
#スナップショット
ある時点でのVMのディスクの状態をコピーしたもの。
###スナップショットの作成
![snapshot.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/469705/62e207a3-6aa5-6d79-f13d-75d6563a2a0f.png)
![snapshot2.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/469705/7bc431a4-698c-3a81-e02e-501553021010.png)
「ソースディスク」の欄から、スナップショットを作成したいディスクを選ぶ。
あとはよしなに。
###スナップショットの使い方①　VMを新規作成する
VMを作成する際に、「ディスク」の項で「新しいディスクを作成し接続する」を選択する。
![snapshot3.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/469705/5a8629ec-9242-6ad6-2020-56959670de49.png)
「ソースの種類」から「スナップチャット」を選択する。
![snapshot4.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/469705/c4805809-9393-c232-8ae2-516c7ae7ab31.png)
以降、VM作成の通常の手順に則ると、スナップショットを取得したときの状態のディスクを持つVMを新たに作成することができる。
###スナップショットの使い方②　既存VMのディスクを復元する
####OSディスクのスワップ
![snapshot5.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/469705/39329f6d-e8f3-f1de-d060-fdf37cf67bd0.png)
VMの「ディスク」から、「OSディスクのスワップ」を選択。以降は表示に従えば完了。
####データディスクの追加
上記写真の「データディスクの追加」を選択すればできる。
####データディスクのスワップ
上記写真の「編集」をクリックし、既存のデータディスクをデタッチする。（都合により写真はナシ。）
#Azureバックアップ
ユーザの設定したスケジュールに従い、VMのディスクのバックアップを取得できる。
##Azureバックアップ作成までの流れ
###1.RecoveryServicesコンテナの作成
![RecoveryServiceContainer.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/469705/b1dd370b-c6d5-fd08-4499-6b3383ab471f.png)
###2.バックアップpolicyの作成
「バックアップポリシー」から「追加」を選択。
![RecoveryServiceContainer2.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/469705/b1d1e4c5-52d7-a1ae-25f8-e0b5a56098a3.png)
![RecoveryServiceContainer3.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/469705/a8d147d2-f65a-3890-053a-50f39b41dee4.png)
![RecoveryServiceContainer4.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/469705/e7dedd2d-9530-ff30-d57d-feb11dbf3f3a.png)
###3.バックアップ対象のVMの登録
「RecoveryServicesコンテナ」の「バックアップ」から、ポリシーと関連付けるVMを選択する。
![RecoveryServiceContainer5.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/469705/d228a180-28b2-ae8c-d443-3dd63f7232c1.png)
「バックアップポリシーの選択」で、使用したいバックアップポリシーを選択する。
![RecoveryServiceContainer6.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/469705/5d3c4a0c-7bea-fa93-4033-a5dcfc295c2e.png)
次に、関連付けたいVMを選択する。
![RecoveryServiceContainer7.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/469705/d9c58707-c303-171d-9cb5-6fbdd11978d5.png)
##バックアップできていることの確認
「RecoveryServicesコンテナ」の「バックアップアイテム」から、バックアップしているアイテムを選択する。
![RecoveryServiceContainer8.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/469705/26423161-08ea-6997-7ed2-e58e02d29ae9.png)
「前回のバックアップの状態」が「スナップショット」なら、スナップショットの取得は完了しているが、コンテナへの転送は未完了。
「スナップショットと資格情報コンテナー」のときは、両方が完了している。
「コンテナー」であれば、インスタントリストアの保持日数が経過していることが示されている。
###バックアップからの復元方法①　VMを新規作成する
写真に示されているパスから、バックアップを取ったVMを選択し、「VMの復元」をクリックする。
![recovery1.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/469705/762a6291-aede-d0cb-1e44-4b3b262dfdbc.png)
「復元ポイント」で、復元したい時点のスナップショットを選択する。
![recovery3.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/469705/b49e0019-6609-14ad-0644-c664315df4a2.png)
「バックアップするアイテム」の「復元の種類」で、「仮想マシンの作成」を選択する。残りの項目はよしなに埋め、OKを押す。
![recovery2.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/469705/6e55ce1b-a9b9-1049-6e59-4fd20b7a3db4.png)
これで、選択した時点のディスク情報を有するVMを新規に作成できる。
サイズやユーザ名、パスワードは元のVMと同じ。
パブリックIPアドレスは新規作成となる。可用性セットは元のVMから引き継がれない。配置不可。
要はVMの構成をカスタマイズできない。
###バックアップからの復元方法②　ディスクを復元する
「復元の構成」で、「復元の種類」から「ディスクの復元」をクリックする。残りはよしなに。
![recovery4.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/469705/5d89a176-1863-d579-68f7-7539b76191d9.png)
これで、選択した時点の情報を有するディスクを作成できる。
このディスクを既存のVMのディスクとスワップすることで、VMに障害が起こった場合などには切り分けの一助となる。
###バックアップからの復元方法③　VMのディスクを交換する
「復元の構成」で、上部で「既存の以下のものを置き換えます」を選択する。残りはよしなに。
![recovery5.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/469705/4041e93d-f614-bf78-727a-75f5010be513.png)
これで、選択した時点のディスクを復元し、バックアップ元のVMの持つディスクと丸ごと交換される。
もともと接続していたディスクはすべてデタッチされ、復元したディスクはすべてアタッチされる。
##オンデマンドバックアップ
写真に示されているパスから、バックアップを取っているVMを選択する。
上部の「今すぐバックアップ」を選択すると、バックアップポリシーで定めていないタイミングでもバックアップを取ることができる。
![RecoveryServiceContainer9.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/469705/8b7c90f3-bc74-2510-b66f-39d8cc670432.png)
ただし、スケジュールされたバックアップを停止すると、オンデマンドバックアップもできなくなる。
##費用
・VMインスタンスのサイズ（ディスクの実際の容量。OSディスク＋データディスクの実使用料合計）と、使用したストレージの容量で、費用が決まる。
・課金の停止には、バックアップデータの削除が必要。バックアップを停止するだけでは、課金は停止されない。
・GRSはLRSの倍の費用が掛かるが、サブリージョンへの転送費用がかからない。
　＊GRSとLRSについては、のちに説明。
##用語
**ディスク**
　・OSディスク：Cドライブ。OSが入っているファイル。VMのCドライブは、BlobストレージにVHDファイルとして格納されている。やや遅い。
　・データディスク：一時ディスク。VMをホストする物理サーバのディスクを使用しているため、VMの再デプロイ、一時停止後には別のホストへとVMが移動していることがある。要は、データディスクに格納したデータにアクセスできなくなる可能性がある。
**インスタントリストア**
バックアップやリストアにかかる時間を短縮するための仕組み。
　[こちら](https://www.softbanktech.co.jp/special/blog/cloud_blog/2019/0021/)に詳しい。
**LRS local redundant storage**
>プライマリ リージョンの 1 つの物理的な場所内で、データを同期的に 3 回コピーします。 LRS は最もコストのかからないレプリケーション オプションですが、高可用性を必要とするアプリケーションには推奨されません。

**GRS geo redundant storage**
>LRS を使用して、プライマリ リージョンの 1 つの物理的な場所内で、データを同期的に 3 回コピーします。 その後、セカンダリ リージョンの 1 つの物理的な場所にデータを非同期的にコピーします。

LRSとGRSについては、[こちら](https://docs.microsoft.com/ja-jp/azure/storage/common/storage-redundancy)を参照。
#おまけ
##イメージ
###sysprep
VMから固有情報を削除して、一般化するための準備作業。
一台のコンピュータにwindowsをインストール、設定を行い、そのディスクイメージを複製して他のコンピュータに展開する。
Azureから作成したVMにリモートログインし、sysprepを実行する。パスは図の通り。
![VM_sysprep.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/469705/3c0c3c32-5faf-d9df-6042-47d8538c757d.png)
以下のように選択。
![VM_sysprep2.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/469705/82a318a8-903d-6696-efa6-1c3ca09568d1.png)
VMから離れ、元のPCのAzurePortalの該当VMの画面から、「キャプチャ」を選択。イメージを作成する。
![VM_sysprep3.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/469705/b8cf12d5-b905-1035-1ba8-6e2106bd4fa7.png)
![VM_sysprep4.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/469705/1ee4b2a2-db3e-0c65-3372-97c23028dde5.png)
イメージを作成すると、そのもととなったVMは使用することができなくなるので、注意が必要である。
「VMの作成」から、イメージを基にVMを作成する。
サブスクリプションや、インスタンスをデプロイするリージョンは選択できない（元のVMと同じ）が、アタッチするネットワークやOSディスクの種類、データディスクは選択できる。
![VM_sysprep5.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/469705/b6ab4205-4969-dd1c-886e-caa98ca5440f.png)
VMでのsysprepの起動方法は、explorerから選択する以外の方法もある。
詳しくは[こちら](https://milestone-of-se.nesuke.com/sv-basic/windows-basic/sysprep-general/)。
##イメージとスナップショットの違い（勝手な想像）
###使用場面
・スナップショット：ディスクの簡易的なバックアップ。ゲームのセーブみたいな感じ。
VMに何かしらの変更を施す前にスナップショットを取ることで、切り戻しの着地点とする。
・イメージ：大規模なキッティングを行う前の準備。作成したイメージを基に、コンピュータのセットアップを行う。
生贄が必要。（イメージ作成の基になったVMはもう使うことができないことの意。）
#まとめ
以上、AzureVMのバックアップの取得方法まとめでした。
特にAzureバックアップは、多少の費用はかかりますが、定期バックアップとして非常に有効な役割を果たしてくれそうです。
Azureを実際に社内システムとして利用している人は、どのような設定をしているのでしょうね。
おしまい。