見出し画像

Resource Graph Explorerで全VMのOSを一覧表示させてみた

はじめに

AzureでVMを使用していると、OSのEOL対応をするときが訪れます。まずはテナント内の全VMがどのOSを利用しているか調査する必要があります。しかし、リソース検索画面ではLinuxとWindowsどちらを使用しているかしかわかりません。1台ずつVMの概要を開いてOSバージョンを調べてExcelにコピーして... 10台くらいならなんとかなりますが、100台あった場合は非常に手間ですし抜け漏れも発生しそうです。そんなときは、Resource Graph Explorerで一括で検索しましょう!


Resource Graph Explorerとは

一言で言うと、「複雑なフィルターをかけてAzureリソースをクエリ検索できる機能」です。GUIでは調査しきれない検索も実施可能です。アラートやAzure Logic Appsとも連携できるので、リアルタイムに検索を行うこともできます。

全OS種類を一覧表示させてみる

Resource Graph Explorerを開く

Azure Portalのリソース検索画面を開き、上部タブの「クエリを開く」をクリックしてResource Graph Explorerを開きます。

OS情報の格納先を確認する

クエリで必要な情報を出力させるためには、`project`句で指定する必要があります。以下のクエリを実行し、結果の右端からVMのpropertiesを確認してOS情報が格納されているか確認します。

resources
| where type =~ 'Microsoft.Compute/virtualMachines'
「詳細を表示」でpropertiesなどの複雑なJSONの中身が見れます。
properties内にOS情報が存在している

OS情報一覧を取得する

以下のクエリを実行し、OS情報一覧を取得します。名前とリソース種に加え、2.で確認したOS情報が入っているキーをprojectで指定しています。
※ブログに載せるため画像内ではnameを指定していません。

resources
| where type =~ 'Microsoft.Compute/virtualMachines'
| project name, ['type'], properties.storageProfile.osDisk.osType,properties.storageProfile.imageReference.offer, properties.storageProfile.imageReference.sku, properties
OSの一覧が表示されている。

無事に出力できました。もちろんCSV出力も可能なので、必要に応じてエクスポートしましょう。

クエリを保存する

テナント内のユーザーがいつでも使えるようにクエリを保存したいと思います。共有しない場合は、種類で「プライベートクエリ」を選択します。

クエリ保存画面

上部のタブ「クエリを開く」から保存したクエリが使えるようになります。保存時に設定した説明が記載されているので、他のユーザーも使いやすいと思います。

保存クエリを開いたときの画面

まとめ

Resource Graph Explorerで全VMのOSを一覧表示やってみました。各VMを開いて調査してた時と比べると非常に調査がスムーズでした。クエリの例をみたところ他にも非常に多岐にわたる検索ができるようなので、様々な場面でResource Graph Explorerを利用して、リソース調査の効率を挙げていきましょう!

この記事が気に入ったらサポートをしてみませんか?