🔙

Azure VMのバックアップ方法について整理してみる

2023/03/28に公開

モチベ

今回もオンプレの常識を知らないクラウドネイティブ人材であるわたくしの自己満足企画です。AzureのVMバックアップってAzure Backupがぱっと頭に浮かぶけど、スナップショットとかそういう機能もあったような、、、?ということでそれを整理したいのがモチベになります。

基本は3種類

  • Azure VM Backup

https://learn.microsoft.com/ja-jp/azure/backup/backup-azure-vms-introduction

  • Managed Diskのスナップショット

https://learn.microsoft.com/ja-jp/azure/virtual-machines/snapshot-copy-managed-disk?tabs=portal

  • Azure Disk Backup

https://learn.microsoft.com/ja-jp/azure/backup/disk-backup-overview

それぞれ見ていく(正直上記リンクが答えだけど、、、)

Azure VM Backup

概要

  • Recovery Services コンテナーにAzure Site Recoveryと共に組み込まれている機能
  • VM単位でバックアップを取得する
  • 初回バックアップはフルバックアップで、そこから先は増分バックアップとなるため初回のみ少し時間がかかる
  • 定期バックアップはBackup Policyで設定されているスケジュールに従って取得され、取得したデータの保持期間に従ってデータが消去される
  • VM単位でバックアップを取得するため、OSディスクだけでなくデータディスクも利用している場合はそれらを含めた1つのバックアップとして扱うことができる

利用方法

  • Recovery Services コンテナーを作成し、+バックアップを選択する

  • あとはAzure Portalの画面に従って設定をしていくだけで構成可能

  • 既定ではDefaultPolicyが利用されるため、バックアップ取得のスケジュールや保持期間をカスタムしたい場合には専用のポリシーを作成する

  • ZRSやトラステッド起動のVMを利用する場合にはEnhancedのポリシーを作成する必要がある

Managed Diskのスナップショット

概要

  • ディスク単位でアドホックに取得するスナップショット
  • 複数のディスクがある場合はそれぞれでスナップショットをとる必要がある
    • この時、それらのディスクに保存されているデータに依存関係があるとタイムラグによる不整合が発生してしまうため、基本オフラインで取得する
  • ディスクのスナップショットのサイズは実際に利用されているディスク容量に依存
    • ディスクリソース的には500GB確保していたとしても、30GBしか使っていなければスナップショットのサイズも30GBとなり課金対象の容量も節約される

利用方法

  • スナップショットを取りたいディスクのリソースを開き、スナップショットの作成を選択

  • 初回はフルバックアップを取る必要があるが、前回のスナップショットがある場合には増分スナップショットを利用可能

  • アドホックな利用を想定しているため自動化には別途スクリプトが必要

Azure Disk Backup

これが影薄い

概要

  • ディスクのスナップショットのスケジューリングが可能になったような位置づけの機能
    • スナップショットの定期的な作成を自動化
    • 増分スナップショットを使ってクラッシュ整合性のバックアップを取る
    • ディスク用のバックアップポリシーを作成して管理する
  • 仮想マシン全体をバックアップするより特定のディスクのみをバックアップするのでコスト効率が高い

注意

  • 以下の要件がある場合はAzure VM Backupで対応
    • データディスクを含むVMのアプリケーション整合性でのバックアップ
    • バックアップからVM全体を復元
    • ファイルまたはフォルダ単位での復元
    • セカンダリリージョンに復元

利用方法

  • Recovery Services コンテナーではなくバックアップコンテナーが必要

  • +バックアップから構成

  • データソースとしてAzure ディスクを選択

  • ディスクバックアップ用のポリシーを作成

    • Hourly/Dailyを選択可能
    • データ保持期間はデフォルトで7日間
  • バックアップしたいディスクを選択

  • バックアップコンテナーのマネージドIDにバックアップ対称ディスクへの権限が必要

    • ディスクバックアップ閲覧者を付与する
  • 不足しているロールの割り当てから自動でロールを割り当ててくれる

  • さらに自動で再検証もしてくれる

  • (事前にマネージドIDに権限を割り当てておいてもいい)

その他Tips

  • VMのバックアップを任意のタイミングにのみ1度だけ取りたい場合にどうするか
    • 下記のサポートブログにも記載されているが、48時間だけAzure VM Backupを有効化するか、ディスクのスナップショットを取るかという話になる

https://jpabrs-scem.github.io/blog/AzureVMBackup/invalid_schedule/

  • こちらにRecovery Services コンテナーか否かといった観点でソリューションがまとまっていた

https://jpabrs-scem.github.io/blog/AzureBackupGeneral/RSV_BV/

おわり

Azureのバックアップは基本的に継続的なバックアップを想定しているので、素直に行くならAzure VM Backupをまず検討して、コスト最適化観点で突き詰めるのであればスナップショットとか使うのがよさそう、、、ですかね。ただバックアップの期間が空きすぎるとリストアした時にAD環境でドメイン参加できなくなる(30日間でパスワードが変わる)という可能性もあるので、気を付けたいところ。

GitHubで編集を提案
Microsoft (有志)

Discussion