みち草

Azure中心にまとめる技術情報ブログ

Azure仮想マシンでNested Hypver-Vを構築してみる!Part1

はじめに

全3パート中の今回、Part1では以下の内容を記載します。

Nested(入れ子の) Hyper-Vとは、Hyper-V基盤上に構成されている仮想マシンをホストとし、さらにHyper-V環境を構築することです。Hyper-Vの上でHyper-Vをたてることになります。

2016でサポートされ、Azureでもv3シリーズの登場により可能となりました。

Nested Virtualization in Azure | Azure Blog and Updates | Microsoft Azure

今回はAzureの仮想マシンを使用して、Nested Hyper-Vを構築してみます。

最終的にやりたかった通りにはなっていないのですが、できた範囲で備忘として残しています。

事前準備

最終構成は図のイメージで、仮想ネットワーク上のマシンとNested Hyper-V上の仮想マシンで疎通が取れるようにしてみたいと思います。

目次

2019/06/15: Part2作成時にミスが発覚したので赤字で修正&追記

2019/06/16追記:外から中への疎通確認がどうしても構成できなかったので、最終的にはポートフォワーディングで接続させています。

続きは以下

Azure仮想マシンでNested Hypver-Vを構築してみる!Part2 - みち草

Azure仮想マシンでNested Hypver-Vを構築してみる!Part3 - みち草

f:id:kkkzk:20190919233751p:plain

Nested Hyper-VのホストおよびゲストOSには条件があります。条件は以下の4つ。

  • 4GB以上の物理メモリであること。
  • Hyper-V ホストとゲストの両方が Windows Server 2016/Windows 10 Anniversary Update 以降であること。
  • VM 構成バージョン 8.0 以上。
  • VT-x および EPT テクノロジを使用する Intel プロセッサ。入れ子は現在 Intel のみ。

これに加えて、AzureでNested Hyper-Vのホストになるマシンは、ハイパースレッドが有効なVMサイズを使用する必要があります。現在はD/Dsv3、E/Esv3、Mシリーズのみです。

ということで以下の仮想マシンを用意しました。どちらも日本語化済みです。

  • ホスト用仮想マシン(WS2016/D4v3/追加ディスク1TB1本)*1
  • 接続テスト用仮想マシン(WS2016/A2v2/)*1

Hyper-Vの有効化

ホスト用VMにログインし、Hyper-V機能を有効化します。

GitHubに公開されているスクリプト(https://github.com/charlieding/Virtualization-Documentation/tree/live/hyperv-tools/Nested)での設定と手動設定の2種類がありますが、今回は手動で有効化しました。

PowerShellにて以下のコマンドを実行します。 仮想マシンが再起動し、Hyper-Vマネージャーの有効化は完了です。

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

実行結果 f:id:kkkzk:20190919233823p:plain

f:id:kkkzk:20190919233832p:plain

NATスイッチの作成

ゲスト仮想マシンがインターネットへ出られるように、NAT用仮想ネットワークスイッチを作成します。

f:id:kkkzk:20190919233856p:plain

f:id:kkkzk:20190919233906p:plain

作成後、PowerShellにて以下のコマンドを実行し、作成したスイッチのifindexを確認します。後で使います。

Get-NetAdapter

実行結果 f:id:kkkzk:20190919233927p:plain

続けて以下のコマンドを実行し、NATゲートウェイのIPアドレスを設定します。

New-NetIPAddress -IPAddress <ゲートウェイアドレス> -PrefixLength <サブネットプレフィックス長> -InterfaceIndex <ifindex>

<>内は以下の値を指定します。

  • ゲートウェイアドレス:Nested Hyper-V上のゲストマシンを乗せるネットワークの、デフォルトゲートウェイアドレスを指定。今回は10.8.0.1192.168.0.1
  • サブネットプレフィックス長:プレフィックスの長さ。今回は24
  • ifindex:Get-NetAdapterで確認した値。今回は11

実行結果 f:id:kkkzk:20190919233949p:plain

NATネットワークの作成

ゲストマシンが利用する、NATネットワークを作成します。

PowerShellにて以下のコマンドを実行します。

New-NetNat -Name <ネットワーク名> -InternalIPInterfaceAddressPrefix <NATネットワークアドレス>
  • ネットワーク名:任意に指定(今回はInternalNetwork)
  • NATネットワークアドレス:NATネットワークとして使用するアドレスをCIDR形式で指定します。今回は192.168.0.0/24

実行結果 f:id:kkkzk:20190919234214p:plain

Windows Server2016評価版ダウンロード

Part1の最後は、ゲストマシン構築用のWindows Server2016評価版ダウンロードです。

評価版のISOは以下からダウンロードできます。

Microsoft Evaluation Center で Windows Server 2016 を試す

ISOを選択し、必須事項を入力してダウンロードしましょう。

今回はここまでとして、ゲストマシンの構築はPart2に続きます。

Azure仮想マシンでNested Hypver-Vを構築してみる!Part2 - みち草