ハイブリッドクラウド実現のためのはじめの一歩として、Hyper-VとAzureを組み合わせて利用できるサービス「Azure Site Recovery」(Site Recovery)を紹介するレポート第3弾。
今回は、目的に応じたフェールオーバーの実施方法についてご紹介します。
※Azureアカウントの作成や設定、Site Recoveryの設定方法については、Vol.1、Vol.2をご参照ください。
目次
Azure Site Recovery の設定手順完全版
『できるPRO Windows Server 2016 Hyper-V (樋口勝一著)』では、Azure Site Recovery の設定手順完全版が掲載されています。
『できるPRO Windows Server 2016 Hyper-V』
Hyper-Vで本格的なサーバー仮想環境を構築。
仮想環境を設定・操作できる!
◇Hyper-Vのさまざまな機能がわかる
◇インストールからの操作手順を解説
◇チェックポイントやレプリカも活用できる
Windows Server 2016 Hyper-Vは、仮想化ソフトウェア基盤を提供する機能であり、クラウドの実現に不可欠のものです。
本書では、仮想化の基礎知識から、Hyper-Vでの仮想マシンや仮想スイッチの設定・操作、プライベートクラウドの構築、Azureとの連携などを解説します。

7.目的に応じたフェールオーバーの実施
※Azureアカウントの作成や設定、
Site Recoveryの設定方法の手順【1】~【6】については、
Azure Site Recovery -Vol.1
Azure Site Recovery -Vol.2
をご参照ください。
Site Recovery は、「Hyper-Vレプリカ」と同様に3種類のフェールオーバーをサポートしています。
フェールオーバーの種類 | 概要 |
---|---|
テストフェールオーバー | レプリケーションが正常に機能していることを確認するために、実際にフェールオーバーはさせずに確認を行います。 |
計画されたフェールオーバー (計画フェールオーバー) | 意図的に仮想マシンをHyper-VからAzure上に移動して切り替えを行います。 |
計画されていないフェールオーバー (強制フェールオーバー) | 災害や故障などトラブル発生時に強制的に仮想マシンをAzure上の複製された仮想マシンに切り替えてサービスの提供を継続します。 |
「Hyper-Vレプリカ」では、プライマリーサーバーとレプリカサーバー間で利用できるフェールオーバーに差異はありませんでしたが、Site Recoveryを利用した場合、AzureからHyper-Vで利用できるフェールオーバーの種類に制限事項があるため、注意が必要です。
フェールオーバーの方向 | テストフェールオーバー | 計画されたフェールオーバー | 計画されていないフェールオーバー |
---|---|---|---|
Hyper-VからAzureへ | ○ | ○ | ○ |
AzureからHyper-Vへ | × | ○ | × |
※原稿執筆時点でAzureからHyper-Vへの計画されたフェールオーバーはエラーとなり完了することができないといった不具合があります。
各フェールオーバーは、Azureのポータルから[レプリケートされたアイテム]から仮想マシンを指定して直接実行する方法と、[Recovery Plan(Site Recovery)]から復旧計画を作成して実行する方法があります。テストフェールオーバーは[レプリケートされたアイテム]から、計画されたフェールオーバーは[Recovery Plan(Site Recovery)]からそれぞれ実行する方法を紹介します。
テストフェールオーバーの実行方法
まずは、現状のHyper-Vの環境に影響を与えない「テストフェールオーバー」を実行して、Azure Site Recoveryによる仮想マシンのレプリケーションが正しく行われていることを確認してみましょう。テストフェールオーバーは、オンプレミスのHyper-V上の仮想マシンを止めることなく、Azure上にレプリケートされた仮想マシンのコピーを作成して起動します。テストフェールオーバーの仮想マシンは、レプリケーションの同期は行われず、確認完了後すべての設定を破棄して原状回復を行います。レプリケーションが確実に行われていることの確認や、Azure上でテスト環境を試す場合などに有効なフェールオーバーです。元に戻す場合も、コピーしたAzure上の仮想マシンを破棄するだけなので、簡単に利用することができます。

AzureのTOPページのダッシュボードから「MyRS」を選択
[レプリケートされたアイテム]から「Web01」を選択

[テストフェールオーバー]を選択

①[復旧ポイント]で「最後に処理があった時点」を選択して、最新の状態でAzure上の仮想マシンを起動します。
②[Azure仮想ネットワーク]で「MyNet」を選択してローカルネットワークを接続します。

テストフェールオーバーの完了まで待機
進行状況を確認にするには、[レプリケートされたアイテム]もしくは、 [ジョブ]–[ Site Recovery ジョブ]を選択します。

「ユーザー入力の待機中」となった状態で、Azure上で仮想マシンが起動し、ユーザーがログインできる状態となっています。

ダッシュボードにはコピーされた仮想マシンが表示されています。「Web01-test」を選択。

レプリケートされた仮想マシンが稼働していることを確認

[ネットワークインターフェース]-[Web01-test・・・]選択します。
接続された仮想ネットワークは、ローカル接続用のサブネット設定となっているので、インターネットからこの仮想マシンに接続する場合は、「パブリックIP」の追加が必要です。仮想マシンのネットワークアダプターに対してパブリックIPを割り当てます。

[IP構成]-[ipCnfigWeb01-test・・・]を選択

③[パブリックIPアドレス]で「有効」を選択
④[IPアドレス 必要な設定を構成してください]を選択
⑤[新規作成]を選択

[割当]で「静的」を選択

[保存]を選択

パブリックIPが割り当てられていることを確認します。

ブラウザで「52.185.156.128」を入力し、Webサイトが参照できることを確認。

リモートデスクトップで「52.185.156.128」に接続

リモートデスクトップでログインして、レプリケーションされた仮想マシン「Web01」がAzure上で稼働していることを確認
レプリケーションの確認が完了したら、テストフェールオーバーを終了します。

[レプリケートされたアイテム]から「Web01」-[ユーザー入力の待機中]を選択

[テストの完了]を選択

テスト環境をクリーンアップして、テストフェールオーバーを終了します。

テストフェールオーバーが終了して元の状態に戻りました。
計画されたフェールオーバーの実行方法
[テストフェールオーバー]でSite Recoveryによるレプリケーションが正しく行われていることが確認できました。次に、実際のHyper-Vシステム運用に沿った「計画されたフェールオーバー」の実行方法を紹介します。
計画されたフェールオーバーは、オンプレミスのHyper-Vで何らかの障害が発生することが予想される場合や、メンテナンスなどで一時的にサーバーが利用できなくなる場合に、意図的に仮想マシンをAzure上で稼働させる状況を想定して行います。さらにオンプレミスのHyper-V上の仮想マシンを、クラウドサービスのAzureに移動することのできるハイブリッドクラウドを実現するための手段としても利用することができます。

[Recovery Plans(Site Recovery)]を選択
[+復旧計画]を選択して、今回は復旧計画を作成してフェールオーバーを実行します。

⑥[名前]を入力
⑦[デプロイモデルでアイテムを許可]で「リソースマネージャー」を選択
⑧[アイテムの選択]-「Web01」を選択

[OK]ボタンを選択して、復旧計画作成を完了します。

作成された復旧計画「MyRecovery」を選択

[計画されたフェールオーバー]を選択

[フェールオーバーの方向]で[フェールオーバー元]が「MyHVSite」、[フェールオーバー先]が「Microsoft Azure」になっていることを確認
[OK]ボタンを選択して、計画フェールオーバーを開始します。
フェールオーバーの完了まで待機します。

フェールオーバーが完了したら、[項目表示]-[コミット]を選択
[OK]ボタンを選択
レプリケーションされた仮想マシンは、作成後に保留中の状態になります。 [コミット] を選択して、フェールオーバーをコミット(完了)します。

Hyper-V上の仮想マシン「Web01」が停止状態となっており、[レプリケーションの状態]が「計画されたフェールオーバー準備完了」となっていることを確認

AzureのTOPページ [Virtual Machines]を選択
仮想マシン「Web01」がAzure上で実行されていることを確認
フェールオーバーによって、仮想マシンのインスタンスがオンプレミスのHyper-VからAzure上のサービスに切り替わりました。

テストフェールオーバー実施時に作成したパブリックIPのリソースを、同様の手順で仮想マシンに割り当てます。

Webサイトの表示と、リモートデスクトップ接続が問題なくできることを確認します。
以上で、計画されたフェールオーバーが成功しました。
現時点では、Azure上の仮想マシンはレプリケーションが行われておらず、保護されていない状態となります。
計画されていないフェールオーバーの実行方法
計画されていないフェールオーバーは、オンプレミスのサーバーやHyper-Vが予期せぬ障害や災害などでサービスの継続提供が不可能となった場合などに、Azure上に複製された仮想マシンを利用してサービス提供を継続する場合に実行します。
計画されていないフェールオーバーの実行手順は、計画されたフェールオーバーとほぼ同じとなりますが、計画されたフェールオーバーとは異なり、主たる仮想マシンがAzure上の仮想マシンとなります。従って、計画されていないフェールオーバー完了後、サーバーやHyper-Vが再び利用できるようになった時に、Azure上の仮想マシンからHyper-V上の仮想マシンにレプリケーションする方向を反転して、レプリケーションを取得して保護するか、新たなサーバーにフェールバック(復元)を行う必要があります。

⑨作成した復旧計画「MyRecovery」を選択
⑩[項目表示]を選択
⑪[計画されていないフェールオーバー]を選択

⑫[フェールオーバーの方向]が「MyHVSite」(Hyper-V)から「Microsoft Azure」になっていることを確認
⑬[復旧ポイント]で「最新のポイントタイム」を選択で最新の状況で仮想マシンを起動します。
⑭[マシンのシャットダウン]-[フェールオーバーを開始する前にマシンをシャットダウンする]を選択
⑮[OK]ボタンを選択して、フェールオーバーを実行します。完了まで待機状態となります。

Hyper-V上の仮想マシンが停止状態となっていることを確認

初期同期が完了したら、Azure上の仮想マシンが実行中となっていることを確認

フェールオーバーで同期が完了したら、[コミット]を選択して計画されていないフェールオーバーを完了します。

Hyper-Vが再び利用できるようになったら、[レプリケーションの反転]を行い、通常のレプリケーション状態(保護状態)に戻します。
フェールバックの実行方法
フェールオーバーによって、Azure上で稼働している仮想マシンをオンプレミスのHyper-V上で稼働させるよう、元の状態に戻すためフェールバックを行います。フェールバックとは、Site RecoveryではAzureからオンプレミスのHyper-Vへ「計画フェールオーバー」を実施することを意味しています。この作業は、オンプレミスのHyper-Vでの障害が解消され、通常運用に戻すことが可能となった状況を想定して実施します。
※原稿執筆時点では、AzureからWindows Server 2016のHyper-Vへのフェールバックはエラーとなり完了することができません。

[レプリケートされたアイテム]で仮想マシンの[状態]が「計画フェールオーバーをコミット済み」となっていることを確認

復旧計画の「MyRecovery」を選択

⑯[計画されたフェールオーバー」を選択
⑰[フェールオーバー元]が「Microsoft Azure」、[フェールオーバー先]が「MyHVSite」(Hyper-V)であることを確認
⑱[データ同期]で「すべてダウンロードする」を選択
※[データ同期]
ダウンタイムを最小化する:仮想マシンをシャットダウンせずに、チェックポイントを取得してからディスクをダウンロード。最後にシャットダウンを行い差分のみダウンロードを行う。
すべてダウンロード:初めに仮想マシンをシャットダウンし、ディスクをすべてダウンロードする。オンプレミス側の仮想マシンを削除した場合はこちらを選択。
⑲[オンプレミスにVMを作成する]は未選択
※[オンプレミスにVMを作成する]
Azure上で稼働している仮想マシンを元のHyper-Vとは異なる場所に復元する場合はこのオップションを選択することで新しく仮想マシンが作成され同期処理が行われます。
⑳[OK]ボタンを選択してフェールバックを実行しデータの同期が完了するまで待機

同期が完了すると[ユーザーの入力を待機しています]となるので、選択

㉑[フェールオーバーを完了する]を選択
㉒[はい]ボタンを選択して、フェールオーバーを完了します。
この作業でAzure上の仮想マシンは停止され、Hyper-V上の仮想マシンが起動します。
フェールバックが完了しました。
以上がAzure Site Recoveryの利用法となります。
設定項目は多いものの、一度環境を整えてしまうとウィザード形式で簡単に繰り返し利用することができるようになります。パブリッククラウドとプライベートクラウドが連携して、より安全で使いやすいクラウド環境の構築のはじめの一歩として、是非Azure Site Recoveryをお試しください。
著書の紹介欄
Hyper-Vで本格的なサーバー仮想環境を構築。仮想環境を設定・操作できる!
できるPRO Windows Server 2016 Hyper-V
◇Hyper-Vのさまざまな機能がわかる ◇インストールからの操作手順を解説 ◇チェックポイントやレプリカも活用できる Windows Server 2016 Hyper-Vは、仮想化ソフトウェア基盤を提供する機能であり、クラウドの実現に不可欠のものです。 本書では、仮想化の基礎知識から、Hyper-Vでの仮想マシンや仮想スイッチの設定・操作、プライベートクラウドの構築、Azureとの連携などを解説します。

初めてのWindows Azure Pack本が発売
Windows Azure Pack プライベートクラウド構築ガイド
本書は、Windows Azure PackとHyper-Vを利用し、企業内IaaS(仮想マシン提供サービス)を構成するための、IT管理者に向けた手引書です。試用したサーバーは、最小限度の物理サーバーと仮想マシンで構成しています。Windows Azure Packに必要なコンポーネントのダウンロード、実際にプライベートクラウド構築する過程を、手順を追って解説しています。これからプライベートクラウドの構築を検討するうえで、作業負担の軽減に役立つ一冊です。

ブログの著者欄
採用情報
関連記事
KEYWORD
CATEGORY
-
技術情報(458)
-
イベント(164)
-
カルチャー(38)
-
デザイン(21)
TAG
- 5G
- Adam byGMO
- AI
- AWX
- BIT VALLEY
- blockchain
- ChatGPT
- cloudflare
- cloudnative
- CloudStack
- CM
- CNDO
- CNDT
- CODEGYM Academy
- ConoHa
- CS
- CSS
- CTF
- DC
- Designship
- Desiner
- DeveloperExpert
- DevSecOpsThon
- DNS
- Docker
- DTF
- GitLab
- GMO Developers Day
- GMO Developers Night
- GMO GPUクラウド
- GMO Hacking Night
- GMO kitaQ
- GMO SONIC
- GMOアドパートナーズ
- GMOアドマーケティング
- GMOイエラエ
- GMOグローバルサイン
- GMOソリューションパートナー
- GMOデジキッズ
- GMOブランドセキュリティ
- GMOペイメントゲートウェイ
- GMOペパボ
- GMOリサーチ
- Go
- GTB
- Hardning
- Harvester
- HCI
- iOS
- IoT
- ISUCON
- JapanDrone
- Java
- JJUG
- K8s
- Kaigi on Rails
- Kids VALLEY
- LLM
- MetaMask
- MySQL
- NFT
- NVIDIA
- OpenStack
- Perl
- perplexity
- PHP
- PHPcon
- PHPerKaigi
- PHPカンファレンス
- QUIC
- Rancher
- RPA
- Ruby
- Selenium
- Spectrum Tokyo Meetup
- splunk
- SRE
- SSL
- Terraform
- TLS
- TypeScript
- UI/UX
- VLAN
- VS Code
- アドベントカレンダー
- インターンシップ
- オブジェクト指向
- オンボーディング
- お名前.com
- カルチャー
- コンテナ
- スクラム
- スペシャリスト
- セキュリティ
- ソフトウェアテスト
- チームビルディング
- ドローン
- ネットワーク
- プログラミング教育
- ブロックチェーン
- マルチプレイ
- ミドルウェア
- モバイル
- ゆめみらいワーク
- リモートワーク
- レンタルサーバー
- 京大ミートアップ
- 協賛レポート
- 基礎
- 多拠点開発
- 大学授業
- 宮崎オフィス
- 応用
- 技育プロジェクト
- 新卒
- 暗号
- 機械学習
- 決済
PICKUP