APC 技術ブログ

株式会社エーピーコミュニケーションズの技術ブログです。

株式会社 エーピーコミュニケーションズの技術ブログです。

Azure Quick Review (azqr) を試してみたので紹介します

こんにちは、ACS 事業部の埜下です。

先日、Microsoft の「Azure Quick Review」というツールの紹介がありました。

私はこの投稿を見て Azure Quick Review のことを知ったのですが、試してみて良さそうなツールだったのでどういうものなのか紹介していきます。

1. Azure Quick Review とは

1.1 Azure の分析ツール

Azure Quick Review はコマンドラインで利用できる Azure リソースの分析ツールです。

記事タイトルにもある azqr というのは Azure Quick Review のコマンド名です。 Azure Quick Review はコマンドライン用なので各自の端末などにインストールして使います。 Microsoft がオープンソースで開発しており、本投稿の執筆時点で v2.3.0 がリリースされています。 ソースコードは GitHub で公開されています。

github.com

1.2 Azure 環境の健全性を素早くチェック可能

Azure Quick Review を使うことで、Azure 環境の健全性をチェックして Azure リソースがAzure のベストプラクティスや推奨事項に準拠しているか確認できます

具体的には以下のようなメリットがあります。

  • 幅広い Azure の推奨事項を分析できる
  • 分析結果からすぐにアクションプランに落とし込める
  • 60 以上の Azure サービスに対応している

それぞれのメリットについて見ていきます。

1.2.1 幅広い Azure の推奨事項を分析

Microsoft が提供する Azure Proactive Resiliency Library v2 (APRL) という Azure で実行されているワークロードの回復性に関する推奨事項をまとめたライブラリがあります。 APRL では推奨事項をチェックするために Azure Resource Graph (ARG) という機能を使う方法が公開されており、Azure Quick Review ではこの Azure Resource Graph を使ってワークロードの回復性に関する推奨事項を分析します。

これに加えて、Azure Quick Review では「サービス インスタンスごとの SLA」や「診断設定の検出」などを提供することで、APRL を拡張した幅広い Azure の推奨事項をチェック可能にしています。

Azure Quick Review でチェックされる推奨事項の一覧は以下のページに載っています。 2025 年 2 月時点で 500 個近い推奨事項がありました。

azure.github.io

1.2.2 分析結果からすぐにアクションプランに落とし込める

Azure Quick Review の分析結果は Excel ファイルとして出力されるため活用しやすく、他部門の方にも共有しやすいです。

レポートには 9 つのシートが用意されており、それぞれ重要な情報が整理されています。 推奨事項の一覧や影響を受けるリソースの詳細など、必要な情報がシート別に分類されているため、チーム内での共有やレビューがしやすくなっています。

Excel 形式なので必要に応じてフィルタリングや並び替えも簡単です。 Power BI テンプレートを使用すれば、結果をよりビジュアルに分析することも可能で、リソースの状態や改善が必要な箇所をグラフィカルに把握できるらしいです(筆者は Power BI を扱ったことがないため詳しくは書けません)。

また、情報の機密性にも配慮されており、デフォルトではサブスクリプション ID はマスキングされます。 必要に応じて--mask=false オプションを使用することで、サブスクリプション ID を表示することも可能です。

1.2.3 60 以上の Azure サービスに対応

Azure Quick Review は 60 以上の Azure サービスをサポートしています。 詳しくは公式サイトの Supported Azure Services をご確認ください。

Azure Quick Review の分析はサブスクリプション全体を対象にすることも、特定のリソースグループに絞ることも可能です。 管理グループを指定すれば、複数のサブスクリプションを一括で分析することもできます。

必要な権限は Reader 権限のみなので、セキュリティを担保しながら分析を実施できます。

また、YAML 形式の設定ファイルを用意することで、特定のサブスクリプションやリソースグループのみを分析対象としたり、逆に除外したりすることも可能です。 これにより、大規模な環境でも必要な範囲に絞った分析を実行できます。

2. やってみた

どんな分析情報が出てくるのかなどについては実際に Azure Quick Review やってみた結果から紹介します。

2.1 インストール

Azure Quick Review の azqr コマンドは Windows / Mac / Linux にインストールできます。

各 OS ごとのインストール手順は以下の公式ドキュメントをご確認ください。 私は主に Windows の WSL2 (Ubuntsu) を使っていますが、問題なくインストールできました。

azure.github.io

2.2 認証 & 認可

azqr コマンドを実行するには Azure への認証が必要です。

  • サービスプリンシパル (以下の環境変数を設定)
    • AZURE_CLIENT_ID
    • AZURE_CLIENT_SECRET
    • AZURE_TENANT_ID
  • マネージド ID
  • Azure CLI (az コマンド)

今回はローカル環境の Azure CLI でログインした認証情報を使いました。 Azure CLI での認証は個人アカウントで試す分には簡単にできてよいと思います。

サービスプリンシパルは GitHub Actions ワークフローで CI に組み込む場合などに使います。 Azure Quick Review のリポジトリに GitHub Actions ワークフローのサンプルがありました。

github.com

続いて認可ですが、ログインしたアカウントには分析対象のサブスクリプションや管理グループに対する Reader 権限が必要になります。 あらかじめ azqr コマンドを実行するアカウントやサービスプリンシパルに Reader 権限が付与されているか確認してください。

2.3 分析結果

それでは azqr コマンドを使って分析してみましょう。 今回は弊社 Azure 検証環境にある 1 つのサブスクリプションを対象にしてみました。 検証環境なのでたくさん引っかかりそうですねぇ。

$ azqr scan -s <subscription_id>
2025-02-18T17:19:02+09:00 INF Scanning subscriptions for Microsoft.Automation/automationAccounts
(省略)
2025-02-18T17:20:42+09:00 INF Scanning subscriptions/...26f233a for Costs
2025-02-18T17:22:17+09:00 INF Scanning subscriptions for Resource Count per Subscription and Type
2025-02-18T17:22:18+09:00 INF Generating Report: azqr_action_plan_2025_02_18_T171901.xlsx
2025-02-18T17:22:20+09:00 INF Scan completed.

分析が終わるまで 3 分ほど掛かりましたが無事に終わったようです。 出力された Excel ファイルを開くとこのような形で分析結果が格納されていました。

分析結果の Excel ファイル

分析結果は用途ごとにシートにまとめられています。

シート名 説明
Recommendations 推奨事項の一覧と、その推奨事項の影響を受けるリソース数を表示。リソースの改善計画を立てる際のアクションプランとして活用できる
ImpactedResources 推奨事項の影響を受けるリソースの一覧。改善が必要なリソースを特定するために使用
ResourceTypes 影響を受けているリソースタイプの一覧
Inventory 分析された全リソースの詳細情報。SKU、Tier、Kind、SLA などの情報を含む
Advisor Azure Advisor から提供される推奨事項の一覧
DefenderRecommendations Microsoft Defender for Cloud から提供される推奨事項の一覧
OutOfScope 分析対象外となったリソースの一覧
Defender Microsoft Defender for Cloud の各プランとその Tier 情報
Costs 分析されたサブスクリプションの過去 3 ヶ月分のコスト情報

Recommendations シートで確認すると、今回の検証環境では 427 個の推奨事項のうち 192 個が NG と判定されていました。

多いか少ないかはさておき、Recommendations シートには各推奨事項の重要度(High, Medium, Low) やベストプラクティスの説明、Microsoft の対応するドキュメントへのリンクが載っているため、NG 項目に対してどのようなアクションを取ればよいかが分かりやすい形となっています。

今回はサブスクリプションを指定して分析したのですが、なせわか分析結果の Excel には他のサブスクリプションの結果も含まれていました。こちらは Issue などを確認してみようと思います。

3. Azure Quick Review の活用シーン

Azure Quick Review は "Quick" というだけであって簡単に分析結果を取得することができました。 この便利なツールの活用できるシーンを考えてみました。

3.1 定期的な Azure 環境の健全性チェック

多くの組織で活用できそうなのが、定期的な Azure 環境の健全性チェックです。 月次や四半期でリソースの構成をレビューし、推奨事項への準拠状況を継続的にモニタリングすることで、環境の健全性を維持できます。

GitHub Actions ワークフローのサンプルがあるので、azqr コマンドを定期実行する仕組みも簡単に作ることができます。

3.2 新規プロジェクトの Azure 環境評価

新規プロジェクトでは、開発環境から本番環境への移行前のチェックツールとして使えそうです。 セキュリティや可用性の問題点を早期に発見でき、想定する SLA を満たせているかも確認できます。

3.3 複数環境の一括分析

管理グループ単位で分析できる機能を活用すれば、複数のサブスクリプションを一括で評価できます。 これにより、開発・ステージング・本番といった異なる環境間での構成の違いを把握したり、チーム間やプロジェクト間での設定の標準化状況を確認したりできます。

3.4 セキュリティレビュー

セキュリティ面でのレビューにも活用できます。 Microsoft Defender for Cloud の推奨事項を一括で確認でき、セキュリティ設定の不備やコンプライアンス状況も確認できます。 Power BI テンプレートを使用すれば、分析結果をビジュアル化して経営層への報告資料としても活用できそうです(筆者は Power BI を扱ったことがないためry)。

4. まとめ

今回は Azure Quick Review について紹介しました。

Azure Quick Review は Microsoft が公開した Azure 環境の分析ツールで、以下の 3 つの特徴があります。

  • 幅広い Azure の推奨事項を分析可能
  • 分析結果からすぐにアクションプランに落とし込める
  • 60 以上の Azure サービスに対応

定期的な環境の健全性チェックや、新規プロジェクトの評価、複数環境の一括分析など、さまざまなシーンで活用できるツールです。 Azure 環境の健全性維持に役立つツールとして、ぜひ活用を検討してみてください。