Azure 上の Hyper-V ネスト型仮想化を使用したレプリケーション、復元、およびフェイルオーバーの方法

災害復旧には、少なくとも1か所の”災害復旧サイト”と呼ばれるセカンダリサイトが存在することが前提となります。遠隔地のデータセンターは、災害復旧サイト(DRサイト)と見なすことができます。しかし、ホットDRサイトにはそれ相応の高コストが伴います。DRサイトとして遠隔地のデータセンターを持たないものの、極めて短時間で環境を復旧させる必要が生じる可能性がある場合は、どうすればよいでしょうか?

現在では、主要ベンダーのクラウド環境を災害復旧サイトとして利用し、そこにバックアップやVMレプリカを保存しておき、災害発生時にはクラウド上で仮想マシン(VM)を実行することができます。 短期間でVMのフェイルオーバーを実行し、障害発生時にプライマリサイトのワークロードをDRサイトへ移行するには、VMレプリカを用意する必要があります。Hyper-V仮想マシンも例外ではありません。

このブログ記事では、NBRを使用してHyper-V VMをAzureへフェイルオーバーする方法について解説しています。

Hyper-V バックアップ用 NAKIVO

Hyper-V バックアップ用 NAKIVO

Hyper-V 向けのエージェントレスでアプリケーションを認識するバックアップ機能。ランサムウェア対策、バックアップからの仮想マシンの即時起動、その他の仮想/物理プラットフォームへの対応など。

Azure と Hyper-V について

Hyper-V は、仮想マシンを実行するために Microsoft が開発したハイパーバイザーの一種です。Hyper-V ロールは Windows マシンにのみ展開可能であり、 VMware および VirtualBox のハードウェア仮想化ソリューションに代わるものとして位置付けられています。また、Hyper-V Server のスタンドアロン版も存在します。

Azureは、マイクロソフトが構築したパブリッククラウドです。Azureは、Azure仮想マシン、Azure Active Directory、コンテナサービス、データベース、ストレージサービス、Webサービスなど、多様なサービスを提供しています。マイクロソフトは、Azureクラウド内でAzure仮想マシンを実行するために、Hyper-V仮想化プラットフォームを使用しています。Azure仮想マシンは、仮想ハードウェアや仮想ディスク形式など、Hyper-V仮想マシンの多くの機能を継承しています。

ただし、Hyper-V仮想マシンとAzure仮想マシンには、VMの形式に関して違いがあります。 Azure VMには、適切なパフォーマンス(プロセッサ、メモリ、ストレージ、入出力値)を提供するプリセットと見なせる特定のVMサイズがあります。Azure VMに接続できる仮想ディスクの最大サイズは1 TBです。Azure VMではVHD形式の仮想ディスクのみがサポートされており、AzureではGeneration 1 VMのみを展開できます。

Hyper-V VM を Azure にレプリケートする方法

Hyper-V VM と Azure VM には違いがあるため、Hyper-V VM を単に Azure にレプリケートし、そのレプリカとして Azure 仮想マシンを実行することはできません。幸いなことに、この問題を解決できる方法があります。Microsoft は Windows Server 2016 のリリースに伴い、この状況に対応できる新しい”Hyper-V ネスト型仮想化”機能を発表しました。 Azureの ネスト型仮想化 機能を使用すると、VM内でVMを実行できます。つまり、AzureにWindows Server仮想マシンを展開し、Hyper-V形式のネストされたVMを実行することが可能です。この環境により、ローカルのHyper-V VMをAzureにレプリケートできます。

AzureへのHyper-V VMフェイルオーバーの手順は以下の通りです:

  • Azureクラウドに、Windows Server 2016またはWindows Server 2019を実行するAzure VMを展開します。
  • Azureで実行されているそのWindows Server VMにHyper-Vロールをインストールします。
  • Azure内の仮想Hyper-Vホスト上で実行されているネストされたVMのネットワークを設定します。
  • 物理(オンプレミス)のHyper-Vホストから、Azure内でVMとして実行されている仮想Hyper-VホストへVMをレプリケートします。
  • 災害発生時には、Azure内のHyper-Vホスト上で実行されているネストされたVMのレプリカへフェイルオーバーします。

本日のブログ記事では、その方法について解説します。 Azure に Hyper-V レプリカを作成し、Azure に存在する Hyper-V 形式のネストされた VM へのフェイルオーバーを実行する方法について説明します。スクリーンショットを含む詳細な手順が、ワークフローの理解に役立つことを願っています。

デモ環境

このブログ記事で紹介する例には、1 つのローカルサイト( Office 1 にあるデータセンター)と、1 つのディザスタリカバリサイト(Azure クラウドにデプロイされた仮想 Hyper-V 環境)があります。

The environment of Office 1

  • スイッチを内蔵した物理ルーターが 1 台あります。このルーターにはファイアウォールが搭載されています。このルーターの WAN IP アドレスは 77.88.196.86 で、LAN IP アドレスは 192.168.17.1 です。LAN(ローカルエリアネットワーク)のアドレスは 192.168.17.0/24 です。
  • NAKIVO Backup & Replication(ディレクターとトランスポーターで構成される完全なソリューション)がインストールされたマシン(物理または仮想)があります。IP アドレスは 192.168.17.63 です。
  • 物理サーバー上で稼働する Hyper-V ホストがあります。IP アドレスは 192.168.17.23 です。Hyper-V ホストと NAKIVO Backup & Replication が稼働するマシンは、同じネットワーク(192.168.17.0/24)に接続されています。この Hyper-V ホストは NAKIVO Backup & Replication のインベントリに追加され、保護されています。
  • Hyper-V ホストには、仮想スイッチ(192.168.117.0/24)に接続された仮想ネットワークアダプターがあります。Hyper-V サーバー上のこの仮想ネットワークアダプターの IP アドレスは 192.168.117.1 です。
  • Hyper-V ホスト(192.168.17.23)上で稼働する VM は仮想スイッチに接続され、ネットワーク(192.168.117.0/24)にも接続されています。WinServer2016blog という Hyper-V VM がこの Hyper-V ホスト上で稼働しており、Azure にレプリケートされます。この VM には Windows Server 2016 がインストールされています。

Azure Cloud environment

  • Windows Server 2016 が稼働する Azure VM があります。このマシンでは Hyper-V ロールが有効になっています。Azure で稼働するこの Hyper-V サーバーの外部 IP アドレスは 55.105.221.43 です。この IP アドレスは、インターネットから Hyper-V ホストに接続するために使用されます。Azure ファイアウォールは、 Office 1 の外部 IP アドレスからの接続のみを許可するように設定されています。また、Azure で Hyper-V を実行する Windows Server 2016 の Windows ファイアウォールも同様に設定され、Hyper-V ホストからネストされた VM への接続と、その逆方向の接続を許可しています。
  • Hyper-V ホスト上の仮想スイッチは、仮想 NAT デバイスの背後にあるネットワークにネストされた VM を接続するように構成されています。このネットワークの名前は NAT Network で、仮想スイッチの名前は InternalSwitchNAT です。 このバーチャルスイッチに接続されている仮想NATデバイスのIPアドレスは192.168.217.1であり、ネットワークアドレスは192.168.217.0/24です。
  • 入れ子になったVMはNATネットワーク(192.168.217.0/24)に接続され、インターネットにアクセスできます。AzureのHyper-Vホスト上に2つのテストVMが作成され、その後、 WinServer2016blog VMのレプリカが、 Office 1 のHyper-Vホストで実行されている状態で、Azureクラウドで実行されているHyper-Vホスト上に作成されます。
  • AzureでHyper-Vを実行しているWindows Server 2016 VMは、Azure VM同士の接続に使用される仮想ローカルエリアネットワークにも接続されています。このネットワークのアドレスは10.0.4.0/24です。
  • Office 1 からAzureへ、Azureクラウドに展開されたHyper-V環境を含めて接続するには、インターネット接続が必要です。

以下の図で、上述したすべての要素を確認できます。

Hyper V nested virtualization environment in Azure and local environment in the Office 1

Azureの入れ子になったHyper-V VMへのフェイルオーバーのワークフロー

上記の図に従って、 Office 1 のローカル環境とAzureクラウドのリモート環境を含む環境の構成方法を確認します。プライマリデータセンター( Office 1 )にHyper-Vサーバーが既にインストールされ、構成されているものとします。また、NBRが物理マシンまたは仮想マシン上でインストール済みされており、プライマリデータセンター( Office 1 )で少なくとも1台のHyper-V VMが実行されているものとします。この例では、元のHyper-V VMの名前は WinServer2016blog です。

新しいAzure VMの作成

AzureでWindows Server 2016を実行するVMを作成します。このVMは、Hyper-Vサーバーをインストールし、入れ子になったHyper-V VMを実行するために使用します。Webブラウザーを開き、Microsoft Azure Webサイトにアクセスします。アカウントを使用してMicrosoft Azureにサインインします。Azureクラウドサービスを使用するには、適切なサブスクリプションが必要です。https://portal.azure.com/ページで、WebインターフェイスのVirtual machinesを選択します。

The web interface of Microsoft Azure (Hyper-V Nested Virtualization)

仮想マシン ページ(Home > Virtual Machine)で、Addをクリックして仮想マシンを作成します。

Creating a new VM in Azure

VMの作成ページには複数のタブがあり、各タブにはいくつかのセクションがあります。

基本

ウィザードの 基本 タブで、次のパラメーターを設定します。

Project details

サブスクリプション :従量課金制(利用可能なサブスクリプションを選択します)。

リソースグループ 。既存のリソースグループを選択するか、新しいリソースグループを作成します。この例では、 testnbr がリソースグループの名前です。 Instance details

仮想マシンの名前 : Server2016Azure。

リージョン : (ヨーロッパ) 西ヨーロッパ。必要なリージョン(たとえば、お住まいの地域に最も近いリージョンなど)を選択してください。

可用性オプション : インフラストラクチャの冗長性は不要(このデフォルト設定のままにしておいて構いません)。

イメージ : Windows Server 2016 Datacenter(Windows Server 2012 R2 Datacenter よりも多くの Hyper-V 機能をサポートしているため、Windows Server 2016 が推奨されます)。

Azure Spot インスタンス : いいえ。

サイズ : D2s_v3 がこの例で使用されています。Hyper-V Server の実行をサポートする別の VM サイズを選択することもできます。すべての v3 シリーズの Azure VM は、ネストされた仮想化をサポートしています。 Azure上で実行されているHyper-Vホストへのフェイルオーバー後、必要なすべてのHyper-V VMを実行するのに十分なVMパフォーマンスが確保されている必要がある点に留意してください。

Administrator account

ユーザー名 : nakivo(任意のユーザー名を入力できます)

パスワード : *************(コードパスワードを設定してください)

パスワードの確認 : *************

Inbound port rules

パブリックインターネットからAzure仮想マシンにアクセスするために、開く必要がある着信ポートを選択できます。このVMをリモートで管理する際は、RDPポートを開いたままにしておきましょう。RDPは、着信接続にTCPポート3389を使用します。VMの設定が完了したら、RDP(リモートデスクトッププロトコル)経由のネットワークアクセスを無効にできます。 後で、Azure のファイアウォールをさらに詳細に構成し、特定の IP アドレスやネットワークからのカスタム ポートへの受信接続を許可することもできます。

パブリック受信ポート : 選択したポートを許可

受信ポートの選択 : RDP (3389)

Save money

コスト削減につながる可能性があるため、Windows Server ライセンスをすでに所有しているかどうかを選択してください。

No がデフォルトで選択されています。

これらの設定は、以下のスクリーンショットで確認できます。

Creating a new VM in Azure – basics settings

VM サイズを選択すると、VM の名前、仮想プロセッサ数 (vCPU)、メモリ容量 (RAM)、最大 IOPS 値 (1 秒あたりの入出力操作数)、一時ストレージのサイズ、プレミアム ディスクのサポート、および月額費用が表示されます。

Selecting a VM size in Azure

準備が整い、ウィザードの次のステップに進むには、” “”Next” をクリックします。

“Disks”

このタブでは、作成したい仮想ディスクの構成を選択する必要があります。

Disk options

“OS disk type” :Premium SSD。先に選択したVMサイズはPremium SSDディスクに対応しているため、このオプションはそのままにしておくのが最も実用的です。 その他の利用可能なオプションは、Standard HDD と Standard SSD です。

Azure 仮想マシンの作成時に、Azure 仮想マシン用の追加ディスクを作成できます。VM が現在実行中であっても作成できます。

Creating a virtual disk for the Azure VM

次へ をクリックして、ネットワークを構成します。

ネットワーク

ネットワーク タブで、次のパラメーターを選択します。

Network interface

仮想ネットワーク : 既存の仮想ネットワークを選択するか、新しい仮想ネットワークを作成します。この例では、 testnbr-vnet が仮想ネットワークの名前です。

サブネット : 既定値 (10.0.4.0/24) です。Azure クラウド内の仮想 LAN(ローカル エリア ネットワーク)で Azure 仮想マシン同士を通信させるために使用するサブネットを選択します。新しいサブネットを作成することもできます。

パブリック IP : 既定値のままにできます。

NIC ネットワーク セキュリティ グループ : Basic

パブリック受信ポート : 選択したポートを許可

受信ポートを選択 : RDP (3389) です。これは、VM 作成ウィザードの最初の画面で表示された設定です。

高速ネットワーク : オフ

Load balancing

この仮想マシンを既存の負荷分散ソリューションの背後に配置する : いいえ

Configuring a network for the new Azure VM (Hyper-V Nested Virtualization)

これで、管理設定の構成に進むことができます。

管理

このタブでは、Azure 仮想マシンの監視および管理オプションを構成できます。既定の管理パラメーターを使用できます。診断ストレージ アカウントがまだ作成されていない場合は、作成します。このタブで構成するオプションが不明な場合は、既定のパラメーターを使用します。

Configuring management parameters for the new Azure VM

詳細

このタブでは、既定の設定を使用し、仮想マシンの世代 (第1世代または第2世代) を選択できます。この例では、Generation 1 VM を作成中です。

Configuring advanced settings for a new Azure VM

タグ

必要に応じてカスタム タグを追加できます。

Tags for a new Azure VM

これで、Review + create をクリックして、新しい VM の構成を確認できます。

検証に合格 と表示されれば、すべて問題なく、新しい VM を作成できます。

Reviewing new VM settings before starting the process of VM creation

同様の新しい Azure VM を複数デプロイする必要がある場合は、自動化用のテンプレートをダウンロードできます。

最後に、青色の Create ボタンをクリックして、仮想マシンの作成プロセスを開始します。

VM が作成されるまでお待ちください。

VM が正常にデプロイされると、次の画面が表示されます。

A new VM has been successfully deployed in Azure

Hyper-V Server ロールをインストール中です

Windows Server 2016 を実行する新しい Azure VM をデプロイすると、Hyper-V ロールをインストールできます。 Azureで作成したVMは、作成後に自動的に起動します。必要に応じて、VMを手動で起動することもできます。AzureのWebインターフェースでVMを起動するには、Home > Virtual machinesに移動し、デプロイしたVMを選択して(チェックボックスをオンにして)、Startをクリックしてください。

Starting a new Azure VM to enable nested Hyper-V virtualization

VMをクリックすると、オプションメニューとVMの情報が表示されます。このVMの外部IPアドレスを確認してください。このIPアドレスを使用して、Azureで実行されているWindows Server 2016 VMにリモートデスクトップ経由で接続してください。この例では、Azure VMの外部IPアドレスは51.105.221.43です。

Detecting the external IP address of the Azure VM to connect to the Azure VM remotely

ローカルのWindowsマシンで、リモートデスクトップクライアントを開き、Azureで実行されているWindows Server 2016に接続してください。Windowsのスタートメニュー(スタート>Windowsアクセサリ>リモートデスクトップ接続)で適切なショートカットを確認するか、CMDを開いて、次のコマンドを実行してください:

mstsc -v: 51.105.221.43

Azure VMの作成中に設定したWindowsの管理者資格情報を入力してください。

Entering Windows user credentials when connecting to the Azure VM via RDP

ポップアップ確認ウィンドウが表示された場合は、はいをクリックしてください。

Hyper-Vのインストールを準備中です

Azureで実行されているリモートWindows Server 2016 VMに接続し、リモートデスクトップセッションを確立すると、画面の右側に青いポップアップウィンドウが表示されます。この画面は、ネットワークアダプターが初めてネットワークに接続されたときに表示されます。この青いウィンドウに、次の質問が表示されます:

このネットワーク上の他のPCやデバイスから、お使いのPCを検出できるようにしますか?

Yesをクリックしてください。

Allowing the Windows machine in Azure to be discoverable in the network

その後、ネットワークアダプターがプライベートネットワークプロファイルを使用していることを確認してください。または、プロファイルをパブリックからプライベートに手動で変更できます。

既定のネットワークアダプター名はEthernetです。

PowerShellでネットワークプロファイルをプライベートに変更できます:

$Profile = Get-NetConnectionProfile -InterfaceAlias Ethernet

$Profile.NetworkCategory = "Private"

Set-NetConnectionProfile -InputObject $Profile

Changing the network profile in Windows

ネットワークと共有センターを開きます。タスクバー(時計の近く)のネットワークアイコンを右クリックし、ネットワークと共有センターを開くを選択してください。開いたネットワークと共有センターウィンドウで、ネットワークプロファイルを確認できます(プライベートネットワークである必要があります)。ウィンドウのコントロールパネル ホームセクションで、アダプターの設定の変更をクリックしてください。 Configuring advanced sharing settings (Hyper-V Nested Virtualizatiton)

高度な共有設定 ウィンドウで、 プライベート プロファイル(現在のプロファイルである必要があります)を選択し、turn on network discovery、次に turn on file and printer sharing を選択します(以下のスクリーンショットをご覧ください)。

Changing sharing options for Windows Firewall network profiles

Save Changes を押して、ウィンドウを閉じます。

Hyper-V のインストール

PowerShell を管理者として実行し、Azure 上の Windows Server 2016 で Hyper-V ロールをインストールする コマンドを実行します。

Install-WindowsFeature -Name Hyper-V -IncludeManagementTools -Restart

Installing the Hyper-V role on the Azure VM before configuring Azure nested virtualization

Windows Server 2016 を実行している Azure VM は、Hyper-V のインストールを完了するために自動的に再起動します。リモート デスクトップ セッションは切断されます。マシンの再起動後、リモート デスクトップ クライアントを使用して Azure VM に手動で接続します。

RDP 経由で Azure 上で実行中の Windows Server 2016 VM に接続したら、Hyper-V サーバーを設定します。Windows Server 2016 の起動時に自動的に開かれる サーバー マネージャー ウィンドウでは、 Hyper-V オプションを確認できます。Hyper-V マネージャーを開くには、Tools > Hyper-V Manager に移動します。スクリーンショットで確認できるように、ホスト名は仮想マシンの作成時に定義した Azure VM 名と同じです。

Hyper-V Manager is displayed in the Server Manager window

Hyper-V 仮想ネットワークの準備

既定では Hyper-V に仮想スイッチが作成されていませんので、新しい仮想スイッチを手動で作成および構成する必要があります。

Hyper-V マネージャーで Hyper-V サーバー名を右クリックし、コンテキスト メニューで 仮想スイッチ マネージャー を選択します。仮想スイッチ マネージャーのグラフィカル ユーザー インターフェイスでは、3 種類の仮想スイッチを作成できます: 外部 、 内部 、および プライベート です。

Hyper-V 仮想スイッチ に関するブログ記事を読み、ニーズに合った 3 種類の仮想スイッチのいずれかを作成します。ただし、NAT ネットワークを作成できるのは PowerShell のコマンド ライン インターフェイスだけであることにご注意ください。

このブログ記事では、 NAT 仮想スイッチ と NAT の背後にあるネットワークを作成します。これにより、独自の隔離されたネットワークで実行され、インターネットおよび Hyper-V ホストにアクセスできるネストされた Hyper-V VM を作成できます。Hyper-V ホストからネストされた Hyper-V VM に接続できます。

NAT モードで新しい仮想スイッチを作成および構成するために、PowerShell を開きます:

New-VMSwitch -Name "InternalSwitchNAT" -SwitchType Internal

ここで、 InternalSwitchNAT は仮想スイッチの名前で、 内部 は仮想スイッチの種類です。

ネットワーク インターフェイスのインデックスを確認します。 Get-NetAdapter

Viewing the list of network adapters in Windows PowerShell

ご覧のように、Azure で Hyper-V ホストとして実行されている Windows Server 2016 に、 vEthernet (InternalSwitchNAT) 仮想ネットワーク アダプターが作成されています。

この例では、必要なアダプターのインターフェイス インデックスは 20 です。

以前に作成した vEthernet (InternalSwitchNAT) 仮想ネットワーク インターフェイスに IP アドレスを設定します。

New-NetIPAddress -IPAddress 192.168.217.1 -PrefixLength 24 -InterfaceIndex 20

この例では、このインターフェイスの IP アドレスは 192.168.217.1 です。

24 はネットワーク マスクの長さであり、255.255.255.0 と等しくなります。

Setting the IP address for the virtual network interface used for the virtual switch in the NAT mode

新しい仮想ネットワークを作成し、作成したネットワークのネットワーク アドレスを設定します。

New-NetNat -Name "InternalNATnet" -InternalIPInterfaceAddressPrefix 192.168.217.0/24

Creating a new virtual network for Hyper-V VMs

仮想スイッチ マネージャーの GUI を開くと、新しい仮想スイッチが作成されたことを確認できます。

Selecting virtual switch settings in the GUI of Hyper-V Manager

最後に、仮想ネットワーク インターフェイス vEthernet (InternalSwitchNAT ) の構成は次のとおりです。

IP アドレス: 192.168.217.1

ネットマスク: 255.255.255.0

NAT ネットワークのファイアウォールを構成します

ネットワーク接続を許可し、入れ子になった仮想マシンから Hyper-V ホストへのアクセスを許可するには、Windows ファイアウォールを構成する必要があります。

Hyper-V ホストの Windows ファイアウォールで新しい Inbound 規則を作成します(以前に作成した内部 NAT ネットワークからの受信接続を許可します)。

規則名 : Allow217net

操作 : 接続を許可します

プロトコルとポート : 任意

プログラムおよびサービス : 任意

スコープ : 192.168.217.0/24

プロファイル : ドメイン、プライベート、パブリック(上記の構成で使用するプライベート プロファイルのみを選択できます)

PowerShell コマンドを 1 つ使用して、この規則を作成できます。

New-NetFirewallRule -RemoteAddress 192.168.217.0/24 -DisplayName "Allow217net" -Profile Any -Action Allow

Windows ファイアウォールの GUI を開いて、規則が作成されていることを確認できます。

Creating a new rule in Windows firewall

PowerShell コマンドレットを使用して、Windows ファイアウォールで使用できるすべての規則を一覧表示できます。

Get-NetFirewallRule

テスト用の入れ子になった仮想マシンを作成します

入れ子になった仮想マシン間、Hyper-V ホストと入れ子になった仮想マシン間のネットワーク接続をテストし、さらに入れ子になった仮想マシンからインターネットにアクセスできることをテストするために、2 台の入れ子になった Hyper-V 仮想マシンを作成することをお勧めします。

ここで、Windows Server 2016 のインストール ISO イメージを Azure で実行されている Hyper-V ホストにコピーし、Windows Server 2016 を実行する 2 台の入れ子になった Hyper-V 仮想マシンを作成します(Windows Server 2016 のインストール イメージがない場合は、イメージをダウンロードするか、手動で作成します)。 次に、これら2台のネストされたVMを仮想Hyper-V NATネットワークに接続し、Hyper-Vネットワークが適切に構成されているかどうかを確認します。

この例では、ISOイメージを一時ディレクトリ( C:temp )にコピーします(2台のテスト用Hyper-VネストVMを作成した後にISOファイルを削除するためです)。Azure仮想マシンの一時ストレージ(この場合はディスク D:)に重要なデータをコピーしないでください。一時ストレージからデータが自動的に削除される可能性があります。

推奨プラクティスに従い、Azure VM用に2台目の永続的な仮想ディスクを作成し、そのディスクにVMレプリカ(Hyper-Vレプリカ)を含むネストされたHyper-V VMを保存できます(例: E:)。前述のとおり、Azure VMの実行中に新しい仮想ディスクをHot Addできます。このブログ記事では、学習目的のため、すべてのVMをディスク C:に保存します。

もう1つの推奨事項は、グローバルHyper-V設定でVMファイルおよび仮想ディスクを保存するディレクトリを指定することです。例えば、VMファイルを保存するディレクトリとして E:VMsHyper-V を設定し、仮想ディスクを保存するディレクトリとして E:VMsHyper-VVirtualHardDisks を設定できます。

Selecting a directory to store a nester VM on the Hyper-V server

Hyper-Vで新しいWindows VMを作成する方法については、このブログ記事で確認できます。

ネストされたHyper-V VMを作成するときは、そのVM用に大容量の仮想ディスクを作成しないでください。Windows Server 2016をインストールするには、20 GBの動的仮想ディスクで十分です。テスト後は、これらのVMを削除し、AzureクラウドでHyper-V VMのフェイルオーバーに備えてリモートサイトを準備するための環境構成に進みます。最近作成したNATネットワーク( InternalSwitchNAT )に、ネストされたHyper-V VMの仮想ネットワークアダプターを接続することを忘れないでください。このNATネットワークをこれからテストします。

その他のVMパラメーターは次のとおりです。

RAM:2 GB

CPU:1プロセッサー

世代:1

ネストされたVMの仮想ネットワークアダプターのIPアドレスは手動で設定されています。

NestedWinTest

IPアドレス:192.168.217.21

マスク:255.255.255.0

既定のゲートウェイ:192.168.217.1

DNSサーバー1:8.8.8.8

DNSサーバー2:192.168.217.1

NestedWinTest2

IPアドレス:192.168.17.22

マスク:255.255.255.0

既定のゲートウェイ:192.168.217.1

DNSサーバー1:8.8.8.8

DNSサーバー2:192.168.217.1

必要に応じて、Azureで実行中のHyper-VホストまたはネストされたHyper-V VM上でDHCPサーバーを構成できます。 2つの入れ子になったHyper-V VMを内部スイッチNATネットワークに接続し、すべてのプロトコルとポートを許可するようにWindowsファイアウォールを設定すると、入れ子になったVMおよびHyper-Vホストから各ホストにpingを実行できます。以下のスクリーンショットに示すように、NATの背後にある仮想ネットワークは、Azure VMとして実行されているHyper-Vサーバー上で正しく構成されています。

Hyper-V Nested virtualization - the network for nested VMs is configured properly

これにより、Hyper-Vレプリカを作成し、ローカルサイトからレプリカへのHyper-V VMのフェイルオーバーを実行する際に、Azure環境をリモートサイトとして使用するように構成できます。NBRコンポーネントの構成を開始する前に、Azure VMとして実行されているHyper-V上で、インバウンド接続およびICMP接続に適切なTCPポートを許可する必要があります。ファイアウォールの構成後、Azureで実行されているHyper-VホストにNAKIVOトランスポーターをインストールします。

NBRのファイアウォールの構成

NBRネットワーク要件に従って、ディレクターとトランスポーター間のネットワーク接続を確立するには、次のポートをインバウンドトラフィック用に開く必要があります。

TCP: 9445、9446、9448~10000、445、137~139、5986。

ネットワーク上でNBRが正常に機能するように、ICMPトラフィックを許可する必要があります。

NAKIVO Directorは、完全なソリューションをインストールするときに、指定したマシンにインストールされる集中管理インターフェースです。ディレクターは、トランスポーター、バックアップリポジトリ、インベントリ、VMware環境、Hyper-V環境などの管理に使用します。NBRを展開するときは、ディレクターを1つだけインストールできます。

NAKIVO Transporterは、圧縮、暗号化、重複排除などのデータ転送操作を担当し、バックアップ、レプリケーション、復旧を実行するコンポーネントです。ディレクターがインストールされているマシンには、オンボードトランスポーターがデフォルトで1つインストールされ、このオンボードトランスポーターは製品から削除できません。必要に応じて、他のマシンに複数のトランスポーターを展開できます。これにより、データの暗号化、圧縮、リモートネットワークへのデータ転送の簡略化、およびワークロードの分散が可能になります。

The principal scheme of the crucial components

Azureでファイアウォールを構成するとともに、Azure VMとして実行されているHyper-Vホスト上のWindowsファイアウォールも構成する必要があります。

Azureでのファイアウォールの構成

AzureのWebインターフェースでHome > Virtual machinesに移動し、VM(この場合はServer2016Azure)を選択して、そのVM名をクリックし、VMの設定を開きます。次に、左ペインでNetworkingをクリックして、ネットワーク設定を開きます。 Add inbound port rule をクリックして、新しいファイアウォール規則を作成します。

Creating a new firewall rule in Azure (Hyper-V Nested Virtualization)

画面の右側に、新しいファイアウォール規則のパラメータを設定するためのウィンドウが表示されます。この例では、NBRが正常に動作するために作成する最初のファイアウォール規則のパラメータを以下に示します。

送信元 : IPアドレス

送信元IPアドレス : 77.88.196.86, 77.88.196.87(Office 1、Office 2などのルーターで使用する外部IPアドレスを選択します)

送信元ポート範囲 : *

宛先 : 任意

宛先ポート範囲 : 9445,9446,9448-10000,445,137-139,5986

プロトコル : TCP

アクション : 許可

優先度 : 310(既定値)

名前 : Allow_NAKIVO_ports

Add ボタンをクリックして設定を保存し、新しいファイアウォール規則を追加します。

Allowing inbound TCP connections to the Azure VM

ICMP接続を許可するために、もう一度 Add inbound port rule をクリックします。2番目の規則には、以下に示すパラメータを設定します。

送信元 : IPアドレス

送信元IPアドレス : 77.88.196.86, 77.88.196.87( Office 1 のルーターで使用する信頼できる外部IPアドレスを選択します)

送信元ポート範囲 : *

宛先 : 任意

宛先ポート範囲 : *

プロトコル : ICMP

アクション : 許可

優先度 : 320(既定値)

名前 : Allow_ICMP_NAKIVO

Allowing inbound ICMP connections to the Azure VM

これで、AzureクラウドでAzure VMとして実行されているHyper-Vホスト用の必要な規則がAzureに作成されました。

The necessary firewall rules have been created for the VM in Azure

これでAzureのファイアウォールの設定は完了しました。Azure VMで実行されているWindowsでも、別のファイアウォールを設定する必要があります。

AzureのHyper-VホストでWindowsファイアウォールを設定します

Azureで実行されているHyper-Vホストを管理するRDPセッションに戻ります。そのセッションを閉じた場合は、RDPを使用してAzureで実行されているHyper-Vホストにもう一度接続します。Windowsファイアウォールを開き、Windows Server 2016に同様の2つの規則を追加します。

Rule 1 には、次のパラメータを指定します。

名前 : Allow_NAKIVO_ports

送信元 : IPアドレス

送信元IPアドレス/CIDR範囲 : 77.88.196.86, 77.88.196.87

送信元ポート範囲 : *

宛先 : 任意

宛先ポート範囲 : TCP 9445, 9446, 445, 5986, 9448-10000, 137-139

プロトコル: TCP

アクション: 許可

優先度: 310(既定値)

規則は、WindowsファイアウォールのGUIまたはPowerShellで作成できます。ここでは、PowerShellで規則を作成します。 PowerShellを管理者として実行し、次のコマンドを実行します。

New-NetFirewallRule -DisplayName 'Allow_Nakivo_ports' -Profile @('Domain', 'Private', 'Public') -Direction Inbound -Action Allow -Protocol TCP -LocalPort @('9445', '9446', '445', '5986', '9448-10000', '137-139') -RemoteAddress @('77.88.196.86', '77.88.196.87')

Creating a new rule in Windows Firewall 1 (Hyper-V Nested Virtualization)

同様に、受信ICMP接続を許可する2つ目の規則を作成します。Windows Server 2016で受信ICMPv4接続と受信ICMPv6接続を許可するには、2つのコマンドを使用します。

New-NetFirewallRule -DisplayName "Allow_ping_NAKIVO4" -Direction Inbound -Protocol ICMPv4 -IcmpType 8 -RemoteAddress @('77.88.196.86', '77.88.196.87')

New-NetFirewallRule -DisplayName "Allow _ping_NAKIVO6" -Direction Inbound -Protocol ICMPv6 -IcmpType 8 -RemoteAddress @('77.88.196.86', '77.88.196.87')

これで、Azureに配置されたHyper-VホストのWindowsファイアウォールに必要なすべての規則が追加されました。WindowsファイアウォールのGUIで、規則が正常に作成されていることを確認できます。

The needed rules are created in Windows Firewall on Windows Server 2016 before creating a nested VM replica

AzureのWindows Server 2016 VMを再起動し、NBRの設定に進みます。

NBRの設定

これで、Azure VMとして実行されているHyper-VホストをNBRのインベントリに追加する準備が整いました。この例では、NBRは Office 1 という名前のプライマリサイト(オンプレミス)で実行されているマシンに配置されています。NBRの完全なソリューションをまだインストールしていない場合は、Linuxマシン、Windowsマシン、NASデバイスに製品をインストールするか、VMware ESXiホストに仮想アプライアンスを配置することで、手動でインストールできます。NBRのインストール方法について詳しくは、ヘルプセンターをご覧ください。

Hyper-Vホストをインベントリに追加します

NBRのインベントリにHyper-Vホストを追加すると、そのHyper-Vホストにトランスポーターが自動的にインストールされます。そのため、Azureで実行されているリモートHyper-Vホストにトランスポーターを手動で配置する必要はありません。Hyper-Vを実行しているAzure VMの外部IPアドレスを確認します。この目的には、AzureのWebインターフェイスを使用できます。

Checking the WAN IP address of the Azure VM running Hyper-V Server

物理環境で実行されているHyper-Vホストは、Azureクラウドで実行されているリモートHyper-Vホストを追加する前に、インベントリに追加しておく必要があります。この例では、ローカルHyper-Vホストはすでに在庫に追加されましたです。それでは、Azureに配置されたリモートHyper-Vホストをインベントリに追加します。

製品がインストールされているマシンのIPアドレスをブラウザーに入力して、NBRのWebインターフェイスを開きます。この場合は、次のアドレスを使用します。 https://192.168.17.63:4443

Configuration > Inventoryに移動し、Add Newをクリックします。表示されたメニューで、Microsoft Hyper-V host or clusterを選択します。

Adding a remote Azure VM running Hyper-V to use Azure nested virtualization for running a Hyper-V replica

Azureで実行されているHyper-Vホストに、次の情報を追加します。

表示名 :Hyper-V in Azure

種類 :スタンドアロンHyper-Vホスト

ホスト名またはIPアドレス :55.105.221.43(Azureで実行されているHyper-VホストのIPアドレスを入力します)

ユーザー名 :nakivo(AzureでWindows Server 2016およびHyper-Vを実行する仮想マシンを配置したときに設定したユーザー名を入力します)

パスワード : ************* (AzureのHyper-Vホスト上のWindowsユーザーのパスワードを入力します)

WS-MANポート: 5986(デフォルト値をそのまま使用できます)。

Adding a Hyper-V host that is running in Azure to the Inventory

注意: ファイアウォールは、上記の説明に従って正しく設定する必要があります。Hyper-Vホストをインベントリに追加できず、” “55.105221.43C$”ネットワーク共有に接続できません。このホスト上のネットワーク共有にアクセスできることを確認してください。”のようなエラーメッセージが表示された場合は、 ファイアウォール設定を確認してください。

NBRマシンのシステムコンソールにログインして、AzureのHyper-Vホストの外部IPアドレスにpingを実行できます。また、ISP(インターネットサービスプロバイダー)から取得したルーターの外部IPアドレスも必ず確認してください。NBRがLinuxにインストールされている場合は、次のコマンドを使用してWAN IPアドレスを確認できます。

dig +short myip.opendns.com @resolver1.opendns.com

次に、このコマンドの実行後にコンソールに表示されたIPアドレスが、インバウンド接続で許可されるIPアドレスとしてAzure側のファイアウォールルールに追加されていることを確認してください。

Hyper-Vホストを追加すると、インベントリは以下のスクリーンショットのインベントリのようになります。

The Hyper-V host is added to the inventory of NAKIVO Backup & Replication

トランスポーターは、Azureで実行中のリモートHyper-Vホストにインストールされています。これにより、プライマリサイト(データセンター)で実行中のプライマリ(オンプレミス)Hyper-Vホスト上のソースVMのHyper-Vレプリカを作成できます。この例では、そのプライマリサイトは Office 1 と呼ばれています。以下のスクリーンショットには、ローカルHyper-Vホスト上にあるソースVMの一覧が表示されています(この例では 192.168.17.63 です)。同様に、ネットワークテスト用に作成され、AzureのHyper-Vホスト上にある2つのネストされたVMも確認できます。 WinServer2016blog VMは、このブログ記事の次のセクションでレプリケートされます。

Checking VMs running on the Hyper-V host (Hyper-V Nested Virtualization)

Hyper-V VMのレプリカを作成します

NBRのWebインターフェースで ホームページ に移動します。Createをクリックして、Microsoft Hyper-V replication jobを選択します。

Creating a new Hyper-V replication job in NAKIVO Backup & Replication

Microsoft Hyper-V用の新規レプリケーションジョブウィザードが開きます。

1. Source。レプリケートする仮想マシンを選択します。この例では、 WinServer2016blog がAzureにレプリケートされるVMの名前です。テスト用にAzureのHyper-Vホスト上に作成された2つのネストされたVMを確認できます。

各手順で 次へ をクリックして続行します。

Selecting a source Hyper-V virtual machine that must be replicated to Azure

2. Destination。送信先コンテナとして AzureのHyper-V を選択します。 C:NakivoReplicas は、Hyper-Vホスト上でVMレプリカを保存する送信先ディレクトリとして使用されます。 仮想マシンを保存するために追加の仮想ディスクを追加している場合は、そのディスク上のディレクトリ(例:ディスク E:NakivoReplicas )を選択することをお勧めします。

仮想マシン名をクリックして詳細設定を展開し、仮想マシンの仮想ネットワークアダプターを接続するネットワークを選択します。この例では、VMレプリカは InternalSwitchNAT 仮想ネットワーク(AzureでHyper-Vホストをデプロイした後に手動で作成されたネットワーク)に接続されます。

Configuring destination options for a new Hyper-V VM replication job

3. Networks。この手順でネットワークマッピングを設定できます。

ネットワークマッピングは、レプリケーションジョブの完了後にVMレプリカの仮想ネットワークアダプターを接続する仮想ネットワーク(仮想スイッチ)を定義するための機能です。この機能により、宛先のHyper-Vホスト上でVMレプリカのネットワーク設定を手動で構成する必要がなくなります。

この例では、ソースのHyper-V VMが Broadcom NetXtreme ネットワークに接続されています。このVMのレプリカは、 InternalSwitchNAT ネットワーク(上記のPowerShellで作成されたネットワーク)に接続する必要があります。

Configuring a network mapping rule (Hyper-V Nested Virtualization)

4. Re-IP。ネットワークマッピングを設定すると、VMレプリカが必要な仮想ネットワークに接続されます。次に、VMレプリカに対して選択したネットワークで有効なIPアドレスを定義します。Re-IP機能では、複数のVMに適用できるルールを作成し、どのソースIPアドレスをどの宛先IPアドレスに変更するかを設定できます。

Create new rule をクリックして、新しいRe-IPルールを作成します。

この例での source settings は次のとおりです。

IPアドレス : 192.168.117.*(この場合、アスタリスクは1~254の任意の値を意味します)

サブネットマスク : 255.255.255.0

Target settings は次のとおりです。

IPアドレス : 192.168.217.*

サブネットマスク : 255.255.255.0

デフォルトゲートウェイ : 192.168.217.1

プライマリDNSサーバー : 8.8.8.8

セカンダリDNSサーバー : 192.168.217.1

したがって、ソースVMのIPアドレス192.168.117.7は192.168.217.7に変更されます。

ルールを適用するVMを選択することを忘れないでください(Select VMs をクリックします)。

Creating a new Re-IP rule for the Hyper-V replication job

5. Schedule。スケジュールオプションを設定します。

Configuring scheduling options for the Hyper-V replication job in NAKIVO Backup & Replication

6. Retention。必要に応じて保持設定を構成します。

Configuring retention settings in NAKIVO Backup & Replication

7. Options。必要なVMオプションを選択します。以下では、最も重要なオプションについて説明します。

ジョブ名 : Hyper-VからAzureへのレプリケーション

アプリケーション認識モード 。有効にし、設定をクリックしてユーザー名とパスワードを指定します。

変更追跡 : ソースホストでWindows Server 2016以降が実行されている場合は、 Hyper-V RCT を使用してください。Windows Server 2012 R2以前でHyper-Vが実行されている場合は、独自の方法を使用してください。

その他の設定はデフォルトのままにできます。

Configuring options for the Hyper-V replication job

Hyper-V複製ジョブの設定をセーブしてジョブを実行するには、Finish & Runを押してください。

VMがAzureのHyper-Vホストに複製されるまでお待ちください。ジョブの完了に必要な時間は、インターネットの帯域幅と仮想ディスクのサイズによって異なります。

注意: エラーメッセージ[Replication of the “WinServer2016blog” VM cannot be started. There is no connection between all possible source and target transporters for this VM in job “Hyper-V replication to Azure”]が表示された場合は、ネットワーク構成を確認してください。詳細を表示するには、Learn Moreをクリックしてください。

Check your firewall settings to create a Hyper-V replica in Azure

ローカル側とAzure側のファイアウォール設定を確認してください。ネットワークプロパティで、ソースHyper-Vホストの高度な共有設定を確認してください。NBRウェブインターフェースの設定ページにある適切なタブで、インベントリとトランスポーターを更新してください。

すべてが正しく構成されていることを確認してください。その後、AzureへのHyper-V複製ジョブをもう一度開始してください。これで、Hyper-V複製ジョブが正しく実行されるはずです。

The Hyper-V replication job to Azure is running

複製ジョブが完了すると、AzureのHyper-VホストにVMレプリカ( WinServer2016blog-replica )が表示されます。このHyper-Vレプリカは、Azure内のネストされたVMです。

VMのAzureへのフェイルオーバー

VMレプリカが作成されたため、NBRでVMのフェイルオーバーを実行する準備が整っています。

ホームページでRecoverをクリックし、表示されたメニューでVMレプリカのフェイルオーバーを選択してください。

VM replica failover to the nested VM of the Hyper-V format residing in Azure

新しい Microsoft Hyper-V用フェイルオーバージョブウィザードが開きます。

1. Source フェイルオーバーに使用するVMレプリカを選択してください。この場合、 WinServer2016blog-replica はAzure内のネストされたVMレプリカの名前です。

Selecting a nested VM replica of the Hyper-V format that will be used to fail over

2. Networks ネットワークマッピングを有効にすると、複製ジョブの場合と同様に、必要な仮想Hyper-VネットワークへVMレプリカを手動で再接続せずに済みます。

Configuring network mapping when configuring failover to the nested VM replica of the Hyper-V format residing in Azure

3. Re-IP. フェイルオーバー後にVMレプリカのIPアドレスを手動で再構成せずに済むよう、Re-IPを有効にできます。Select VMsをクリックし、Re-IPルールを適用するVMレプリカを選択してください。

Configuring Re-IP settings to fail over to the nested VM of the Hyper-V format running in Azure

4. Options ジョブ名を入力してください(例: Hyper-VのAzureへのフェイルオーバー)。

競合を避け、すべての変更がソースVMではなくVMレプリカに加えられるように、ソースVMを電源オフにしてください。

Configuring failover job options

Finish & Runをクリックして、フェイルオーバージョブをセーブして実行してください。

Hyper-Vフェイルオーバージョブが完了するまで、しばらくお待ちください。 ジョブが完了すると、VMレプリカが実行中であり、ソースVMの電源がオフになっていることを確認できます。

Hyper-V VM failover to Azure is started

Hyper-Vを実行中のAzure VMにRDPで接続し、ネストされたVMレプリカの電源がオンになっていることを確認できます。すべての変更は、現在ネストされたVMレプリカに書き込まれています。

A nested VM replica is running on a virtual Hyper-V server in Azure

プライマリサイトのインフラストラクチャが復旧すると、VMフェイルバック操作を実行し、リモート復旧サイトとして使用されているAzureからプライマリサイト(この場合は Office 1 )にワークロードを戻すことができます。VMフェイルバックを実行すると、VMレプリカで行われた変更が元のVMに転送されます。この操作はフェイルバックと呼ばれます。

VMフェイルバック

フェイルバックを実行するには、NAKIVO Backup & Replication WebインターフェースのホームページでRecover > VM replica failbackに移動します。

VM replica failback

フェイルバックジョブウィザード が開きます。

1. Source. VMフェイルオーバーに使用したVMレプリカを選択します(この例では WinServer2016blog-replica です)。フェイルバックジョブを開始する前に、VMレプリカをシャットダウンすることをお勧めします。

Selecting the nested Hyper-V replica as a source VM for the VM failback job in NAKIVO Backup & Replication

2. Destination。ドロップダウンメニューでOriginal Locationを選択します。必要に応じて 新しい所在地 を選択できます。

Selecting the original location as the destination for a new Hyper-V failback job in NAKIVO Backup & Replication

3. Networks. フェイルオーバージョブを設定したときの前のルールと逆の順序で、逆方向のネットワークマッピングルールを作成します。この場合、ソースネットワークは InternalSwitchNAT で、ターゲットネットワークは Broadcom NetXtreme です。

Configuring network mapping for the Hyper-V failback job (Hyper-V Nested Virtualization)

4. Re-IP。IPアドレスを逆の順序で変更します。この例では、Re-IPルールの設定を以下に示します。

Source Settings

IPアドレス : 192.168.217.*

サブネットマスク : 255.255.255.0

Target Settings

IPアドレス : 192.168.117.*

サブネットマスク : 255.255.255.0

デフォルトゲートウェイ : 192.168.117.1

プライマリDNSサーバー : 192.168.117.1

セカンダリDNSサーバー : 8.8.8.8

Select VMs をクリックし、VMレプリカ(この場合は WinServer2016blog-replica です)を選択します。

Configuring the Re-IP rule for a new Hyper-V VM failback job in NAKIVO Backup & Replication

5. Options。VM名、事前アクション、事後アクションなどのフェイルバックジョブオプションを定義します。

ジョブ名を入力します: Hyper-VのAzureからのフェイルバック。

チェックボックスをオンにします: レプリカVMの電源をオフにします。

Setting up options for Hyper-V VM failback job

Finish and Run をクリックして設定をセーブし、フェイルバックジョブを実行します。変更がソースVMと同期されるまでお待ちください。その後、プライマリサイトでVMを引き続き使用できます。 注: このブログ記事で Office 1 と呼ばれているプライマリサイトのファイアウォールは、NAKIVO Backup & Replication のコンポーネント間のネットワーク通信とデータ転送を許可するように正しく構成する必要があります。そうしない場合、次のようなエラーメッセージが表示される可能性があります。

VM”winServer2016blog-replica”のレプリケーションに失敗しました。”WinServer2016blog-replica”VM の 1 つ以上の仮想ディスクのレプリケーション中にエラーが発生しました 。

この場合は、プライマリサイトのルーターと Hyper-V サーバーのファイアウォール設定を確認してください。Azure で作成したものと同様のファイアウォールルールをいくつか作成する必要がある場合があります。

動作原理を説明するために、このブログ記事ではネットワーク構成の簡単な例を説明しています。代替手段としてサイト間 VPN 接続を構成することもできます。これにより、ネットワーク接続に関して、より柔軟で高度なオプションを利用できます。

結論

リモートサイトに VM レプリカを保持することは、ディザスタリカバリ計画で推奨されるオプションです。ディザスタリカバリ用の独自のリモートサイトを展開できない場合は、パブリッククラウドサービスをディザスタリカバリサイトとして使用できます。仮想マシンの実行に Hyper-V エンジンを使用する Microsoft Azure は、クラウドで VM を実行するための優れたソリューションです。ただし、Azure VM と Hyper-V VM の形式には複数の違いがあるため、Hyper-V VM を Azure に直接レプリケーションすることはできません。Hyper-V の入れ子になった仮想化は、VM 内で VM を実行できる便利な機能です。この機能を使用して、Hyper-V VM を Azure にレプリケーションできます。

このブログ記事では、Azure で Hyper-V の入れ子になった仮想化を利用し、複製する Hyper-V 仮想マシンを Microsoft Azure クラウドに移行して、災害から保護する方法について説明しました。NAKIVO Backup & Replication は Hyper-V VM をクラウド内の Azure VM として実行されている Hyper-V ホストにレプリケーションし、ディザスタリカバリシナリオの一環として VM のフェイルオーバーとフェイルバックを実行できます。

これで、ディザスタリカバリプロセスを迅速かつ簡単に実行できるように、Azure 環境、Hyper-V 環境、ファイアウォール、および NAKIVO Backup & Replication を構成する方法を理解できたはずです。

NAKIVO Backup & Replication をお試しください

NAKIVO Backup & Replication をお試しください

無料トライアルを利用して、本ソリューションのデータ保護機能をすべてお試しください。15日間無料。機能や容量に制限はありません。クレジットカードも不要です。

関連記事