【Azure-11】Azure VM バックアップ

Azure上の仮想マシンをAzure VM バックアップでバックアップします。
他にも「Microsoft Azure Recovery Service エージェントバックアップ」という機能もあるようですがリストアがややこしそうなのでより簡単なそうな「Azure VM バックアップ」を検証したいと思います。
目次
Recovery Services コンテナ―の作成
まず最初に「Recovery Services コンテナー」を作成します。
ホーム画面の検索ボックスへ「Recovery」と入力し、表示された候補の「Recovery Services コンテナー」を選択すると「Recovery Services コンテナー」画面へ遷移します。

「Recovery Services コンテナーの作成」をクリックします。

「資格情報コンテナー名」は任意の名前を入力し、その他はプルダウンから選択します。

「コンテナーのプロパティ」、「ネットワーク」、「タグ」の設定はそのままで「確認および作成」>「作成」をクリックします。

「デプロイが完了しました」が表示されることを確認し、「リソースに移動」をクリックします。
Recovery Services コンテナーが構成されました。

Recovery Services コンテナー用ストレージの可用性の設定
既定では geo冗長 が使用されますが検証だけの場合、冗長は特にそこまで必要ないのでローカル冗長やゾーン冗長へ変更します。
Recovery Services コンテナーの管理画面を開き、「プロパティ」をクリックします。

「バックアップ構成」の「更新」をクリックします。

「ローカル冗長」を選択し、「保存」をクリックします。

Azure VM バックアップの構成
Azureから展開された仮想マシンは内部にエージェントがあるようですのでバックアップ要求を送るだけでバックアップが作成されます。
まずはどのようにバックアップするか構成します。
Recovery Services コンテナーの管理画面を開き、「+ バックアップ」をクリックします。

以下のとおり選択し、「バックアップ」をクリックします。

「バックアップの構成」画面を入力します。
DefaultPolicyがもともと設定されていますがそのまま利用すると検証にもかかわらず毎日バックアップが走り、想定外にコストが上がってしまいます。
そのためポリシーを新しく作成して進めていきます。
ポリシーのサブタイプに「Standard」と「Enhanced」があります。
「Enhanced」のほうがより細かく内容を指定することができます。
「新しいポリシーを作成する」をクリックします。

「ポリシーの作成」画面を任意の情報で更新し、OKをクリックします。

「仮想マシン」の「追加」をクリックし、バックアップ対象の仮想マシンを選択します。
今回は仮想マシン(Windows)の「vmwin01」を選択し、OKをクリックします。

追加されました。
「OSディスクのみ」というオプションもあるようですが今回は仮想マシンすべてのバックアップとします。

内容を確認し、「バックアップの有効化」をクリックします。
「デプロイが完了しました」が表示されることを確認し、「リソースに移動」をクリックします。バックアップが構成されました。

Recovery Services コンテナー > バックアップタブ > バックアップアイテム > Azure Virtual Machine をクリックすると対象の仮想マシンが表示されています。
これでバックアップスケジュールが有効になりました。
「View details」をクリックします。

設定した内容を確認することができます。
設定した日時が来ると自動でバックアップが取得されます。

Azure VM バックアップを手動実行
スケジュールを待たずにバックアップしたい場合に手動でバックアップを実行します。
リストア時にひと目でわかるようにデスクトップとCドライブへフォルダやファイルを作成しておきます。
(バックアップ取得後、リストア前にデスクトップとCドライブのフォルダやファイルを削除する予定です)
また今回は運用時を想定して起動中の仮想マシンをバックアップしたいと思います。

Recovery Services コンテナーの管理画面を開き、「保護されたアイテム」の「バックアップアイテム」をクリックします。

「バックアップ管理の種類」の「Azure Virtul Machine」をクリックします。

バックアップしたい仮想マシンを右クリックし、「今すぐバックアップ」をクリックします。

バックアップの保持期限を決め、OKをクリックします。

画面右上の通知を確認するとバックアップのトリガーが進行中ですとなっています。

2~3分待つとバックアップジョブページで進捗を監視してくださいとなります。

Recovery Services コンテナーの管理画面を開き、「監視」の「バックアップジョブ」をクリックします。

状態が「進行中」のジョブを確認します。

バックアップの「進行中」が「完了」となりました。約41分かかったことになります。
「詳細を表示」をクリックするとバックアップのサイズや経過した時間が表示されます。


ストレージアカウントの作成
リストアを試したところ「仮想マシンの復元」画面で「ステージングの場所」が選択できませんでした。(正しくは、プルダウンによる選択ですがプルダウン内に何も表示されませんでした)
調査してみるとストレージアカウントを事前に作成しておく必要があるようでリストアを試すためにここでストレージアカウントを作成します。「仮想マシンの復元」画面で「ステージングの場所」が表示される場合は、ストレージアカウントを作成する必要はないと思います。
ホーム画面の検索ボックスへ「ストレージアカウント」と入力し、表示された候補の「ストレージアカウント」を選択すると「ストレージアカウント」画面へ遷移します。

「+ 作成」をクリック。

「基本」タブを入力し、「次へ:詳細設定」をクリックします。「ストレージアカウント名」は任意の名前とし、他はプルダウンより選択します。

「詳細設定」タブは、デフォルト値のまま「次へ:ネットワーク」をクリックします。


「ネットワーク」タブは、デフォルト値のまま「次へ:データ保護」をクリックします。

「データ保護」タブは、「復旧」のすべてのチェックを外し「次へ:暗号化」をクリックします。

「暗号化」タブは、デフォルト値のまま「次へ:タグ」をクリックします。

「タグ」タブは、デフォルト値のまま「次へ:レビュー」をクリックします。

設定内容を確認し、「作成」をクリックします。しばらくすると「デプロイが完了しました」が表示されます。ストレージアカウントが作成されました。

リストア(新規仮想マシンとしてリストア)
まずは新規仮想マシンとしてリストアしてみます。既存の仮想マシンは残したまま別途リストアするイメージです。Recovery Services コンテナーの管理画面を開き、「保護されたアイテム」の「バックアップアイテム」をクリックします。「Azure Virtual Machine」をクリックします。
復元したい仮想マシンを右クリックして「VMの復元」をクリックします。

仮想マシンの復元画面で「選択」をクリックします。

画面右側の復元ポイントの選択画面で先ほど手動バックアップしたバックアップアイテムを選択し、OKをクリックします。


設定内容を確認し、「復元」をクリックします。


右上の通知へ状況が表示され、復元をトリガーしていますの表示を確認します。

Recovery Services コンテナーの管理画面を開き、「監視」の「バックアップジョブ」をクリックします。状態が「完了」になっていることを確認します。バックアップは時間かかりましたが復元は3分ほどで復元されました。

仮想マシン「vmwin99」が「実行中」の状態で新規作成(復元)されていることを確認します。

パブリックIPアドレスは付与されてないため、ロードバランサーにインバウンドNATを設定し、ネットワークセキュリティグループでファイアウォールを開けててRDP接続できるか確認します。ネットワークセキュリティグループは、vmwin01で利用しているのもを併用します。

リモートデスクトップ接続できました!
起動中の仮想マシンをバックアップしたものをリストアしたので予期せずシャットダウンしたのポップアップが表示されます。これは起動中のものをバックアップしたため表示されていますが特に問題はありませんので理由を選択し、OKをクリックします。

リストア(既存の仮想マシンを上書きでリストア)
既存の仮想マシン(vmwin01)を上書きでリストアします。
リストアする前に既存の仮想マシンのデスクトップのファイルとCドライブのworkフォルダを削除しておきます。(上書きリストアした際に目視でわかるようにするためです)

上書き予定の仮想マシンが実行中の場合、上書きリストアできないため停止して割り当て解除の状態にしておきます。ディスクを置き換えるのでOSの構成やデータは復元されますが、ネットワーク構成などは現在の値を引き継ぎます。おそらくIPアドレス、ネットワークセキュリティグループ、インバウンドNAT規則が該当すると思います。
Recovery Services コンテナーの管理画面を開き、「保護されたアイテム」の「バックアップアイテム」をクリックします。「Azure Virtual Machine」をクリックします。復元したい仮想マシンを右クリックして「VMの復元」をクリックします。

仮想マシンの復元画面で「選択」をクリックします。

画面右側の復元ポイントの選択画面で先ほど手動バックアップしたバックアップアイテムを選択し、OKをクリックします。


「復元の構成」で「既存を置換」を選択、「ステージングの場所」を選択し、復元をクリックします。


右上の通知へ状況が表示され、復元をトリガーしていますの表示を確認します。

Recovery Services コンテナーの管理画面を開き、「監視」の「バックアップジョブ」をクリックします。「復元」の状態が「進行中」になっていることを確認します。

復元が完了しました。今回の復元は 21分 かかりました。上書きだからか今回たまたまかまではわかっておりません。

復元後、ネットワーク構成(プライベートIPアドレス、ネットワークセキュリティグループ、インバウンドNAT規則)を引き継いでいたのですぐにリモートデスクトップ接続することができました。また、削除したフォルダやファイルも復元されたのでバックアップイメージから復元されたことが証明されました。

まとめ
今回は「Azure VM バックアップ」機能のバックアップとリストアを検証しました。操作自体はそれほど難しくはなかったですがバックアップアイテムの見方など、いまいち理解できてない部分もありましたのでまた勉強したいと思います。
Azureに関する検証は、ひとまずこれで終了で機会を見つけて、また挑戦したいと思います。