Azure の仮想マシンを作成する際のオプションとして、パッチオーケストレーションオプション という設定があります。この設定によって、振る舞いにどのような差があるのかを調べてみました。
さらには、Azure で VM を展開した場合と オンプレミス(メディアからインストール)の場合で差がありました。これは 大変興味深い結果となっています。
検証してみて分かったこと
Azure仮想マシン作成時の規定値は、「OSによる自動処理(Windowsの自動更新)」です。
この設定は、新しい更新プログラムがあると、勝手にダウンロードされ OSの未使用時や再起動時に勝手にインストールが行われてしまいます。パッチセキュリティの観点では 常に最新が維持されますが、停止しておいた VM を起動した際に、更新が始まって 利用するまで待たされる・・という影響を受けます。
私も、すぐ使いたいのに、RDP接続ができずに待たされてイライラした経験があります。
上記の動作が好ましくない人は「手動」に設定しておいた方が良いでしょう。ただし、セキュリティが心配ですので、適宜 手動でパッチを適用してください。
オンプレミス環境へインストールした Windows Server の場合は、上記のどちらの構成とも違う動作となります。新しい更新プログラムが見つかると、自動でダウンロードが行われて、利用者へ通知が行われます。基本的には、利用者の指示によってインストールされるようになっています。
このため、Windows Update の適用されるタイミングが オンプレミスのOS と AzureVM とでは違っている点に注意が必要になる事が判りました。
設定する場所は どこにあるのか?
パッチオーケストレーションの設定は、Azure Portal で 仮想マシン作成時の「管理」タブの一番下にあります。
パッチオーケストレーションオプションで設定できる値は、以下の通りです。
(1) OSによる自動処理(Windowsの自動更新) = (English : AutomaticByOS)
(2) Azure オーケストレーション(プレビュー)= (English : AutomaticByPlatform)
(3) 手動で更新 = (English : Manual)
(4) イメージの規定値 = (English : ImageDefault)
上記のうち、標準で選択が可能なのは (1) と (3) です。今回は (1) と (3) の違いを見ていきます。
(2) は、「可用性優先のパッチ適用」とも呼ばれていますが、この機能は別の機会に解説したいと思います。(4) は、OS が Linux の場合の選択肢です。
詳細は、以下の公開情報に記載されています
【パッチオーケストレーションのモード】
https://docs.microsoft.com/ja-jp/azure/virtual-machines/automatic-vm-guest-patching#patch-orchestration-modes
【可用性優先のパッチ適用】
https://docs.microsoft.com/ja-jp/azure/virtual-machines/automatic-vm-guest-patching#availability-first-patching
仮想マシン作成後 に差がみられた箇所
(1) OSによる自動処理(Windowsの自動更新)と (3) 手動で更新 のそれぞれで 仮想マシンを作成して、違いを見てみたところ、以下の3か所に違いが見受けられました。
- サーバーマネージャーの Windows Update 欄の表記
- 設定(歯車アイコン)から、更新とセキュリティ、Windows Update 配下の構成
- レジストリ値
サーバーマネージャの表記
Azure:OSによる自動処理(Windowsの自動更新)(AutomaticByOS) および オンプレミスの OS
日本語:Windows Update を使用して更新プログラムを自動的にインストールする
English : Install updates automatically using Windows Update
Azure:手動 (Manual)
日本語:更新プログラムを確認しない
English : Never check for updates
設定(歯車アイコン)-更新とセキュリティ-Windows Update
Azure:OSによる自動処理(Windowsの自動更新)(AutomaticByOS)
赤字で、「一部の設定は組織によって管理されています」という注釈が出ています。
この構成の場合は、パターン1~3 まで時系列に変化していきます。
パターン1:利用できる更新プログラムはありません
※「OSによる自動処理(Windowsの自動更新)」の設定でも、仮想マシン作成直後は この画面になっている時がありますが、暫く時間が経つと パターン2へ遷移します。
パターン2:利用可能な更新プログラム
新しい 更新プログラムの情報が検知されると、この画面になり、ダウンロードが行われます。
ただし、インストールは 即時には行われず 「アクティブ時間」で設定された時間帯を避けたタイミングや OSを再起動したときに自動的に行われます。
日本語:利用可能な更新プログラムと表示され、インストールの保留中、[今すぐインストール] ボタン
English : Updates available, Pending install, [Install now] Button
パターン3:最新の状態です
更新プログラムが全てインストールされると、この画面になります。
再び、新しい更新プログラムが検知されると、パターン2 の画面に遷移します。
Azure:手動 (Manual)
赤字で、「一部の設定は組織によって管理されています」という注釈が出ています。
手動の場合は、何もしなければ 更新プログラムは一切入りません。
日本語:利用できる更新プログラムはありません
English : No updates available
※この画面で「更新プログラムのチェック」を押してしまうと、チェック&ダウンロード&インストールが実行されます。このボタンを押さない限り、更新プログラムの導入は行われません。
オンプレミスの OS
「一部の設定は組織によって管理されています」という赤字の注釈が出ていません。
この点が、Azureから展開したサーバとの差異となっています。
※オンプレミスのマシンがインターネットに接続されていると、このあと 更新プログラムが自動でダウンロードされて、インストール待ちの状態になりますが、検証した環境は インターネットに繋がっていないので上記の画面になっています。ご承知おきください。
設定(歯車アイコン)-更新とセキュリティ-Windows Update-構成されている更新ポリシーを表示
Azure:OSによる自動処理(Windowsの自動更新)(AutomaticByOS)
デバイスに設定されているポリシーは、以下の2つ
(日本語)
- 更新プログラムを自動的にダウンロードし、指定されたスケジュールでインストールする
- 自動更新オプションの設定
(English)
- Automatically download updates and install them on the specified schedule
- Set Automatic Update Options
Azure:手動 (Manual)
デバイスに設定されているポリシーは、以下の3つ
(日本語)
- 自動更新を無効にする
- その他の Microsoft 製品の更新プログラムの入手
- 自動更新オプションの設定
(English)
- Disable automatic updates
- Get updates for other Microsoft products
- Set Automatic Update options
オンプレミスの OS
この設定画面はありません。
レジストリ値
\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU
OSによる自動処理(Windowsの自動更新)(AutomaticByOS)
手動 (Manual)
オンプレミスの OS
【レジストリの設定値による動作の違い】
レジストリ値の詳細は、以下の公開情報を参考にしてみてください。
参考URL