こんにちは、インフラエンジニアのryuです。
みなさんの現場に、まだ Windows Server 2016 は動いていないでしょうか。 ファイルサーバー、社内の業務アプリ、Active Directory のドメインコントローラー。 2016年ごろに構築されたサーバーは、いまも意外なほど多く残っています。
その Windows Server 2016 の延長サポートが、2027年1月12日に終わります。 今日から数えると、残りはおよそ3か月半です。
「前回の2012のときは、Azureに載せればなんとかなった」 そう考えている方こそ、この記事を読んでみてください。 2026年は、前提がひとつ変わっています。
Windows Server 2016のサポート終了で、何が止まるのでしょうか?¶
まずは、サポート終了という言葉の中身を確認しておきましょう。 Microsoftの製品には、メインストリームサポートと延長サポートの2段階があります。
| 段階 | Windows Server 2016 の期間 | 提供されるもの |
|---|---|---|
| メインストリームサポート | 2022年1月11日まで(終了済み) | 機能追加・仕様変更・セキュリティ更新 |
| 延長サポート | 2027年1月12日まで | セキュリティ更新が中心 |
| サポート終了後 | 2027年1月13日以降 | 原則として更新は提供されない |
つまり、いまの Windows Server 2016 は、すでに「セキュリティ更新だけが届いている」状態です。 そして2027年1月を過ぎると、その最後の命綱も切れます。
たとえるなら、家の鍵の交換サービスが終わるようなものです。 鍵が壊されやすいと分かっても、もう新しい鍵は届きません。 家そのものは今日と同じように住めますが、泥棒に対しては日に日に弱くなっていきます。
動き続けるからこそ、見落とされる¶
サポートが終わっても、サーバーが突然止まるわけではありません。 ここが、この問題のいちばん厄介なところです。
画面の見た目も、アプリの動きも、1月13日の朝に何かが変わるわけではない。 だからこそ、予算の話になると後回しにされがちです。
しかし、サポートが終わったあとに見つかった脆弱性は、修正されないまま残ります。 公開されたサーバーでなくても、社内に入り込んだ攻撃者の足場にされるおそれがあります。
サポートが終わったOSは、壊れるのではなく、守られなくなる。見た目が変わらないぶん、リスクに気づきにくい。
公開したサーバーがどれほど早く狙われるかは、練習用に立てたサーバーも、公開した瞬間から叩かれている でも紹介しました。 サポートの切れたOSは、その守りの土台が崩れた状態だと考えてください。
前回との違い:ESUは『Azureなら無料』ではなくなった¶
サポート終了までに移行が間に合わないとき、Microsoftは有償の延長手段を用意しています。 それが ESU(Extended Security Updates、拡張セキュリティ更新プログラム)です。
ESU とは、サポート終了後も一定期間、深刻度が「緊急」と「重要」のセキュリティ更新だけを有償で受け取れる仕組みのこと。機能の追加や、セキュリティ以外の不具合修正は含まれない。
Windows Server 2016 のESUは、サポート終了から最大3年間、つまり2030年1月までが対象とされています。 2026年8月には、Azure Arc 経由でWindows Server 2016のESUを申し込む仕組みが一般提供(GA)になりました。
2012のときは、Azureに移せば無料だった¶
ここで、前回の経験を思い出してみましょう。 Windows Server 2012 / 2012 R2 のサポート終了では、Azure上で動かしているサーバーなら、ESUを追加料金なしで受け取れました。
そのため、「とりあえずAzureに移して、時間を稼ぐ」という判断をした現場も多かったはずです。 移行先のOSを決める前に、まずクラウドへ引っ越すという作戦です。
2026年4月から、価格がそろえられた¶
ところが、Microsoftは2026年に方針を変えました。 2026年4月1日以降に始まる新しいESUについては、Azureでも、オンプレミスでも、他社クラウドでも、同じ定価で提供するという内容です。
このため、Azureで動かしていればESUが無料になる、という特典は、新しいESUの周期では提供されなくなりました。 対象には Windows Server 2016 のほか、SQL Server 2016 や Windows 10 Enterprise LTSB 2016 も含まれます。
変化を表で比べてみましょう。
| 項目 | Windows Server 2012 / 2012 R2 のとき | Windows Server 2016 のとき |
|---|---|---|
| 延長サポート終了日 | 2023年10月10日 | 2027年1月12日 |
| ESU の期間 | 最大3年 | 最大3年(2030年1月まで) |
| Azure 上での ESU | 追加料金なし | オンプレミスなどと同じ定価 |
| 申し込みの主な経路 | ライセンス契約・Azure | ライセンス契約・Azure Arc など |
なお、この価格の統一は、すでに始まっているESU(Windows Server 2012など)には影響しないとされています。 あくまで、これから始まるESUの話です。
「Azureに逃がせば無料」という手が使えない以上、ESUは純粋に移行までの時間を買う費用になります。 しかも、ESUは年を重ねるごとに負担が大きくなる設計だと各所で解説されています。 長く使うほど割高になるので、期間を決めたつなぎとして使うのが基本です。
では、いま何を選べばいいのでしょうか?¶
選択肢は、大きく分けると4つです。 それぞれの向き不向きを整理してみます。
| 選択肢 | 向いているケース | 注意点 |
|---|---|---|
| 新しいWindows Serverへ移行 | 標準的な役割のサーバー(AD・ファイル・Web) | アプリやミドルウェアの対応確認が必須 |
| インプレースアップグレード | 構成を大きく変えたくない単体のサーバー | 対応する移行元・移行先の組み合わせを公式で確認 |
| クラウドやSaaSへ置き換え | ファイル共有やメールなど、サービスで代替できるもの | 運用のやり方そのものが変わる |
| ESUでつなぐ | どうしても期限までに移行できないもの | 有償・期間限定。終わりの日付を必ず決める |
移行先の候補としては、Windows Server 2022 と Windows Server 2025 が中心になります。 Windows Server 2025 は、延長サポートが2034年10月まで続く予定です。 一方で Windows Server 2019 は、2029年1月に延長サポートが終わります。 いま2019を選ぶと、2年あまりで同じ悩みがもう一度やってくる点には注意してください。
まずは棚卸しから¶
とはいえ、いきなり移行先を決める必要はありません。 最初にやるべきは、どこに何台あるのかの棚卸しです。
Active Directory に参加しているサーバーなら、PowerShellでOSの一覧を出せます。
# AD に登録されたコンピューターのうち、Windows Server 2016 を洗い出す
Get-ADComputer -Filter 'OperatingSystem -like "*Server 2016*"' `
-Properties OperatingSystem, OperatingSystemVersion, LastLogonDate |
Select-Object Name, OperatingSystem, OperatingSystemVersion, LastLogonDate |
Sort-Object Name
LastLogonDate が古いものは、すでに使われていないサーバーかもしれません。
棚卸しをすると、移行する前に「止めてよいサーバー」が見つかることがよくあります。
1台ずつ確認するときは、サーバー上で次のコマンドも使えます。
# 個別のサーバーでOSのバージョンを確認する
Get-ComputerInfo -Property OsName, OsVersion, OsBuildNumber
移行の順番を決める¶
棚卸しができたら、次は優先順位です。 考え方の軸は、次の2つです。
ひとつは、外部とつながっているかどうか。 インターネットや取引先と通信するサーバーほど、サポート切れのリスクが大きくなります。
もうひとつは、代わりが効くかどうか。 ファイル共有のようにサービスへ置き換えられるものは、早めに片づけられます。 一方で、古い業務アプリが動いているサーバーは、アプリ側の対応確認に時間がかかります。
後者は、ESUでつなぐ候補になりやすい。 だからこそ、期限の残り3か月半で「どれをESUに回すか」を決めることが、今年の現実的な作業になります。
ESUを選ぶなら、先に決めておくこと¶
ESUでつなぐと決めたサーバーにも、やるべきことがあります。 むしろ、ESUを選んだサーバーほど準備が大切です。
まず、ESUを終える日付を最初に決めてください。 「とりあえず1年」と始めると、翌年も同じ理由で延長することになりがちです。 終わりの日付と、それまでに何を済ませるかをセットで決めておきましょう。
次に、更新がきちんと届いているかを確かめる仕組みを用意します。 ESUは申し込んだだけでは意味がなく、実際に更新プログラムが適用されてはじめて効果があります。 Azure Arc 経由で申し込む場合は、Azure Update Manager などで適用状況を一覧できるとされています。
そして、外からの通信をできるだけ絞っておくこと。 ESUで届くのは「緊急」と「重要」の更新だけです。 それ以外の弱点は残るので、ネットワーク側で守りを重ねておくのが安全です。
OSの下と上も、あわせて見る¶
Windows Server 2016 のサーバーを調べると、その上で動くソフトウェアも古いことがよくあります。 たとえば SQL Server 2016 は、2026年7月にすでに延長サポートが終わっています。
OSだけを新しくしても、上に載っているデータベースやミドルウェアが古いままでは、リスクは残ります。 棚卸しでは、OSのバージョンと一緒に、主要なソフトウェアのバージョンも記録しておきましょう。
同じように、OSの下にある仮想化基盤やハードウェアの保守期限も確認しておきたいところです。 OSの移行とハードウェアの更改が同じ時期に重なるなら、まとめて計画したほうが作業の回数を減らせます。
インフラエンジニアにとって、この移行は何を意味するのでしょうか?¶
サポート終了の対応は、地味で、手間がかかる仕事です。 しかし、若手のインフラエンジニアにとっては、学びの多い機会でもあります。
移行作業では、既存のサーバーが何の役割を持ち、どこと通信し、どんな設定で動いているかを、すべて読み解く必要があります。 これは、構築済みの環境を理解する力そのものです。
移行作業では、作業の記録も欠かせません。 何をいつ変更したかを残す方法は、今日公開した 作業ログ(証跡)の残し方 で詳しく解説しています。
また、今回の Windows Server 2016 は、2026年に続いている「基盤の世代交代」のひとつでもあります。 VMware のライセンス変更による仮想化基盤の見直しは、仮想化基盤の移行先はどう選ばれているのか でまとめました。 Linux側でも、2026年のLinuxディストリビューション選びとサポート期限の地図 で紹介したように、サポート期限を軸にした計画づくりが求められています。
OSが Windows でも Linux でも、やることの本質は同じです。 サポート期限を把握し、棚卸しをして、期限から逆算して動く。 この型を身につけておくと、次の世代交代でも慌てずに済みます。
クラウドへの移行も選択肢に入るなら、基礎から整理しておくと判断が速くなります。 InfraAcademyの AWSロードマップ では、クラウドの基本を順番に学べます。 新人インフラエンジニアにこうした移行案件を任せる前に、体系的に学ぶ場を用意したい企業の方は、法人プラン もご検討ください。
まとめ¶
最後に、今日のポイントを振り返ります。
Windows Server 2016 の延長サポートは、2027年1月12日に終わります。 サーバーは止まりませんが、それ以降に見つかる脆弱性は修正されなくなります。
間に合わない場合の手段として ESU がありますが、2026年4月からは Azure でも同じ定価になりました。 前回のように「Azureに移せば無料で時間が稼げる」という作戦は、今回は使えません。
だからこそ、まずは棚卸し。 止めてよいもの、置き換えられるもの、移行するもの、ESUでつなぐものに分けていきましょう。
残り3か月半は、短いようで、計画を立てるには十分な時間です。 年明けに慌てないよう、今週のうちに一覧づくりから始めてみてください。
参考¶
- Windows Server 2016 のサポートは 2027 年 1 月に終了します(Microsoft サポート)
- Support for Windows Server 2016 will end in January 2027(Microsoft Support)
- Generally Available: Windows Server 2016 Extended Security Updates enabled by Azure Arc(Microsoft Community Hub)
- Microsoft Services: Pricing Consistency Update(Microsoft Licensing Resources)
- Extended Security Updates for SQL Server and Windows Server(Microsoft)
- Windows Server 2025 - Microsoft Lifecycle(Microsoft Learn)



