Azure仮想マシンで「第2世代仮想マシン」のサポートがようやくプレビューで登場:Microsoft Azure最新機能フォローアップ(80)
Azure仮想マシンで「第2世代仮想マシン」のサポートがパブリックプレビューとして利用可能になりました。オンプレミスのHyper-V環境では、レガシーデバイスを排除した第2世代仮想マシンが既にメインストリームといえます。プレビューという制約はありますが、Azure仮想マシンでもようやく第2世代仮想マシンを利用できるようになりました。
オンプレミスではWindows Server 2012 R2 Hyper-Vから利用可能
2013年10月リリースのWindows Server 2012 R2では、「Hyper-V」に“世代”という概念が追加され、BIOSベースの仮想マシンの世代は「第1世代」となり、新たにUEFIベースの「第2世代」の仮想マシンがサポートされました(画面1)。
BIOSベースの第1世代仮想マシンは、IDEコントローラーやフロッピーディスクドライブなど、エミュレートされたレガシーなハードウェア構成であることが特徴で、任意の32bit/64bit OSをゲストOSとしてサポートします。
一方、UEFIベースの第2世代仮想マシンは“仮想化に最適化された64bit OS専用”であり、UEFIセキュアブート、仮想TPM(Trusted Platform Module)、SCSIコントローラー接続のOSディスク、VHDXディスク(VHDディスクには非対応)、PXE(Preboot eXecution Environment)ブート対応のネットワークアダプター(第1世代はレガシーネットワークアダプターでのみPXEブートをサポート)などの機能がサポートされます。
Azureの第2世代仮想マシンのパブリックプレビュー
「Azure仮想マシン」は、Hyper-Vの第1世代仮想マシンと互換性があります。これまで第2世代仮想マシンはサポートされず、オンプレミスでWindows Serverの仮想マシンのカスタムイメージを準備する場合、第1世代仮想マシンとして作成し、容量固定タイプのVHDとしてAzureにアップロードする必要がありました。
2019年5月から、Azure仮想マシンにおいても、第2世代仮想マシンがサポートされるようになりました。現在は、パブリックプレビューであり、Azure Marketplaceで公開されている「Windows Server Gen2 Preview」イメージを使用して試用できます(画面2)。
- Generation 2 virtual machines in Azure − Public Preview[英語](Microsoft Azure)
画面2 第2世代仮想マシンを試用するには、Azure Marketplaceの「Windows Server Gen2 Preview」イメージをデプロイする。パブリックプレビュー開始時はWindows Server 2012以降の5バージョンに対応
オンプレミスのHyper-Vの第2世代仮想マシンでは、Windows Server 2012以降および一部の64bit LinuxがゲストOSでサポートされていますが、Azureでのパブリックプレビュー開始時はWindows Server 2012以降のWindows Serverのみを利用できます。また、第2世代仮想マシンは、AzureのDSv2、DSv3、ESv3、FSv2、GS、LS、LSv2、Mv2シリーズ、Premiumストレージでのみサポートされます。
オンプレミスのHyper-Vの第2世代仮想マシンとの機能差に注意
以下の公式ドキュメントで説明されているように、Azureの第2世代仮想マシンは、オンプレミスのHyper-Vの第2世代仮想マシンで利用可能な全ての機能をサポートしているわけではありません。
- Generation 2 VMs(preview)on Azure[英語](Microsoft Azure)
現状、セキュアブート、シールドされたVM(仮想マシン)、仮想TPM、仮想化ベースのセキュリティ(Virtualization-Based Security:VBS)はサポートされていません。また、VHDX形式の仮想ハードディスクはサポートされておらず、オンプレミスでカスタムイメージを準備する場合は、VHDXを容量可変タイプのVHDに変換してからアップロードする必要があります。
次の画面3は、Windows Server 2019の第2世代仮想マシンをAzureにデプロイしたときのハードウェアとシステムの情報です。
システムデバイスの「Microsoft Hyper-V Dynamic Memory」がエラーとなり、その他のデバイスとして、1つのデバイス(VMBusに接続されたデバイス)が正しく認識されていませんでした。これは、プレビューの機能制限に関係しているものと想像しています。
また、上記のドキュメントでは、VBSはサポートされていないことになっていますが、筆者が確認した限り、DSv3、ESv3、FSv3など、「入れ子構造の仮想化」(Nested Virtualization)をサポートするシリーズで展開し、Hyper-Vの役割を有効化すれば、VBSが実行状態になりました(画面4)。
なお、現時点でサポートされていないHyper-Vの第2世代仮想マシンの機能は、ユーザーからのフィードバックによっては将来利用可能になるかもしれません。
参考として、Windows Server 2019を通常の仮想マシン(第1世代)としてAzureにデプロイしたときのハードウェアとシステムの情報を示します(画面5)
最新情報(2020年2月3日追記)
2019年11月に第2世代仮想マシンの一般提供が開始されました。
- 第2世代Azure 仮想マシン(VM)の一般提供を開始(Microsoft Azure)
- Azureでの第2世代VMのサポート(Microsoft Azure)
筆者紹介
山市 良(やまいち りょう)
岩手県花巻市在住。Microsoft MVP:Cloud and Datacenter Management(2018/7/1)。SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。Microsoft製品、テクノロジーを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手掛ける。個人ブログは『山市良のえぬなんとかわーるど』。近著は『ITプロフェッショナル向けWindowsトラブル解決 コマンド&テクニック集』(日経BP社)。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 開発者に朗報! Windows 10でWindows Serverコンテナが実行可能に
Windows 10の開発者向け機能として、Dockerによる「Windowsコンテナ」のサポートがあります。これまでは、Hyper-Vで分離された「Hyper-Vコンテナ」だけがサポートされていましたが、最新の「Docker Desktop for Windows」では、「Windows Serverコンテナ」もサポートされました。 - WindowsのDocker(コンテナ)対応、正しく理解できていますか?
Windows Server 2016とWindows 10では「Docker」がサポートされます。一方、Docker社は「Docker for Windows」を提供しています。どちらも“Docker”ですが、両者は似て非なるもの。似たものがいろいろと出てきていますので、整理しておきましょう。 - 「Windows Serverコンテナ」「Hyper-Vコンテナ」「Linuxコンテナ」「Docker」の違いとは?
軽量なアプリケーション実行環境であるコンテナ機能がWindows OSでも使えるようになった。Windowsコンテナには2種類あるが、その違いは? Linuxコンテナとは何が違う? - Kubernetes 1.14がリリース、Windowsコンテナサポートが安定版に到達
Kubernetesプロジェクトは2019年3月25日(米国時間)、Windowsノードの本番サポートなどを盛り込んだKubernetes 1.14をリリースしたと発表した。Kubernetes 1.14では、安定性に重点を置き、既にβ版などとして搭載している機能を成熟させることに力を注いだという。