次の方法で共有


チュートリアル: 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 クエリがある場合は、これを使用できます。 このチュートリアルでは、次のクエリを使用して、Virtual Machines の電源状態の概要を取得します。

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