Azure VM で入れ子になった仮想化を有効にする方法How to enable nested virtualization in an Azure VM

入れ子になった仮想化は、複数の Azure 仮想マシン ファミリでサポートされています。Nested virtualization is supported in several Azure virtual machine families. この機能により、開発、テスト、トレーニング、デモなど、各環境のシナリオに柔軟に対応できます。This capability provides great flexibility in supporting scenarios such as development, testing, training, and demonstration environments.

この記事では、Azure VM で Hyper-V を有効にして、ゲスト仮想マシンへのインターネット接続を構成する手順について説明します。This article steps through enabling Hyper-V on an Azure VM and configuring Internet connectivity to that guest virtual machine.

入れ子対応の Azure VM を作成するCreate a nesting capable Azure VM

新しい Windows Server 2016 Azure VM を作成します。Create a new Windows Server 2016 Azure VM. たとえば、すべての v3 仮想マシンは入れ子になった仮想化をサポートしています。For quick reference, all v3 virtual machines support nested virtualization. 入れ子をサポートしている仮想マシンのサイズの完全な一覧については、「Azure コンピューティング ユニット (ACU)」をご覧ください。For a complete list of virtual machine sizes that support nesting, check out the Azure Compute Unit article.

必ずゲスト仮想マシンの要求をサポートするのに十分な大きさの VM サイズを選択してください。Remember to choose a VM size large enough to support the demands of a guest virtual machine. この例では、D3_v3 サイズの Azure VM を使用しています。In this example, we are using a D3_v3 size Azure VM.

Dv3 または Ev3 シリーズの仮想マシンのリージョン別提供状況については、こちらをご覧ください。You can view the regional availability of Dv3 or Ev3 series virtual machines here.

注意

新しい仮想マシンを作成する手順の詳細については、「Azure PowerShell モジュールを使用して Windows VM を作成および管理する」を参照してください。For detailed instructions on creating a new virtual machine, see Create and Manage Windows VMs with the Azure PowerShell module

Azure VM に接続するConnect to your Azure VM

仮想マシンへのリモート デスクトップ接続を作成します。Create a remote desktop connection to the virtual machine.

  1. 仮想マシンのプロパティで、 [接続] ボタンをクリックします。Click the Connect button on the virtual machine properties. リモート デスクトップ プロトコル ファイル (.rdp ファイル) が作成されてダウンロードされます。A Remote Desktop Protocol file (.rdp file) is created and downloaded.

  2. VM に接続するには、ダウンロードした RDP ファイルを開きます。To connect to your VM, open the downloaded RDP file. メッセージが表示されたら、 [接続] をクリックします。If prompted, click Connect. Mac では、このリモート デスクトップ クライアントのような RDP クライアントを Mac App Store から入手する必要があります。On a Mac, you need an RDP client such as this Remote Desktop Client from the Mac App Store.

  3. 仮想マシンの作成時に指定したユーザー名とパスワードを入力し、 [OK] をクリックします。Enter the user name and password you specified when creating the virtual machine, then click Ok.

  4. サインイン処理中に証明書の警告が表示される場合があります。You may receive a certificate warning during the sign-in process. [はい] または [続行] をクリックして接続処理を続行します。Click Yes or Continue to proceed with the connection.

Azure VM の Hyper-V 機能を有効にするEnable the Hyper-V feature on the Azure VM

この設定は手動で構成するか、用意されている PowerShell スクリプトを使って自動で構成できます。You can configure these settings manually or we have provided a PowerShell script to automate the configuration.

選択肢 1: PowerShell スクリプトを使用して、入れ子になった仮想化を構成するOption 1: Use a PowerShell script to configure nested virtualization

Windows Server 2016 ホストの入れ子になった仮想化を有効にする PowerShell スクリプトは GitHub でご利用いただけます。A PowerShell script to enable nested virtualization on a Windows Server 2016 host is available on GitHub. スクリプトは、前提条件をチェックし、Azure VM で入れ子になった仮想化を構成します。The script checks pre-requisites and then configures nested virtualization on the Azure VM. 構成を完了するには、Azure VM を再起動する必要があります。A restart of the Azure VM is necessary to complete the configuration. このスクリプトは他の環境で動作する可能性はありますが、保証されません。This script may work in other environments but is not guaranteed. Azure のブログ記事と、Azure で実行されている入れ子になった仮想化のライブ ビデオ デモをご確認くださいCheck out the Azure blog post with a live video demonstration on nested virtualization running on Azure! https://aka.ms/AzureNVbloghttps://aka.ms/AzureNVblog.

選択肢 2: 入れ子になった仮想化を手動で構成するOption 2: Configure nested virtualization manually

  1. Azure VM で、PowerShell を管理者として開きます。On the Azure VM, open PowerShell as an Administrator.

  2. Hyper-V の機能と管理ツールを有効にします。Enable the Hyper-V feature and Management Tools.

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

    警告

    このコマンドは、Azure VM を再起動します。This command restarts the Azure VM. 再起動プロセスの間、RDP 接続は失われます。You will lose your RDP connection during the restart process.

  3. Azure VM の再起動後、RDP を使用して VM に再接続します。After the Azure VM restarts, reconnect to your VM using RDP.

ゲスト仮想マシンのインターネット接続を設定するSet up internet connectivity for the guest virtual machine

ゲスト仮想マシンの新しい仮想ネットワーク アダプターを作成し、インターネット接続が有効になるように NAT ゲートウェイを構成します。Create a new virtual network adapter for the guest virtual machine and configure a NAT Gateway to enable Internet connectivity.

NAT 仮想ネットワーク スイッチを作成するCreate a NAT virtual network switch

  1. Azure VM で、PowerShell を管理者として開きます。On the Azure VM, open PowerShell as an Administrator.

  2. 内部スイッチを作成します。Create an internal switch.

    New-VMSwitch -Name "InternalNAT" -SwitchType Internal
    
  3. スイッチのプロパティを表示し、新しいアダプターの ifIndex を書き留めます。View the properties of the switch and note the ifIndex for the new adapter.

    Get-NetAdapter
    

    NetAdapter

    注意

    作成したばかりの仮想スイッチの "ifIndex" を書き留めます。Take note of the "ifIndex" for the virtual switch you just created.

  4. NAT ゲートウェイの IP アドレスを作成します。Create an IP address for the NAT Gateway.

ゲートウェイを構成するには、ネットワークに関する情報がいくつか必要です。In order to configure the gateway, you need some information about your network:

  • IPAddress - NAT ゲートウェイ IP は、仮想ネットワーク サブネットの既定のゲートウェイ アドレスとして使用する IPv4 または IPv6 アドレスを指定します。IPAddress - The NAT Gateway IP specifies the IPv4 or IPv6 address to use as the default gateway address for the virtual network subnet. 一般的な形式は a.b.c.1 ("192.168.0.1" など) です。The generic form is a.b.c.1 (for example, "192.168.0.1"). 末尾は .1 である必要はありませんが、通常は .1 です (プレフィックス長に基づきます)。While the final position doesn’t have to be .1, it usually is (based on prefix length). 一般的には、RFC 1918 プライベート ネットワーク アドレス空間を使用する必要があります。Typically you should use an RFC 1918 private network address space.

  • PrefixLength - サブネット プレフィックス長は、ローカル サブネット サイズ (サブネット マスク) を定義します。PrefixLength - The subnet prefix length defines the local subnet size (subnet mask). サブネット プレフィックス長は 0 ~ 32 の整数値になります。The subnet prefix length will be an integer value between 0 and 32. 0 は、インターネット全体をマップし、32 は、マップされた IP を 1 つのみ許可します。0 would map the entire internet, 32 would only allow one mapped IP. 一般的な値は 24 ~ 12 で、NAT に接続する必要がある IP 数によって異なります。Common values range from 24 to 12 depending on how many IPs need to be attached to the NAT. 通常、PrefixLength は 24 です。これは 255.255.255.0 のサブネット マスクです。A common PrefixLength is 24 -- this is a subnet mask of 255.255.255.0.

  • InterfaceIndex - ifIndex は、前の手順で作成した仮想スイッチのインターフェイス インデックスです。InterfaceIndex - ifIndex is the interface index of the virtual switch created in the previous step.

    New-NetIPAddress -IPAddress 192.168.0.1 -PrefixLength 24 -InterfaceIndex 13
    

NAT ネットワークを作成するCreate the NAT network

ゲートウェイを構成するには、ネットワークと NAT ゲートウェイに関する情報を指定する必要があります。In order to configure the gateway, you will need to provide information about the network and NAT Gateway:

  • Name - NAT ネットワークの名前です。Name - This is the name of the NAT network.
  • InternalIPInterfaceAddressPrefix - NAT サブネット プレフィックスは、上記の NAT ゲートウェイ IP プレフィックスと NAT サブネット プレフィックス長の両方を記述します。InternalIPInterfaceAddressPrefix - The NAT subnet prefix describes both the NAT Gateway IP prefix from above as well as the NAT Subnet Prefix Length from above. 一般的な形式は a.b.c.0/NAT サブネット プレフィックス長になります。The generic form will be a.b.c.0/NAT Subnet Prefix Length.

PowerShell で、新しい NAT ネットワークを作成します。In PowerShell, create a new NAT network.

New-NetNat -Name "InternalNat" -InternalIPInterfaceAddressPrefix 192.168.0.0/24

ゲスト仮想マシンを作成するCreate the guest virtual machine

重要

Azure ゲスト エージェントは入れ子になった VM ではサポートされておらず、ホスト VM と入れ子になった VM の両方で問題が発生する可能性があります。The Azure guest agent is not supported on nested VMs, and may cause issues on both the host and nested VMs. 入れ子になった VM には Azure エージェントをインストールしないでください。また、既に Azure ゲスト エージェントがインストールされている、入れ子になった VM を作成するためのイメージを使用しないでください。Don’t install the Azure agent on nested VMs, and don't use an image for creating the nested VMs that already has the Azure guest agent installed.

  1. Hyper-V マネージャーを開いて、新しい仮想マシンを作成します。Open Hyper-V Manager and create a new virtual machine. 作成した新しい内部ネットワークを使用するように仮想マシンを構成します。Configure the virtual machine to use the new Internal network you created.

    NetworkConfig

  2. ゲスト仮想マシンでオペレーティング システムをインストールします。Install an operating system on the guest virtual machine.

    注意

    VM にインストールするオペレーティング システムのインストール メディアが必要です。You need installation media for an operating system to install on the VM. ここでは、Windows 10 Enterprise を使用しています。In this case we are using Windows 10 Enterprise.

IP アドレスをゲスト仮想マシンに割り当てるAssign an IP address to the guest virtual machine

IP アドレスをゲスト仮想マシンに割り当てるには、ゲスト仮想マシンで静的 IP アドレスを手動で設定するか、IP アドレスが動的に割り当てられるように Azure VM で DHCP を構成します。You can assign an IP address to the guest virtual machine either by manually setting a static IP address on the guest virtual machine or configuring DHCP on the Azure VM to assign the IP address dynamically.

選択肢 1: IP アドレスがゲスト仮想マシンに動的に割り当てられるように DHCP を構成するOption 1: Configure DHCP to dynamically assign an IP address to the guest virtual machine

動的アドレス割り当てのためにホスト仮想マシンで DHCP を構成するには、次の手順に従ってください。Follow the steps below to configure DHCP on the host virtual machine for dynamic address assignment.

Azure VM で DCHP サーバーをインストールするInstall DCHP Server on the Azure VM

  1. サーバー マネージャーを開きます。Open Server Manager. ダッシュボードで [役割と機能の追加] をクリックします。On the Dashboard, click Add roles and features. 役割と機能の追加ウィザードが表示されます。The Add Roles and Features Wizard appears.

  2. ウィザードで、[サーバーの役割] ページが表示されるまで [次へ] をクリックします。In wizard, click Next until the Server Roles page.

  3. クリックして [DHCP サーバー] チェック ボックスをオンにし、 [機能の追加] をクリックして、ウィザードが完了するまで [次へ] をクリックします。Click to select the DHCP Server checkbox, click Add Features, and then click Next until you complete the wizard.

  4. [インストール] をクリックします。Click Install.

新しい DHCP スコープを構成するConfigure a new DHCP scope

  1. DHCP マネージャーを開きます。Open DHCP Manager.

  2. ナビゲーション ウィンドウで、サーバー名を展開し、 [IPv4] を右クリックして、 [新しいスコープ] をクリックします。In the navigation pane, expand the server name, right-click IPv4, and click New Scope. 新しいスコープ ウィザードが表示されたら、 [次へ] をクリックします。The New Scope Wizard appears, click Next.

  3. スコープの名前と説明を入力し、 [次へ] をクリックします。Enter a Name and Description for the scope and click Next.

  4. DHCP サーバーの IP 範囲を定義します (192.168.0.100 ~ 192.168.0.200 など)。Define an IP Range for your DCHP Server (for example, 192.168.0.100 to 192.168.0.200).

  5. [デフォルト ゲートウェイ] ページが表示されるまで、 [次へ] をクリックします。Click Next until the Default Gateway page. 既定のゲートウェイとして前に作成した IP アドレス (192.168.0.1 など) を入力し、 [追加] をクリックします。Enter the IP Address you created earlier (for example, 192.168.0.1) as the Default Gateway, then click Add.

  6. ウィザードが完了するまで、すべて既定値のままにして [次へ] をクリックし、 [完了] をクリックします。Click Next until the wizard completes, leaving all default values, then click Finish.

選択肢 2: ゲスト仮想マシンに静的 IP アドレスを手動で設定するOption 2: Manually set a static IP address on the guest virtual machine

IP アドレスがゲスト仮想マシンに動的に割り当てられるように DHCP を構成しなかった場合は、次の手順を実行して静的 IP アドレスを設定します。If you did not configure DHCP to dynamically assign an IP address to the guest virtual machine, follow these steps to set a static IP address.

  1. Azure VM で、PowerShell を管理者として開きます。On the Azure VM, open PowerShell as an Administrator.

  2. ゲスト仮想マシンを右クリックし、[接続] をクリックします。Right-click the guest virtual machine and click Connect.

  3. ゲスト仮想マシンにサインインします。Sign in to the guest virtual machine.

  4. ゲスト仮想マシンで、ネットワークと共有センターを開きます。On the guest virtual machine, open the Network and Sharing Center.

  5. 前のセクションで作成した NAT ネットワークの範囲内のアドレスに対して、ネットワーク アダプターを構成します。Configure the network adapter for an address within the range of the NAT network you created in the previous section.

この例では、192.168.0.0/24 の範囲のアドレスを使用します。In this example you will use an address in the 192.168.0.0/24 range.

ゲスト仮想マシンで接続をテストするTest connectivity in guest virtual machine

ゲスト仮想マシンで、ブラウザーを開いて Web ページに移動します。In the guest virtual machine, open your browser and navigate to a web page. GuestVMGuestVM

ゲスト仮想マシンのイントラネット接続を設定するSet up intranet connectivity for the guest virtual machine

ゲスト VM と Azure VM との間で透過的接続を有効にする手順については、こちらのドキュメントを参照してください。For instructions on how to enable transparent connectivity between Guest VMs and Azure VMs, please reference this document.