セイテクエンジニアのブログ かつて山市良と呼ばれたおじさんのブログ vol.17 ラボ環境 on Azureを作る(5) - Azure VMにHyper-V環境を構築
2024年06月10日配信
2024年06月18日更新
執筆者:山内 和朗
いよいよ本格的に、Windows Server 2022のHyper-Vをベースとしたラボ環境を構築していきます。前回までに、Azure IaaSにWindows Server 2022(デスクトップエクスペリエンス)のAzure VMをデプロイし、日本語化しました。今回はその環境に、Hyper-Vの環境をセットアップします。
今回構築していくのは、ラボ環境全体イメージ(図1)の紫の点線で示した部分になります。Hyper-Vだけでなく、Hyper-V仮想マシン(Hyper-V VM)が接続することになる、クローズドな仮想ネットワークも準備します。
図1 Azure上に構築するHyper-Vベースのラボ環境。今回は紫の点線で示した部分を構築する
今回、Azure上のラボ環境として、入れ子になった仮想化(Nested Virtualization)をサポートするVMシリーズでAzure VMをデプロイしました。入れ子になった仮想化をサポートするVMシリーズでは、Windows ServerのHyper-Vを有効化して、使用することができます。
Azure VMに管理者ユーザーでリモートデスクトップ接続したら、サーバーマネージャーのダッシュボードから、「役割と機能の追加ウィザード」を開始し、役割の一覧から「Hyper-V」を選択して追加します(画面1)。ウィザードでは、Hyper-Vの設定をさまざま構成することができますが、特別な設定は必要ありません。特に、「仮想スイッチの作成」ページでは何も選択せずに、ウィザードが仮想スイッチを作成してしまうことを回避してください。Hyper-Vの役割の追加には、OSの再起動が必要です。
画面1 「役割と機能の追加ウィザード」を実行して、「Hyper-V」の役割を追加する。完了するためにはOSの再起動が必要
PowerShellであれば、次の1行でHyper-Vの役割と関連するコンポーネント(管理ツール)をインストールすることができます。
このAzure VMには、512GBのデータディスク(Premium SSD LRS、P20)を割り当てています。まだ、ディスクを初期化していない場合は、「ディスクの管理」スナップイン(diskmgmt.msc)を開いて、GPT(GUIDパーティションテーブル)でディスクを初期化し、NTFSでフォーマットして、そのボリュームをローカルドライブ(例えば、D:ドライブ)にマウントします。
データディスクをマウントしたら、「Hyper-Vマネージャー」スナップイン(virtmgmt.msc)を開き、「操作」ペインから「Hyper-Vの設定」を開いて、「仮想ハードディスク」と「仮想マシン」にそのデータディスク上のボリュームのパスを設定します(画面2)。指定するパスのディレクトリを事前に作成しておく必要はありません。ドライブルートさえ存在すれば、「Hyper-Vマネージャー」が適切にディレクトリやサブディレクトリを作成してくれます。
画面2 データディスクを初期化、フォーマット、マウントし、Hyper-Vの仮想ハードディスクと仮想マシンの既定の保存先パスに設定する
次に、ラボ環境のクローズドな仮想ネットワークを作成します。それには、「内部」タイプのHyper-V仮想スイッチを作成した上で、NATを構成します。この操作には、「Hyper-Vマネージャー」の「仮想スイッチマネージャー」は使用しません。代わりにPowerShellで操作します(仮想スイッチの作成まではGUIでも可能です)。
例えば、内部タイプの仮想スイッチの名前が「NATSwitch」で、その仮想スイッチが提供する内部ネットワークのサブネットを「192.168.0.0/24」にする場合、次の3行のコマンドラインを実行します。
内部タイプの仮想スイッチは、Hyper-VのホストとVMの両方が接続されるものであり、Hyper-Vホスト側には「vEthernet (仮想スイッチ名)」という名前の仮想ネットワークアダプターが追加されます。上記のコマンドラインを実行してNATネットワークを構成すると、Hyper-Vホストの仮想ネットワークアダプターには「192.168.0.1」のIPアドレスが静的に設定されます。
この仮想スイッチに接続することになるHyper-V VMは、Hyepr-VホストのIPアドレス「192.168.0.1」をデフォルトゲートウェイとして設定し、Hyper-Vホストが参照しているAzure提供のDNSサーバーのIPアドレスをHyper-V VMの優先DNSサーバーとして設定すれば、NATネットワークからインターネットにアクセスできるようになります。
NATネットワークに接続されるHyper-Vホスト側のネットワークは「識別されていないネットワーク」と認識され、既定で「パブリック」のWindowsファイアウォール設定が適用されます。「パブリック」プロファイルであることによるHyper-Vホストとの通信への影響を回避するため、念のため「プライベート」プロファイルに切り替えました。それには、PowerShellで次のように実行します。
なお、NATが有効な内部タイプのHyper-V仮想スイッチを使用することは、Azure VMのHyper-Vで動作するHyper-V VMが、インターネットアクセスを含むネットワーク機能に利用可能な唯一の方法です。仮に、Hyper-V VMをAzure VMと同じAzure仮想ネットワーク(VNET)に接続できるようにHyper-Vに「外部」タイプの仮想スイッチを作成したとしても、そこに接続されるHyper-V VMにIPアドレスが自動的に構成されることがないため、Hyper-V VMからはネットワーク機能は利用できません。
Hyper-Vのこの仮想ネットワークの実装は、NATが有効な内部タイプのHyper-V仮想スイッチは、オンプレミスの物理環境でHyper-Vベースのラボ環境を同じように構築する際も利用できます。業務で使用する物理ネットワークからNATで遮断できるので、評価、検証に都合の良い方法だと思います。
最後に、NATが構成された内部ネットワークのネットワーク設定を簡略化するために、Azure VMにDHCPサーバーの役割を追加して、セットアップします(※1)。
「役割と機能の追加ウィザード」でDHCPサーバーの役割を追加しようとすると、“静的IPアドレスが見つかりませんでした”と警告されますが、「続行」をクリックして、役割を追加してください(画面5)。
DHCPサーバーの役割を追加し、インストール後の構成を完了すると、内部ネットワーク側のバインド(192.168.0.1)を通じて、内部ネットワークにDHCPサービスを提供することが可能になるので(画面6)、スコープとDHCPオプションを適切にします。例えば、スコープ「192.168.0.101~192.168.0.254」、DHCPオプションのゲートウェイ「192.168.0.1」およびDNSサーバー(Azure VMが参照するAzure提供のDNSサーバーのIPアドレス)のように設定します。
画面5 警告は無視して「続行」をクリックして、DHCPサーバーの役割を追加する
画面6 スコープを適切に作成すれば、Hyper-Vホスト(Azure VM)の内部ネットワーク側の静的IPアドレスのバインドを通じて、内部ネットワークにDHCPをサービスできる
この内部ネットワークに接続されるHyper-V VMにゲストOSをインストールすれば、ネットワーク設定が自動構成され、すぐにインターネットアクセスを含むネットワーク機能を利用できるはずです。
※1 DHCP(動的ホスト構成プロトコル)サーバーは、Azureの仮想ネットワーク(VNET)ではサポートされませんが、入れ子になった仮想化シナリオで使用される内部ネットワークでサポートされます。
Azure 仮想マシンに対する Microsoft サーバー ソフトウェアのサポート
https://learn.microsoft.com/ja-jp/troubleshoot/azure/virtual-machines/windows/server-software-support
2024年10月31日 | vol.56 はじめてのAzure REST API|Azure&Entra IDスクリプト大作戦(3) |
---|---|
2024年10月29日 | メモ. AlmaLinux(RHEL系)をVMwareからHyper-VへV2V移行するには |
2024年10月28日 | vol.55 サービスプリンシパルによる非対話型認証|Azure&Entra IDスクリプト大作戦(2) |
2024年10月25日 | メモ. Hyper-Vのもう1つの可用性オプション、Hyper-Vレプリカ |
2024年10月24日 | vol.54 Azure&Entra IDの情報取得、スクリプト大作戦 |
2024年10月22日 | メモ. Windows 11 24H2の新規インストール、正しいはずのパスワードが弾かれる(追加情報あり) |
2024年10月21日 | vol.53 Zabbixにあって、BOMにないもの、代用できるもの|BOMおじさんとZabbix(9) |
2024年10月18日 | メモ. クラスター対応更新(CAU)ってこんな感じ |
2024年10月17日 | vol.52 Webサイト/アプリの稼働監視|BOMおじさんとZabbix(8) |
2024年10月15日 | vol.51 更新の監視と管理|BOMおじさんとZabbix(7) |