次の方法で共有


クイックスタート: Azure PowerShell を使用して Resource Graph 共有クエリを作成する

このクイックスタートでは、Az.ResourceGraph Azure PowerShell モジュールを使って Azure Resource Graph 共有クエリを作成します。 このモジュールは最新バージョンの Azure PowerShell に含まれており、Resource Graph 用のコマンドレットが追加されています。

共有クエリは、"試験的" 機能のコマンドを使用して Azure CLI から実行することも、Azure portal から実行することもできます。 共有クエリは、Azure Resource Graph エクスプローラーで権限を与えたり、実行したりできる Azure Resource Manager オブジェクトです。 完了したら、Resource Graph 拡張機能を削除できます。

前提条件

モジュールをインストールする

最新バージョンの PowerShell と Azure PowerShell がインストールされている場合、Az.ResourceGraph モジュールと必要なバージョンの PowerShellGet はすでにあります。

オプションのモジュールのインストール

次の手順に従って Az.ResourceGraph モジュールをインストールし、Azure PowerShell を使用して Azure Resource Graph クエリを実行できるようにします。 Azure Resource Graph モジュールには、PowerShellGet バージョン 2.0.1 以降が必要です。

  1. PowerShellGet のバージョンを確認します。

    Get-Module -Name PowerShellGet
    

    更新する必要がある場合は、PowerShellGet に移動します。

  2. モジュールをインストールします。

    Install-Module -Name Az.ResourceGraph -Repository PSGallery -Scope CurrentUser
    

    このコマンドは、CurrentUser スコープにモジュールをインストールします。 AllUsers スコープにインストールする必要がある場合は、管理 PowerShell セッションからインストールを実行します。

  3. モジュールがインストールされたことを確認します。

    Get-Command -Module Az.ResourceGraph -CommandType Cmdlet
    

    このコマンドは、Search-AzGraph コマンドレットのバージョンを表示し、モジュールを PowerShell セッションに読み込みます。

Azure に接続する

Visual Studio Code ターミナル セッションから Azure に接続します。 複数のサブスクリプションがある場合は、コマンドを実行してコンテキストをサブスクリプションに設定します。 <subscriptionID> は、Azure サブスクリプション ID に置き換えてください。

Connect-AzAccount

# Run these commands if you have multiple subscriptions
Get-AzSubScription
Set-AzContext -Subscription <subscriptionID>

共有クエリを作成する

共有クエリは、Azure Resource Graph エクスプローラーで権限を与えたり、実行したりできる Azure Resource Manager オブジェクトです。 このクエリでは、すべてのリソースの総数が "場所" 別にグループ化され、まとめられます。

  1. Azure Resource Graph 共有クエリを保存するリソース グループを作成します。

    New-AzResourceGroup -Name demoSharedQuery -Location westus2
    
  2. Azure Resource Graph 共有クエリを作成します。

    $params = @{
      Name = 'Summarize resources by location'
      ResourceGroupName = 'demoSharedQuery'
      Location = 'westus2'
      Description = 'This shared query summarizes resources by location for a pinnable map graphic.'
      Query = 'Resources | summarize count() by location'
    }
    
    New-AzResourceGraphQuery @params
    

    $params 変数は、PowerShell のスプラッティングを使って、共有クエリを作成するためにコマンド内で使われるパラメーター値をより読みやすくします。

  3. リソース グループ内のすべての共有クエリをリストします。

    Get-AzResourceGraphQuery -ResourceGroupName demoSharedQuery
    
  4. 結果を特定の共有クエリに制限します。

    Get-AzResourceGraphQuery -ResourceGroupName demoSharedQuery -Name 'Summarize resources by location'
    

共有クエリを実行する

Azure Resource Graph エクスプローラーを使用して、共有クエリが機能していることを確認できます。 スコープを変更するには、ページの左側にある [スコープ] メニューを使用します。

  1. Azure ポータルにサインインします。
  2. ページの上部にある検索フィールドに「resource graph」と入力します。
  3. [Resource Graph エクスプローラー] を選択します。
  4. [クエリを開く] を選択します。
  5. [Type](種類)[共有クエリ] に変更します。
  6. [Count VMs by OS] クエリを選択します。
  7. [クエリの実行] を選択し、[結果] タブで出力を確認します。
  8. [グラフ] を選んでから、[マップ] を選んで場所のマップを表示します。

リソース グループからクエリを実行することもできます。

  1. Azure で、リソース グループ demoSharedQuery に移動します。
  2. [概要] タブで、[Count VMs by OS]\(OS 別に VM をカウント\) クエリを選択します。
  3. [結果] タブを選んで一覧を表示します。
  4. [グラフ] を選んでから、[マップ] を選んで場所のマップを表示します。

リソースをクリーンアップする

終えたら、Resource Graph 共有クエリとリソース グループを Azure 環境から削除できます。 リソース グループを削除すると、リソース グループとそのすべてのリソースが削除されます。

共有クエリを削除します。

Remove-AzResourceGraphQuery -ResourceGroupName demoSharedQuery -Name 'Summarize resources by location'

リソース グループを削除する:

Remove-AzResourceGroup -Name demoSharedQuery

Azure PowerShell セッションからサインアウトするには:

Disconnect-AzAccount

オプションのクリーンアップ手順

最新バージョンの Azure PowerShell がインストールされている場合、Az.ResourceGraph モジュールは含まれています。これは削除しないでください。 手動でインストールした Az.ResourceGraph モジュールを削除する場合、次の手順は省略できます。

PowerShell セッションから Az.ResourceGraph モジュールを削除するには、次のコマンドを実行します。

Remove-Module -Name Az.ResourceGraph

コンピューターから Az.ResourceGraph モジュールをアンインストールするには、次のコマンドを実行します。

Uninstall-Module -Name Az.ResourceGraph

モジュール Az.ResourceGraph が現在使用されていることを示すメッセージが表示されることがあります。 その場合は、PowerShell セッションをシャットダウンし、新しいセッションを開始する必要があります。 次にコンピューターからモジュールをアンインストールするコマンドを実行します。

次のステップ

このクイックスタートでは、Azure PowerShell を使って Resource Graph 共有クエリを作成しました。 Resource Graph 言語の詳細については、クエリ言語の詳細ページに進んでください。