チュートリアル: Azure ロジック アプリで Azure Resource Graph クエリを実行する

Azure Resource Graph Explorer を使用すると、リソースに対するクエリを、サブスクリプション、管理グループ、テナント全体にわたって大規模に実行できます。

リソースに対して定期的にクエリを実行して、特定のリソース プロパティや管理プロパティをチェックし、その結果に基づいて行動する必要がある場合、Azure Logic Apps を活用できます。

このチュートリアルでは、次の作業を行う方法について説明します。

  • 定期的に実行する予定の Azure Resource Graph クエリを作成する
  • システム割り当てマネージド ID を使用して Azure ロジック アプリを作成する
  • 特定のリソース、リソース グループ、サブスクリプションにアクセスするためのマネージド ID をセットアップする
  • ロジック アプリを定期的に呼び出して Azure Resource Graph クエリの実行を自動化する

前提条件

このチュートリアルを完了するには、Azure サブスクリプションが必要です。 お持ちでない場合は、開始する前に無料アカウントを作成してください。

Azure Resource Graph クエリを作成する

定期的に実行する Azure Resource Graph クエリがある場合は、これを使用できます。 このチュートリアルでは、次のクエリを使用して、仮想マシンの電源状態のサマリーを取得します。

Resources
| where type =~ 'microsoft.compute/virtualmachines'
| extend vmPowerState = tostring(properties.extended.instanceView.powerState.code)
| summarize count() by vmPowerState

詳細については、「サンプル - 電源状態別に仮想マシンを集計する」を 参照してください

ロジック アプリを構成するときに、もう一度クエリを使用します。

ロジック アプリの作成

  1. ポータルのメニューから [Logic Apps] を選択するか、すべてのページの上部にある Azure 検索ボックスを使用し、[Logic Apps] を探して選択します。

  2. 画面の 左上にある [追加 ] ボタンを選択し、ロジック アプリの作成に進みます。

  3. ロジック アプリを作成するときは、[プランの種類][従量課金] を選択してください。

マネージド ID を設定する

新しいシステム割り当てマネージド ID を作成する

Azure portal 内で、作成したロジック アプリに移動します。 ページの左側にある [ID] を選択します。 次に、システム割り当て ID ボタンを選択し、状態を [オン]設定して、[保存] を選択します

マネージド ID にロールの割り当てを追加する

新しく作成したマネージド ID に、サブスクリプション、リソース グループ、リソースに対して横断的にクエリを実行する権限を与えるには、ロールの割り当てを用いてアクセス権を割り当てます。 マネージド ID のロールの割り当て方法について詳しくは、「Azure ロールをマネージド ID に割り当てる」を参照してください。

ロジック アプリを構成して実行する

Azure portal 内のロジック アプリのコード ビューで、次を貼り付けます。

{
    "definition": {
        "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
        "actions": {
            "HTTP_2": {
                "inputs": {
                    "authentication": {
                        "type": "ManagedServiceIdentity"
                    },
                    "body": {
                        "query": "Resources | where type =~ 'microsoft.compute/virtualmachines' | extend vmPowerState = tostring(properties.extended.instanceView.powerState.code) | summarize count() by vmPowerState"
                    },
                    "headers": {
                        "Content-Type": "application/json"
                    },
                    "method": "POST",
                    "queries": {
                        "api-version": "2021-03-01"
                    },
                    "uri": "https://management.azure.com/providers/Microsoft.ResourceGraph/resources"
                },
                "runAfter": {},
                "type": "Http"
            }
        },
        "contentVersion": "1.0.0.0",
        "outputs": {},
        "parameters": {},
        "triggers": {
            "Recurrence": {
                "recurrence": {
                    "frequency": "Minute",
                    "interval": 1440
                },
                "type": "Recurrence"
            }
        }
    },
    "parameters": {}
}

次に、Azure portal 内でロジック アプリのデザイナー ビューに移動し、必要に応じてセットアップを変更します。

最後に、ロジック アプリを保存して実行します。

次のステップ

このチュートリアルでは、設定された間隔で ARG クエリ要求を自動化する Azure ロジック アプリを作成しました。 リソース グラフ言語の詳細については、クエリ言語の詳細ページに進み、Azure Resource Graph のその他のクエリを試してください。

ご不明な点がある場合は、お問い合わせください resourcegraphsupport@microsoft.com