こんにちは。 cloud.confg Div の清水です。
先週の新井の
Azureを計画的に利用するために知っておきたいコト ~vCPUのクォータ上限~ #Azure リレー
に引き続き、
毎週水曜日にAzure関連の記事を挙げる
Azure リレー第2回を担当します。
今回は自分用のメモもかねて、 Azure VM のWindows 自動アップデートについて書いていきます。
はじめに
Windows Update 面倒ですよね。
下手するとアップデートに長時間とられるし、
WEBやアプリをホストしているから24時間動いていて、サーバ停止が必要だから深夜帯に行わなければいけないとか、
仕事終わりにアップデートをはじめるとアップデートが長くて帰れないとか、
手間がかかる場面も多いと思います。
面倒なことは自動化しちゃいましょう!
って感じで、設定方法を書いていきます。
設定
自動アップデートは下図のように、
VMの「更新プログラム」ブレードへ移動し、
更新プログラムの展開スケジュールを選択します。
(展開に失敗しまくってるのは検証の時の名残ですのでお気になさらず...)

下図の作成画面が表示されるかと思います。
それぞれの項目について説明していきます。

- 名前
識別名になります。 お好きにどうぞ。
- 更新プログラムの分類
Windows Update の8つの分類を選択できます。
選択したものだけが適用されるので、 「重要な更新プログラム」だけみたいなこともできます。

- 更新プログラムの包含/除外
適用する/適用しない Windows Update を KBID(Windows Update の識別ID)単位で選択することができます。

- スケジュール設定
自動アップデートの実施時刻を設定します。
繰り返しが「一度だけ」なら設定時刻から開始されます。

「定期的」にすると、設定した間隔で、
開始時で設定した時間に実行されます。
下記画像の例ですと、
毎月の最終土曜日 01:00 (直近だと 3/28 01:00 ~)
となります。

有効期限も設定できるので、
柔軟に期間指定ができるかと思います。
OK を押さないと反映されないので気を付けましょう。
(私は何回もやらかして設定しなおしました)
- 事前スクリプトと事後スクリプトの選択
自動アップデートの前後に Azure Automation で
発行済みのスクリプトを実施することができます。
自動アップデートはVMが起動していないと適応されないのですが、 事前スクリプト、事後スクリプトで起動停止を行うことで、 JumpBoxのような必要な時だけ起動するVMのアップデートも行うことができます。
事前スクリプト、事後スクリプトは各1つずつまでな点だけご認識ください。

- メンテナンス期間(分)
自動アップデートの適用にかける時間を設定できます。
残り時間が20分を切ると、未適用の更新プログラムが残っていても、 現在適用している更新プログラムの適用が完了次第終了します。

- 再起動のオプション
Windows 自動アップデート後の再起動について設定できます。
再起動を行わないようにも設定することが可能です。
反映するには再起動が必要となるのでどこかで再起動をかける必要はありますが...。

無事作成完了すると、展開スケジュールから次回実行予定などを確認できます。

過去の実施履歴はこんな感じで確認できます。
(直近別件でユーザ権限いじった影響で起動に失敗してますね…)


あとがき
Azure VM の Windows Update について書きましたが、
オンプレの Linux や Windows マシンも自動化できるようです。
この辺りにはまだ触れてないので、学ばねば…
この記事がどこかの誰かの助けになればいいな、
といったあたりで本記事は〆させていただきたいと思います。
#Azure リレー、これからも続いていきますし、
リレー以外にも記事はどんどん上がる予定ですので、
そちらも読んでいただければと思います。
ではまた、次の機会に!