2019年11月13日(日本時間)、Windows 10の最新バージョン「Windows 10 November 2019 Update(バージョン1909)」が正式リリースされた同日に「Windows Server, version 1909」も正式にリリースされました(Visual Studioサブスクリプションなどでは10月に提供開始)。Azure Marketplaceでも間もなく利用可能になるはずです。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
「Windows Server, version 1909」は、Windows Serverの「半期チャネル」(Semi-Annual Channel、SAC)の最新バージョンです。リリース時点ではAzure Marketplaceにはまだ登場していませんが、今後「Windows Server, version 1909 with Containers」という名称でWindowsコンテナ用のコンテナホストとして、役割や機能、Docker Enterpriseが定義済みの仮想マシンイメージが利用可能になるでしょう(画面1)。
Windows Serverには「Windows Server 2012/2012 R2」「Windows Server 2016」「Windows Server 2019」といった、10年間のサポートが提供される「長期サービスチャネル」(Long-Term Servicing Channel、LTSC)のリリースとは別に、2017年秋からはWindows Server SACのリリースが追加され、年に2回、新バージョンが提供されています。
Windows Serverの半期チャネル(Windows Server SAC)は、オンプレミスでの利用の場合、ソフトウェアアシュアランス(SA)を通じて提供されます。Microsoft Azureの場合は、LTSC、SACのどちらもOSのライセンスがWindows仮想マシンのコンピューティング料金に含まれています。また、SAのAzureハイブリッド特典を利用して、オンプレミスのOSライセンスをAzure上の仮想マシンに持ち込み、安価なコンピューティング料金(Linux仮想マシンと同等)で利用することも可能です。
Windows Server SACは、開発/リリースサイクルの短いクラウドアプリのプラットフォームとしての使用が想定されており、デスクトップエクスペリエンスを含まない「Server Core」と、Windowsコンテナ用の「Nano Server」イメージとして提供されます。
デスクトップエクスペリエンスに依存しない多くの役割や機能に対応していますが、IIS(インターネットインフォメーションサービス)やASP.NETで動くアプリの展開と実行、あるいはWindowsコンテナとして開発したアプリの展開と実行が想定されている主な使用方法です(Nano Serverは.NET CoreおよびASP.NET Coreのみ)。
また、サービス期間はリリース後18カ月と短いことも特徴です。最初のバージョンであるWindows Server, version 1709のサポートは、2019年4月9日(米国時間)に終了しました。次のWindows Server, version 1803も、2019年11月12日(米国時間)にサポートが終了しました。
Windows Server, version 1909のベースOSイメージ(10.0.18363.x)については、正式リリースと同時に利用可能になっています(画面2)。
なお、これらのイメージの取得とコンテナの実行には、Windows Server, version 1909で構築したDocker Enterpriseコンテナホスト、または「Windows 10 バージョン1909」上のDocker Desktopが必要です。下位のバージョン(ビルド)のWindows上のDockerは、上位のバージョンのWindowsコンテナをサポートしないという制限があるからです。
Windows Server, version 1909と同じビルド(18363)ベースのWindows 10 バージョン1909は、Windows 10 バージョン1903(ビルド18362)をベースに、パフォーマンスの向上、エンタープライズ機能、品質の強化を目的とした小規模な機能更新になります。
Windows Server, version 1909も同様ですが、Windowsコンテナ環境について重要な変更点があります。それは、Windowsコンテナを「プロセス分離モード」で実行する際の制限が緩和されたことです。
Windows Server 2016以降で構築したコンテナホストでは、現在のバージョンと過去のバージョンの実行がサポートされます。例えば、Windows Server 2019(ビルド17763のコンテナホストでは、Windows Server 2016(ビルド14393)、Windows Server 2019(ビルド17763)、Windows Server, version 1709(ビルド16299)から1809(ビルド17763)までのWindowsコンテナをサポートしています。しかし、Windows Server 2016のコンテナホストは、Windows Server 2016ベースのWindowsコンテナしか実行できません。
また、Windowsコンテナの実行モードには、コンテナホストとカーネルを共有する「プロセス分離モード」(「Windows Serverコンテナ」とも呼ばれます)と、Hyper-V上にカーネルを実行するインスタンスを隔離してコンテナに提供する「Hyper-V分離モード」(「Hyper-Vコンテナ」とも呼ばれます)があります。
Windows Server, version 1903までのコンテナホストは、Windowsコンテナをプロセス分離モードで実行するには、コンテナホストのOSビルドとコンテナイメージのOSビルドが一致していることが必須要件でした。そのため、過去のOSビルドのコンテナイメージを実行するには、Hyper-V分離モードを選択する必要がありました(画面3)。
Windows Server, version 1909からは、同一のOSビルドに加えて、下位バージョンのOSビルドのWindowsコンテナもプロセス分離モードで実行できるようになります。筆者が確認したかぎり、Windows Server, version 1809ベースのnanoserver:1809以降と、servercore:1903以降のコンテナをプロセス分離モードで実行できました(画面4)。それ以前のOSビルドについては、引き続き、Hyper-V分離モードでの実行が可能です(画面5)。
なお、以下の「Windows container version compatibility」や「What's new in Windows Server, versions 1903 and 1909」のページは、このプロセス分離モードの制限の緩和について触れられていませんが、「What's new in Windows 10, version 1909」のページで説明されています。
プロセス分離モードの制限の緩和は、Windows 10 バージョン1909上のDocker Desktop 2.1.0.0以降にも適用されます。
OSビルドが一致する必要があった以前の要件は、さまざまなOSビルドのWindowsコンテナをサポートする際の大きな制約でした。この要件が緩和されることで、少ないリソースでさまざまなバージョンに対応可能となり、将来的にWindowsコンテナベースのアプリ開発はより柔軟になるものと期待できます。
プロセス分離モードの要件緩和は、Windows 10 バージョン1909にも適用されます。Windows 10 バージョン1809およびDocker Desktop 2.0.0.2以降では、それまでHyper-V分離モードのみに対応していたWindows 10で、Windowsコンテナのプロセス分離モードが利用可能になっています。この新機能については、以下のFAQで説明されています。
「将来的に」とは、現状、Windowsコンテナに対応した「Azure Container Instances(ACI)」や「Azure Kubernetes Service(AKS)」は、Windowsコンテナ対応の多くがプレビュー段階であり、現時点ではWindows Server, version 1909の今回の新機能は利用できないからです(ACIではWindows Server 2019イメージはプレビュー、AKSではWindows Serverのノードがプレビュー)。
岩手県花巻市在住。Microsoft MVP:Cloud and Datacenter Management(2019-2020)SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。Microsoft製品、テクノロジーを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手掛ける。個人ブログは『山市良のえぬなんとかわーるど』。近著は『ITプロフェッショナル向けWindowsトラブル解決 コマンド&テクニック集』(日経BP社)。
Copyright © ITmedia, Inc. All Rights Reserved.