Azure 仮想マシンにHyper-Vの役割を構築する際の制約

こんにちは。

今回、Azure上の仮想マシン(以下、「VM」と記載)にHyper-Vの役割を追加し、その上にVMを作成しようとしました。

しかし、Azure上で立てたVMをHyper-Vホストサーバーとして稼働させるためにはいくつかの制約があることを見落としてしまい、実際に作成してから検証に至るまでに悪戦苦闘を強いられました。

これからこの手法で検証環境を構築したりする方は、本記事でご紹介する制約を念頭に置きながら構築を進めてください。

備忘として残すこともかねて、手順を共有できたらなと思い、記事にしました。

Azure VM上にHyper-Vホストサーバーを構築する際の制約

Azure VM上にHyper-Vホストサーバーを構築する際の制約は主に3つあります。

  1. OSはWindows Server 2016 以降のものを選択する
  2. セキュリティの種類を標準(Standard)にして作成する
  3. ホストサーバーのサイズ数を今回の手法(入れ子になった仮想化)がサポートされているシリーズにする

この3つのどれかが欠けてしまうと、作成しても役割をインストールする際などにエラーが返されてしまうので注意してください。

※ なお、今回の手法のことを入れ子になった仮想化(Enable Nested Virtualization)といいます。

では、制約事項を一つずつ確認していきましょう。

OSはWindows Server 2016 以降のものを選択する

Hyper-Vのホストサーバーとして適しているものについては、Microsoftによって正式に定められています。

前提条件

Intel プロセッサ (VT-x/EPT テクノロジ搭載)

  • Hyper-V ホストは、Windows Server 2016 以降、または Windows 10 以降である必要があります。
  • VM 構成バージョン 8.0 以降。

AMD EPYC/Ryzen プロセッサ以降

  • Hyper-V ホストは、Windows Server 2022 以降、または Windows 11 以降である必要があります。
  • VM 構成バージョン 9.3 以降。

(引用:入れ子になった仮想化による仮想マシンでの Hyper-V の実行 | Microsoft Learn

例えば、Azure上のWindows Server 2012をホストファミリーとして、Hyper-Vの機能をインストールしようとしても、役割と機能から追加し、インストールすることはできません。

まずは、OSが上記の条件を満たしていることを確認しましょう。

セキュリティの種類を標準(Standard)にして作成する

セキュリティの種類が「トラステッド起動の仮想マシン」になってしまっていると、今回の「入れ子になった仮想化」がサポートされていないため、正しく動作してくれません。

よって、セキュリティの種類に関しては「Standard」のものを選ぶようにしましょう。

ホストサーバーのサイズ数を今回の手法(入れ子になった仮想化)がサポートされているシリーズにする

OSの要件を満たしていたとしても、それだけでは正常にインストールすることができない可能性があります。その理由が、仮想マシンのサイズ数です。

Microsoftは、次のように定義しています。

Azure での入れ子になった仮想化

公開日: 7月 21, 2017

Dv3 および Ev3 の仮想マシン サイズで、入れ子になった仮想化を有効化できるようになりました。今後、他の仮想マシン サイズでも対応できるよう、Microsoft では引き続き展開を行っていきます。 

(引用元:Azure での入れ子になった仮想化 | Azure の更新情報 | Microsoft Azure

VM作成時には、該当のサイズ数を適用させることを念頭に置いて作成を進めてください。

Hyper-Vホストサーバーの作成方法

Hyper-VのホストサーバーとなるVMをAzure Portalから作成します。

基本は、下記の手順通りに進めます。

Hyper-V の入れ子になった仮想化とは | Microsoft Learn

前述の3点の部分を正しく設定できていればHyper-Vホストサーバーとして機能します。しかし、前述で触れた3つの制約の部分については、実際の画面も併用しながら説明させていただきたいと思います。

手順1

はじめにVMを作成する画面までいき、「仮想マシン名」「リソースグループ」等の入力が済んだら、サイズを選択する部分までスクロールします。

手順2

枠の中にプルダウンできるボタンがあるのでクリックすると、以下のように一覧で表示することができます。

表示出来たら、[すべてのサイズを表示]のボタンをクリックしてください。

手順3

画面が変移し、VMサイズがさらに選べるようになります。上部に、検索画面があるため、そこへ「_v3」と入力するとサイズをソートすることができます。

ここで画面に表示されたいずれかのサイズを選択すると、入れ子になった仮想化が有効となるサイズを選択することができます。

今回は、「D4s_v3」のシリーズを選択しています。

あとは適宜、必要な情報を入力してNSGなどの設定をしっかりと行えば、Azure VMをホストサーバーとして、VMを動作させることが可能になります。

補足

今回は実施していないのですが、念のためディスクを追加でアタッチすることをおすすめします。理由としては、Hyper-V上でVMを作成する際に、仮想ディスクのサイズが肥大化してディスク領域を圧迫してしまう可能性があるためです。(Azure VMの標準のCドライブのサイズは127GB。)

一時的な検証かつ時間があまりなかったので、今回はこの操作を実施しませんでしたが(言い訳です…)、新しくディスクを増設することで再構築する手間を省くためにも、127GB以上のサイズのディスクをアタッチしておくことをお勧めします。

以上、補足とさせてください。

執筆担当者プロフィール
白岩 素直

白岩 素直(日本ビジネスシステムズ株式会社)

クラウドソリューション本部に所属。現在は、Active Directoryの移行や新規サーバーの構築などを中心とした案件に携わっています。趣味は読書です。

担当記事一覧