Windows Server Datacenter: Azure Edition で提供されている Hotpatch を試してみました
検証には 可用性メトリック というプレビュー中のメトリックを使ってみます
Hotpatch とは
Windows Server Datacenter: Azure Edition のみで提供されている更新プログラムのインストール方法です
通常更新プログラムはインストール後に再起動を必要とします
Hotpatch は再起動の頻度を 3 回に 1 回に減らせます(緊急時を除き
その結果、ダウンタイムを極力減らして OS を最新の状態に保つことができます
Windows Server Azure Edition のHotpatch | Microsoft Learn
3回に1回がいつなのかは Azure Automanage for Windows Server 2022 のHotpatchのリリース ノート - Microsoft サポート に記載があります
例えば 2024 年の場合、1月、4月、7月、10月 が再起動が必要なタイミングになります
再起動が必要な更新プログラムはベースラインと呼ばれます
Windows Server Azure Edition のHotpatch | Microsoft Learn より引用
Azure VM の可用性メトリック (プレビュー)
Azure Monitor は監視サービス群です
Azure 内外のサービスの監視ソリューションを提供しています
Azure VM に関するメトリックのうち、可用性メトリック がプレビューで提供されています
このメトリックを確認すると VM が実行中 [1] か 停止中または再起動中 [0] かがわかります
Hotpatch で本当に再起動なしで実行できるのかをこのメトリックで監視してみたいと思います
ざっくり手順
- 環境作成
- Hotpatch の実行
1. 環境作成
比較するために Hotpatch に対応している Windows Server Datacenter: Azure Edition と対応していない Windows Server を用意します
Azure Edition (Hotpatch) | 非 Azure Edition (非 Hotpatch) |
---|---|
2024/5 時点の Win Ser 2022 Azure Edition | 2024/5 時点の Win Ser 2019 |
特定のバージョンを指定した Azure VM の作成は GitHub Actions を使って Bicep を最新化し隊 – クラウドを勉強し隊 の成果物を利用します

2. Hotpatch の実行
2024/5 時点の Win Ser 2022 Azure Edition (Hotpatch)
VM のメニューから [更新プログラム] を選択し、[更新プログラムの確認] を実行します
これにより足りていない更新プログラムをスキャンします

Hotpatch が有効になっていることを確認して、[1回限りの更新] を選択して更新プログラムのインストールを実行します

更新プログラムを選択するメニューで Hotpatch だけが選択されるよう [セキュリティ更新プログラム] を選択します
再起動の状態 を見ると “NeverReboots” になっていて、再起動が不要なことがわかります
念のため [必要に応じて再起動] を選択しておきます

更新プログラムのインストールが 2024/7/4 23:18 ~ 23:22 に実施されていることがわかります

その間の VM の可用性メトリックを見てみると、Hotpatch でのインストールの実行中は VM は実行中だったことがわかります

2024/5 時点の Win Ser 2019 (非 Hotpatch)
Hotpatch が利用できない Windows Server 2019 でも同じように実行してみます
更新プログラム名に Hotpatch の文字がなく、再起動の状態が “CanRequestReboot” になっています

更新プログラムのインストールが 2024/7/4 23:20 ~ 23:30 に実施されていることがわかります

その間の VM の可用性メトリックを見てみると、Hotpatch でのインストールの実行中は VM は実行中だったことがわかります

。。。おかしいですね
VM にアクセスして更新プログラムの状態を見てみると、インストールが保留 (Pending install) されていることがわかりました
Update Manager の設定を何か間違えたのかもしれません
[Install now] をクリックしてインストールを実行します

再起動の保留 (Pending restart) になったので再起動を実行します

1 分もしないうちに再起動が完了しました
再度、可用性メトリックを見てみます
。。。元気に動いていたことがわかります。
Azure のメトリックの最小粒度は 1 分です
そのため再起動で OS がダウンしていた時間が短すぎた結果、メトリックでは拾いきれなかったのかもしれません

おまけ
更新プログラムのインストール、再起動に時間がかかりそうな VM で可用性メトリック検証してみます
用意したのは Windows Server 2019 の 2024/3 時点のバージョンです
同じ手順で更新プログラムをインストールしてみます

更新プログラムのインストールが 2024/7/4 23:22 ~ 23:35 に実施されていることがわかります
その間の可用性メトリックを確認してみます

想定通り、可用性メトリックが 0 になっている瞬間がありました
まとめ
Hotpatch を実行し、可用性メトリックで確認してみました
可用性メトリックは 1 分間隔で取得されるため、再起動の時間が短い場合は拾いきれない可能性がありそうです
まだプレビュー中のメトリックのため、今後の改善が期待されます