Windows Server, version 1909が正式リリース――「プロセス分離モード」の制限が緩和:Microsoft Azure最新機能フォローアップ(94)
2019年11月13日(日本時間)、Windows 10の最新バージョン「Windows 10 November 2019 Update(バージョン1909)」が正式リリースされた同日に「Windows Server, version 1909」も正式にリリースされました(Visual Studioサブスクリプションなどでは10月に提供開始)。Azure Marketplaceでも間もなく利用可能になるはずです。
Windows Server SACはクラウドアプリ向けのプラットフォーム
「Windows Server, version 1909」は、Windows Serverの「半期チャネル」(Semi-Annual Channel、SAC)の最新バージョンです。リリース時点ではAzure Marketplaceにはまだ登場していませんが、今後「Windows Server, version 1909 with Containers」という名称でWindowsコンテナ用のコンテナホストとして、役割や機能、Docker Enterpriseが定義済みの仮想マシンイメージが利用可能になるでしょう(画面1)。
- Windows Server(Microsoft)(Azure Marketplace)
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 Core(Docker Hub)
- Nano Server(Docker Hub)
画面2 Windows Server, version 1909のベースOSイメージはリリースと同時に利用可能に。イメージの取得と実行にはWindows Server, version 1909のDocker EnterpriseコンテナホストまたはWindows 10 バージョン1909のDocker Desktopが必要
なお、これらのイメージの取得とコンテナの実行には、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)。
画面3 Windows Server, version 1903のコンテナホストでは、バージョン1903のベースOSイメージのみをプロセス分離モードで実行できる。下位のバージョンの実行には、Hyper-V分離モードの指定が必要
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 container version compatibility[英語](Microsoft Docs)
- What's new in Windows Server, versions 1903 and 1909[英語](Microsoft Docs)
- What's new in Windows 10, version 1909[英語](Microsoft Docs)
プロセス分離モードの制限の緩和は、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で説明されています。
- Frequently asked questions about containers[英語](Microsoft Docs)
「将来的に」とは、現状、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.
関連記事
- SQL Serverマイグレーションの歩き方[前編]――マイグレーションの作業ステップ
2019年7月のSQL Server 2008/2008 R2の延長サポート終了に伴い、EOS対応としてアップグレードやマイグレーションを準備/実施している方も多いでしょう。「前編」となる今回は、SQL Serverのマイグレーションに必要な作業ステップについて解説します。 - サポートが終了するサーバOSを使い続けるリスクを考える
Windows Server 2008/2008 R2のサポート終了日まで後2年を切った。今後、さまざまなところでサポート終了に関するトピックを目にする機会が増えるだろう。そもそも、サーバOSのサポートが終了する影響とは、どのようなものなのだろうか。本連載では、Windows Server 2008/2008 R2を新しいサーバOSへ切り替える必要性やメリットなどを解説する。 - どうするSQL Server 2008のサポート期限? そうだ、クラウドへいこう!
2019年7月9日のSQL Server 2008/2008 R2の製品サポートの終了まで、残すところあと1年と少し。2018年5月、オンプレミスまたはクラウドの最新SQL Server環境への移行を支援するツールの最新版と大規模データベース移行に適した移行サービスの正式版が利用可能になりました。 - Azureで利用可能なPaaSのSQL Serverの特徴を学ぼう[前編]
本稿では、Microsoft Azureで利用可能なPaaSとして提供されている「SQL Server」の特徴やメリットを紹介します。最新機能ではなく、これからAzureのSQL Serverを利用しようと考えている方に、全体的な特徴をつかんでもらえる内容です。前編では、Azureで提供されているPaaSのSQL Serverの種類と特徴を紹介します。