normalian blog

Let's talk about Microsoft Azure, ASP.NET and Java!

Update Management Center (Preview) を試す

今回は現時点(2022年11月)では Preview が取れていませんが、今後は重要度が増すであろう Update Management Center について紹介したいと思います。事前に以下のページ位は斜め読みをすると理解が早いのではと思います。
learn.microsoft.com

Update Management Center は OS のセキュリティパッチの適用をコントロールすることができるクラウドサービスですが、個人的に Update Management Center が非常にイケていると思っているところは主に二点です。

  • Windows だけでなく Linux 側も含め一括で制御可能
  • Azure Arc と連携することで Azure や on-premise のみならず AWSGCP 等の Azure 外部のプラットフォームについても制御可能

上記で何が嬉しくなるかというと SIer 各位の頭痛の種である Excel 表でのサーバ情報のマスター管理からの解放 という点が挙げられると思います。運用手順等で管理をしていたとしても人間が手作業で行う以上はミスや抜け漏れが発生するものです。Update Management Center を活用することでサービス全体の各マシンの状況が一括で確認できるようになります。

管理画面のトップページとしては以下となります。管理対象マシンが何台あるか、どのマシンにどのパッチが当たっていないか、パッチ適用の実施状況、Windows/Linux で適用されていないパッチの一覧等が表示されます。

Azure Automation の Update Management との違いは?

Azure 歴の長い方は「Azure Automation の Update Management があるじゃないか」とお気づきの方もいらっしゃると思いますが、Azure Automation とは以下の明示的な差が存在します。

  • Azure Automation の Update Management は別途 Azure Automation をリソースとして作成する必要があるが、Update Management Center は組み込み機能
  • Supported regions for linked Log Analytics workspace | Microsoft Learn Log Analytics workspace を Linked workspace として作成する必要があり、Azure Automation リソースの作成場所に制限があった(日本なら Japan East に作って東西の VM リソースを繋げば良いという話はありますが

イメージとして「Update Management Center」は 「Azure Automation の Update Management」の後継という捉え方をすれば祖語はない認識です。今までは Azure Automation のリソース管理や Log Analytics エージェントのインストール(Azure Automation で仮想マシン等を操作するために必要)等の追加の対応が必要でしたが、Update Management Center は特別な処理をせずに利用可能となります。

Update Management Center を使う場合のデメリットは?

逆に Update Management Center を利用する場合のデメリットをあえて考えてみたいと思います。ざっと以下のサポートマリックスを確認しました。

Windows 側はほぼ差がない認識ですが、例えば Cent OS, RHEL, Oracle Linux の場合に Update Management Center 側は v6 に対応していない(Azure Automation 側は対応)点、Ubuntu では v14 に対応していない点が挙げられます。
また、現時点ではプレビューだということもありますが、現時点ではサポートされているリージョンに日本が含まれていません(もっとも近い場所は東南アジア)。

外部ベンダーが提供するサービスをサポート有&追加構築無しの利用を夢見る女子高生な方々にとって、サポート無かつ日本リージョンでスケーリングされない(日本から利用できないというわけでなく Update Management Center の内部リソースは現時点では日本に展開されないの意)現状での利用は門限破りの朝帰り位の覚悟を要するのではという感覚です。

Update Management Center 自体を有効化するには

上記の通り Azure にとっては組み込みサービスなので、利用の開始自体に特に必要な処理はありません。。。。と言いたいところですが、現時点ではプレビューなこともあり以下の記事に従ってリソースプロバイダの有効化を行ってください。
learn.microsoft.com

az login
az account set --subscription "your subscription id"
az feature register --namespace Microsoft.Compute --name InGuestAutoAssessmentVMPreview
az feature show --namespace Microsoft.Compute --name InGuestAutoAssessmentVMPreview

上記のリソースプロバイダ登録に10分程度かかると思いますが、以下の様に az feature show で Status が registered になるまで随時確認してください。

Update Management Center を実際に利用する

トップ画面から Machines のタブをクリックすると以下の様に管理対象のマシンが表示されます。こちらの一覧に追加するのに特別な手順は不要です。Azure の仮想マシンなら自動的にこの一覧に加えられ、Azure 外部のマシンは Azure Arc を有効化することで一覧に加えられます。

画面で確認できる通り、Update Status の箇所で「更新パッチを全て適用済/X個のパッチが未適用/アセスメントが未実施」の三種類となります。アセスメントが実施されていない登録直後のマシンに対しては No updates data で表示されるので、最初に実施するのはアセスメントとなります。

アセスメントは以下の様にマシンを選択して Check for updates を実施することでアセスメントを手動で実行可能です。

当然以下の様に定期的なアセスメントを実施する設定も可能です。24時間ごとにパッチ適用の状況をチェックします。Enable periodic assessment using policy | Microsoft Learn の様に Azure Policy との併用も可能です。

アセスメント実施後は未適用のパッチ数が表示されるので、再度対象マシンを選んで One-Time update を選択しましょう。

次に適用パッチを選びます。こちらについては Windows/Linux を一括で選択できるようになった点が Azure Automation との大きな差と言えるかもしれません。適用対象パッチを細かく選択できる点は Azure Automation 側と同様です。

最後に、以下の様に再起動の条件を設定することで更新パッチの適用が行われます。

パッチ適用を実施後、画面左の history タブを選択することで以下の様にプロセスの状況を確認できます。

パッチ適用中の場合は InProgress となりますが、それ以外にも成功・失敗が確認できます。また、操作内容がアセスメント・パッチ適用なのか、手動操作か定期実行操作か等が確認できます。

今回は簡単な概要紹介をさせて頂きましたが、今後は Azure 外部も含めたマシンの更新管理で重宝される機能だと思われるので、是非お試しください。