azure-resource-lookup
作成者 microsoftazure-resource-lookup は、Azure Resource Graph を使って、サブスクリプションやリソース グループをまたいで Azure リソースを一覧・検索・確認できるスキルです。インベントリ作成、タグ分析、孤立リソースの発見、クロスサブスクリプション検索に最適です。デプロイ変更、コスト最適化、他クラウド向けには意図されていません。
概要
azure-resource-lookup とは?
azure-resource-lookup は、サブスクリプションやリソース グループをまたいで、ほぼあらゆる種類の Azure リソースを一覧表示・検索・確認するためのレポーティング/ディスカバリ用スキルです。
Azure Resource Graph (ARG) を使って、Azure Resource Manager (ARM) のメタデータに対して高速なクロスサブスクリプション クエリを実行します。これにより、次のようなインベントリ系の質問に適しています。
- "list websites"
- "list virtual machines"
- "list my VMs in subscription X"
- "show storage accounts in this resource group"
- "find container apps in region Y"
- "what resources do I have?"
内部的には、azure-resource-lookup がこれらの意図を ARG クエリに変換することで、毎回 KQL を手書きすることなく、環境を構造化されたほぼリアルタイムなビューとして確認できます。
このスキルは誰向け?
azure-resource-lookup は、次のようなユーザーを想定しています。
- 多数のサブスクリプションにまたがる Azure リソースの状況を素早く把握したい クラウド/プラットフォーム エンジニア。
- 運用ワークフローの一環として、特定のリソース種別・状態・タグを検索したい DevOps/SRE チーム。
- 必須タグや構成が適用されているかを確認したい セキュリティ/コンプライアンス チーム。
- Azure Portal を手作業で辿ることなく、「このアプリ/コンポーネントはどこで動いている?」「このデプロイでどんなリソースが作成された?」を簡単に知りたい 開発者。
主なニーズが Azure 全体の レポーティング、インベントリ作成、リソース探索 であれば、このスキルは適した選択です。
azure-resource-lookup はどんな課題を解決する?
azure-resource-lookup は、次のような場面で役立ちます。
- 一般的な種類のリソースを一覧したいとき
- Virtual machine、web app、storage account、container app、database など。
- スコープ別にリソースを表示したいとき
- 特定のサブスクリプション、複数サブスクリプションのセット、特定のリソース グループに結果を絞り込み。
- クロスサブスクリプション検索を行いたいとき
- コンテキストを切り替えることなく、"show all storage accounts in all production subscriptions" のような質問に答えたい場合。
- 孤立/未使用リソースを見つけたいとき
- 未接続ディスク、未使用 NIC、アイドル状態の IP など、クリーンアップ候補を洗い出し。
- タグの付与状況や命名ルールを確認したいとき
- 必須タグが欠けているリソースを探したり、
env、owner、costCenterなどのタグ値ごとにリソースをグルーピング。
- 必須タグが欠けているリソースを探したり、
- リソース インベントリを作成したいとき
- ドキュメント化や監査目的で、リソース数を種類・リージョン・サブスクリプションごとに集計。
- リソースの状態でフィルタリングしたいとき
- Resource Graph にインデックスされたメタデータを使って、停止中・正常性に問題がある・プロビジョニング失敗などのリソースを抽出。
こうした用途は、既存の Azure インフラを 明確でクエリ可能な形で俯瞰 したいレポーティング/可視化のニーズとよく合致します。
このスキルが向かないケースは?
azure-resource-lookup は次の用途には 向いていません。
- リソースのデプロイや変更
- Azure リソースの作成・更新・削除は行いません。
- コスト分析や最適化
- 利用料金の算出、適正サイズの提案、詳細なコスト内訳などは行いません。
- 非 Azure クラウドやオンプレミス環境
- Azure Resource Graph 経由で見える Azure Resource Manager リソース専用です。
- リソース固有の深い運用ツール
- たとえば、データベース スキーマ作業、Kubernetes オブジェクト管理、詳細な VM 設定変更など、専門性の高い操作は専用ツールや別スキルを利用してください。
Azure 全体の 運用可視性やインベントリ が目的なら azure-resource-lookup が有効です。一方で、構成変更、自動化、コスト分析 が主目的の場合は、他ツールと組み合わせて使うことをおすすめします。
使い方
前提条件
azure-resource-lookup をインストールして利用する前に、次を満たしていることを確認してください。
- 対象サブスクリプションのリソースを読み取る権限を持つ Azure アカウント があること。
- テナントで Azure Resource Graph が利用可能であること(多くの環境では既定で有効)。
- エージェントや自動化環境から Azure に認証できること(環境に応じて
az login、managed identity、service principal など)。
スキル本体は GitHub の microsoft/azure-skills リポジトリ内の skills/azure-resource-lookup にあり、このリポジトリのスキルをサポートする互換エージェント ランタイムに組み込めるよう設計されています。
インストール手順
1. azure-skills リポジトリとこのスキルを追加
エージェント ランタイムが npx skills(Microsoft 製 skills ツールなど)に対応している場合、GitHub から直接 azure-resource-lookup を追加できます。
npx skills add https://github.com/microsoft/azure-skills --skill azure-resource-lookup
このコマンドにより、次のことが行われます。
microsoft/azure-skillsリポジトリがスキル ソースとして登録されます。azure-resource-lookupのスキル定義と関連リファレンスがエージェント環境にインストールされます。
プラットフォーム固有の別の追加方法がある場合は、次を参照して設定してください。
- Repository:
https://github.com/microsoft/azure-skills - Skill path:
skills/azure-resource-lookup
そのうえで、プラットフォーム側に記載されているスキル追加手順に従ってください。
2. スキル定義を確認
インストール後、azure-resource-lookup ディレクトリ内の SKILL.md を開きます。このファイルには次が含まれます。
- 公式の 説明 と主なユースケース。
- 同じリポジトリ内の他スキルと比べて、どのような場面でこのスキルを使うべきか のガイダンス。
この内容を確認し、スキルが自分のシナリオ(Azure 全体のリソース インベントリ/検索)に合っているかを判断してください。
3. エージェントの Azure アクセスを設定
エージェントが動作する環境から Azure Resource Graph にクエリを実行できるよう設定します。一般的なパターンは次のとおりです。
- ローカル検証向けの 対話的ログイン(Azure CLI):
az login - 非対話型自動化向けの service principal:
az login --service-principal -u <APP_ID> -p <PASSWORD_OR_CERT> --tenant <TENANT_ID> - Azure 上の対応サービスで動かす場合の managed identity。
スキルはリソース メタデータを参照するだけなので、通常は対象サブスクリプションに対する Reader などの読み取り専用権限があれば十分です。
4. スキルをエージェントに接続
このリポジトリをサポートする多くのエージェント プラットフォームでは、スキルをインストールすると自動的に利用可能になります。設定 UI や JSON マニフェストで次を確認してください。
- 有効化されたスキル一覧に
azure-resource-lookupが含まれていること。 - 前のステップで設定した Azure 認証情報に、このスキルもアクセスできること。
スキルとツール間の最終的な接続方法は、利用しているエージェント フレームワークのドキュメントを参照してください。
スキルで Azure リソースをクエリする
よく使う自然言語プロンプト
セットアップが完了すると、自然言語のプロンプトで azure-resource-lookup に指示できます。SKILL.md の意図に沿った例は次のとおりです。
-
リソース一覧
- "List virtual machines in my production subscription."
- "Show storage accounts in resource group
rg-app-prod." - "List container apps in region
westeurope."
-
タグベース検索
- "Find resources tagged
env=prodin all subscriptions." - "Which resources are missing the
ownertag in subscription X?"
- "Find resources tagged
-
孤立リソースの確認
- "List unattached managed disks in all subscriptions."
- "Show idle IP addresses that are not associated with any resource."
-
インベントリと件数集計
- "Count all resources by type across all subscriptions."
- "How many storage accounts are in each region?"
-
状態ベースのクエリ
- "Show virtual machines that are stopped."
- "List resources in a failed provisioning state."
スキルはこれらの要求を Azure Resource Graph クエリに変換し、レポートや後続の分析に使いやすい構造化結果を返します。
Azure Resource Graph のクエリ パターンを活用する
さらに高度なシナリオに備えて、リポジトリ内の references/azure-resource-graph.md を参照してください。このファイルでは次の内容を解説しています。
- 標準的な
az graph queryコマンド構文:az graph query -q "<KQL>" --query "data[].{col1:field1, col2:field2}" -o table Resources、ResourceContainers、HealthResourcesなどの主要テーブル。- Resource Graph での KQL の基本(
=~(大文字小文字を無視した比較)、mv-expand、isempty()、tostring()など)。 - 次のような実践的なインベントリ パターン:
- リソースを種類別に集計する。
- リソースを location ごとにグループ化する。
az graph query を自分で実行しない場合でも、これらのパターンを知っておくと、スキルが内部で何を行っているのか、戻り値をどう解釈すればよいかを理解しやすくなります。
ワークフローやレポートへの統合
azure-resource-lookup は読み取り専用のインベントリ/ディスカバリに特化しているため、次のような用途に自然に組み込めます。
- 運用ダッシュボード – 日々のリソース数・カバレッジの把握のために、レポーティング ツールへ結果を取り込む。
- ガバナンス/コンプライアンス チェック – 必須タグの欠落や禁止設定を定期的にスキャン。
- クリーンアップ活動 – 削除ワークフロー(他ツール)を実行する前に、孤立ディスク、未使用 NIC、アイドル IP などを特定。
- リリースおよび環境レビュー – デプロイ後に、各環境にどのリソースが存在しているかを検証。
このスキルはワークフロー全体の 情報レイヤー として位置付けると有効です。何がどこにどの状態で存在しているかを提示し、必要に応じて変更は別ツールで実施する、という役割分担ができます。
FAQ
azure-resource-lookup は内部で何に依存していますか?
azure-resource-lookup は、ARM リソース向けにインデックスされたメタデータ サービスである Azure Resource Graph を前提として設計されています。ARG スタイルのクエリを発行して、サブスクリプションやリソース グループをまたいだリソース検索・フィルタを高速に行い、その結果をエージェント経由で返します。
azure-resource-lookup で Azure リソースの作成や削除はできますか?
いいえ。azure-resource-lookup は 読み取り専用のディスカバリ/レポーティング スキル であり、Azure リソースのデプロイ、変更、削除を目的としていません。そうした作業には ARM/Bicep テンプレート、Terraform その他の自動化スキルなどのデプロイ ツールと組み合わせて利用してください。
このスキルは Azure 以外のクラウドにも対応していますか?
対応していません。azure-resource-lookup は Azure Resource Graph 経由で取得できる Azure Resource Manager リソース専用です。AWS、GCP、オンプレミス環境のクエリには対応していません。
azure-resource-lookup はコスト分析や最適化に使えますか?
直接的には想定されていません。インベントリ情報はコスト分析の前提データとして活用できますが、このスキル自体は コスト最適化向けには設計されていません。料金計算、見積もり、リソースの適正サイズ提案などは提供していません。
このスキルを使うのに必要な権限は?
クエリ対象のサブスクリプションやリソース グループに対して、少なくとも 読み取り権限(例: Reader ロール)が必要です。azure-resource-lookup は Resource Graph を通じた読み取り専用アクセスのみ行うため、通常はそれ以上の高い権限は不要です。
Azure Portal のリソース検索と比べて何が違いますか?
Azure Portal にはインタラクティブな検索/フィルタ機能があります。一方、azure-resource-lookup には次の特徴があります。
- 複数サブスクリプションにまたがる スクリプト化しやすく再現性の高いクエリ。
- エージェントやワークフローが自動処理しやすい 構造化出力。
- 毎回 KQL を手書きしなくても済む 自然言語ベースの入口。
特に、都度の手作業検索ではなく、一貫した自動インベントリ/ディスカバリを行いたい場合に価値が高くなります。
もっとクエリの例を見たい場合は?
microsoft/azure-skills リポジトリ内の azure-resource-lookup ディレクトリで次のファイルを参照してください。
- 高レベルな動作と利用方法を解説した
SKILL.md。 - 具体的な Azure Resource Graph クエリ パターンと KQL のコツをまとめた
references/azure-resource-graph.md。
これらの例を参考に、スキル経由でどのような質問ができるか、また自分のニーズに合わせてどのように拡張できるかを検討してください。
別のスキルを選ぶべきなのはどんなとき?
次のようなニーズがある場合は、別のスキルを追加で利用するか、切り替えを検討してください。
- インフラの変更(リソースの作成・更新・削除・スケール)。
- リソース内部の ワークロード管理(アプリケーション デプロイ、データベース スキーマ、Kubernetes オブジェクトなど)。
- メタデータレベルを超えた、詳細な コスト/パフォーマンス/セキュリティ分析。
そのようなケースでは、azure-resource-lookup をディスカバリとインベントリ用途に使い、その後のステップを専用のデプロイ、モニタリング、セキュリティ ツールに引き継ぐ形で組み合わせてください。
