azure仮想マシンバックアップをリージョン間で復元する構成|az CLIでGRSボールト作成

運営:リナックスマスター.JP(代表 宮崎智広)
HOME > Linux技術 リナックスマスター.JP(Linuxマスター.JP) > Azure > azure仮想マシンバックアップをリージョン間で復元する構成|az CLIでGRSボールト作成
「Azureの東日本リージョンでLinux VMを運用しているが、バックアップをまったく設定していない。リージョン全体で障害が起きたとき、どこへ復元すればよいのか分からない。」

こうした不安を持つエンジニアは少なくありません。Azureのデフォルト設定ではVMのバックアップは無効で、Recovery Services VaultのストレージもLRS(ローカル冗長)で作成されることがあります。LRS構成ではリージョン障害が発生すると、バックアップデータごと失われるリスクがあります。

この記事では、Azure Recovery Services VaultをGRS(地理冗長ストレージ)で構成し、az CLIを使ってVMバックアップのリージョン間復元(クロスリージョンリストア)を有効にする手順を解説します。想定環境はUbuntu 22.04 LTSのLinux VMを「Japan East」に配置し、「Japan West」への復元を対象としています。

この記事のポイント

・GRSボールトはVMバックアップ登録前に設定しないと後から変更できない
・az backup vault backup-properties set でGRS設定とCRR有効化をまとめて行う
・クロスリージョンリストアは --use-secondary-region フラグで実行する
・初回バックアップ後セカンダリへの反映に最大48時間かかる点に注意


「このままじゃマズい」と感じていませんか?
参考書を開く気力もない、同年代に取り残される不安——
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
姓・名・メールの3つだけ/30秒/解除は3秒 / 詳細はこちら

Azure VMバックアップとGRSの仕組み

AzureのVMバックアップを支える基盤が「Recovery Services Vault(RSV)」です。RSVはVMスナップショットを管理するリポジトリで、スナップショット取得・保持・復元をすべて担います。

RSVに設定するストレージ冗長性によって、バックアップデータの耐障害性が決まります。

・LRS(ローカル冗長):同一データセンター内に3コピー。コストは最安だが、リージョン障害でデータが失われる
・GRS(地理冗長):プライマリリージョンに3コピー+セカンダリリージョンに非同期レプリケーション。リージョン間復元が可能
・ZRS(ゾーン冗長):可用性ゾーン間に3コピー。ゾーン障害には強いがリージョン障害には対応しない

GRSをベースに「クロスリージョンリストア(CRR)」オプションを有効化すると、プライマリリージョンが停止していてもセカンダリリージョンのバックアップデータからVMを直接復元できます。

CRR有効化の前提として、次の2点を確認してください。

・RSVのストレージ冗長性がGRSであること(ZRSでは不可)
・CRRオプションを手動で有効化していること(デフォルトは無効)

なお、バックアップ後にセカンダリリージョンへデータが反映されるまで最大48時間かかります。初回バックアップの直後はセカンダリに復旧ポイントが表示されないのはそのためです。Azure VMバックアップの設計思想を体系的に学びたい方は Azureクラウドの実践コース も参考にしてください。

GRSボールトをaz CLIで作成する

1. リソースグループの作成

バックアップ専用のリソースグループを用意します。

# バックアップ専用リソースグループを作成 az group create \ --name rg-vm-backup \ --location japaneast

出力例(環境により異なります)

{ "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/rg-vm-backup", "location": "japaneast", "name": "rg-vm-backup", "properties": { "provisioningState": "Succeeded" } }

2. Recovery Services Vaultの作成

RSVを作成します。`--location` はバックアップ対象のVMと同じリージョンを指定します。

# Recovery Services Vaultを作成 az backup vault create \ --resource-group rg-vm-backup \ --name rsv-linux-prod \ --location japaneast

3. ストレージ冗長性をGRSに設定する

重要:VMバックアップを有効化する前に、ストレージ冗長性をGRSに設定してください。一度でもVMが登録されると、この設定は変更できなくなります。

# ストレージ冗長性をGRS(地理冗長)に設定 az backup vault backup-properties set \ --resource-group rg-vm-backup \ --name rsv-linux-prod \ --backup-storage-redundancy GeoRedundant

設定を確認します。

# ストレージ冗長性の確認 az backup vault backup-properties show \ --resource-group rg-vm-backup \ --name rsv-linux-prod \ --query "properties.storageModelType" \ --output tsv

出力例(環境により異なります)

GeoRedundant

4. クロスリージョンリストアを有効にする

手順3と同じコマンドに `--cross-region-restore-flag True` を追加します。

# クロスリージョンリストア(CRR)を有効化 az backup vault backup-properties set \ --resource-group rg-vm-backup \ --name rsv-linux-prod \ --backup-storage-redundancy GeoRedundant \ --cross-region-restore-flag True

出力の `crossRegionRestoreFlag` が `true` になっていれば有効化完了です。

VMバックアップを構成する

5. バックアップポリシーを確認する

DefaultPolicyの内容を確認します。

# デフォルトポリシーの確認 az backup policy show \ --resource-group rg-vm-backup \ --vault-name rsv-linux-prod \ --name DefaultPolicy \ --query "properties" \ --output json

DefaultPolicyは毎日1回のスナップショット取得・30日間保持が基本設定です。本番環境では保持期間を90日以上に延ばすカスタムポリシーの作成を検討してください。

6. VMにバックアップを適用する

# VMにバックアップを有効化 # --vm にはVMのリソースIDまたはVM名を指定する az backup protection enable-for-vm \ --resource-group rg-vm-backup \ --vault-name rsv-linux-prod \ --vm my-linux-vm \ --policy-name DefaultPolicy

VMが別のリソースグループにある場合は、`--vm` にリソースID(`/subscriptions/.../resourceGroups/.../providers/Microsoft.Compute/virtualMachines/vm名`)を指定します。

7. バックアップジョブの確認

# バックアップジョブの状態確認 az backup job list \ --resource-group rg-vm-backup \ --vault-name rsv-linux-prod \ --output table

出力例(環境により異なります)

Name Operation Status Item Name Start Time UTC Duration ------------------------------------ --------- --------- ----------- ----------------------- -------- xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Backup Completed my-linux-vm 2026-10-30T01:00:00.000 0:08:32

「Status: Completed」になっていればバックアップ成功です。

別リージョンへ復元する(クロスリージョンリストア)

8. セカンダリリージョンの復旧ポイントを確認する

`--use-secondary-region` フラグを付けることで、Japan Westのバックアップデータを参照できます。初回バックアップ後48時間経過してから実行してください。

# セカンダリリージョンのコンテナ一覧を確認 az backup container list \ --resource-group rg-vm-backup \ --vault-name rsv-linux-prod \ --backup-management-type AzureIaasVM \ --use-secondary-region \ --output table

# セカンダリの復旧ポイント一覧を取得 az backup recoverypoint list \ --resource-group rg-vm-backup \ --vault-name rsv-linux-prod \ --container-name "IaasVMContainer;iaasvmcontainerv2;rg-linux-prod;my-linux-vm" \ --item-name "VM;iaasvmcontainerv2;rg-linux-prod;my-linux-vm" \ --backup-management-type AzureIaasVM \ --use-secondary-region \ --output table

9. ディスク復元を実行する

クロスリージョンリストアでは、まずセカンダリリージョンのストレージアカウントにディスクをエクスポートし、そこからVMを再構築します。ストレージアカウントはセカンダリリージョン(Japan West)に事前に作成しておく必要があります。

# セカンダリリージョン(Japan West)にストレージアカウントを作成 az storage account create \ --name sarestore20261030 \ --resource-group rg-vm-backup \ --location japanwest \ --sku Standard_LRS # クロスリージョンリストアの実行(ディスクのエクスポート) az backup restore restore-disks \ --resource-group rg-vm-backup \ --vault-name rsv-linux-prod \ --container-name "IaasVMContainer;iaasvmcontainerv2;rg-linux-prod;my-linux-vm" \ --item-name "VM;iaasvmcontainerv2;rg-linux-prod;my-linux-vm" \ --storage-account sarestore20261030 \ --rp-name <復旧ポイントID> \ --target-resource-group rg-vm-backup \ --use-secondary-region

復元が完了すると、指定ストレージアカウント内の `twicebackupcontainer` コンテナにARM テンプレート(`.json`)とディスク(`.vhd`)が展開されます。このテンプレートをもとに `az deployment group create` で新しいVMを再構築できます。

トラブルシュート

「CrossRegionRestoreNotEnabled」エラーが出る場合

`--use-secondary-region` を指定してもCRRが無効な場合に発生します。手順4の設定を確認し、`crossRegionRestoreFlag` が `true` になっているかチェックしてください。

# CRRの有効化状態を確認 az backup vault backup-properties show \ --resource-group rg-vm-backup \ --name rsv-linux-prod \ --query "properties.crossRegionRestoreFlag" \ --output tsv

「BackupStorageRedundancyCannotBeChanged」エラーが出る場合

すでにVMが登録済みのVaultでストレージ冗長性を変更しようとすると発生します。新規Vaultを作成してVMを再登録するか、対象VMのバックアップ保護を停止してデータを削除したうえで設定し直す必要があります。

セカンダリの復旧ポイントが表示されない場合

初回バックアップ後のセカンダリへの反映には最大48時間かかります。プライマリでバックアップが完了してもセカンダリにすぐ反映されるわけではないため、時間をおいてから再試行してください。

本記事のまとめ

やりたいこと コマンド
RSVを作成する az backup vault create --resource-group RG --name VAULT --location LOCATION
ストレージをGRSに設定する az backup vault backup-properties set ... --backup-storage-redundancy GeoRedundant
CRRを有効化する az backup vault backup-properties set ... --cross-region-restore-flag True
VMにバックアップを適用する az backup protection enable-for-vm ... --vm VM名 --policy-name DefaultPolicy
セカンダリの復旧ポイントを確認する az backup recoverypoint list ... --use-secondary-region
クロスリージョンリストアを実行する az backup restore restore-disks ... --use-secondary-region

現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、

この記事で解説したAzure VMバックアップ・GRSボールト構成・クロスリージョンリストアも含め、クラウド時代のLinuxサーバー管理を体系的に学べるコースをご用意しています。3,100名以上が受講した実績のあるLinuxセミナーです。

>> Azureクラウド実践コースの詳細はこちら

無料メルマガで学習を続ける

Linuxの実践スキルをメールで毎週お届け。
登録は30秒、解除もいつでも可。

登録無料・いつでも解除できます

暗記不要・1時間後にはサーバーが動く

3,100名以上が実践した「型」を無料で公開中

プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。

姓・名・メールの3つだけ/30秒/解除は3秒 / 詳細はこちら

Linux無料マニュアル(図解60P) 名前とメールで30秒登録

運営

リナックスマスター.JP(代表 宮崎智広)

株式会社イーネットマーキュリーが運営するLinux教育サイトです。代表の宮崎智広は現役のLinuxサーバー管理者として20年以上の実務経験を持ち、累計3,100名以上のエンジニアを指導してきました。実践型のLinuxセミナーや無料マニュアルの配布を通じてLinux人材の育成に取り組んでいます。