このクイックスタートでは、Az.ResourceGraph
Azure PowerShell モジュールを使って Azure Resource Graph 共有クエリを作成します。 このモジュールは最新バージョンの Azure PowerShell に含まれており、Resource Graph 用のコマンドレットが追加されています。
共有クエリは、"試験的" 機能のコマンドを使用して Azure CLI から実行することも、Azure portal から実行することもできます。 共有クエリは、Azure Resource Graph エクスプローラーで権限を与えたり、実行したりできる Azure Resource Manager オブジェクトです。 完了したら、Resource Graph 拡張機能を削除できます。
前提条件
- Azure アカウントをお持ちでない場合は、開始する前に無料アカウントを作成してください。
- 最新バージョンの PowerShell と Azure PowerShell。
- Visual Studio Code。
モジュールをインストールする
最新バージョンの PowerShell と Azure PowerShell がインストールされている場合、Az.ResourceGraph
モジュールと必要なバージョンの PowerShellGet はすでにあります。
オプションのモジュールのインストール
次の手順に従って Az.ResourceGraph
モジュールをインストールし、Azure PowerShell を使用して Azure Resource Graph クエリを実行できるようにします。 Azure Resource Graph モジュールには、PowerShellGet バージョン 2.0.1 以降が必要です。
PowerShellGet のバージョンを確認します。
Get-Module -Name PowerShellGet
更新する必要がある場合は、PowerShellGet に移動します。
モジュールをインストールします。
Install-Module -Name Az.ResourceGraph -Repository PSGallery -Scope CurrentUser
このコマンドは、
CurrentUser
スコープにモジュールをインストールします。AllUsers
スコープにインストールする必要がある場合は、管理 PowerShell セッションからインストールを実行します。モジュールがインストールされたことを確認します。
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 オブジェクトです。 このクエリでは、すべてのリソースの総数が "場所" 別にグループ化され、まとめられます。
Azure Resource Graph 共有クエリを保存するリソース グループを作成します。
New-AzResourceGroup -Name demoSharedQuery -Location westus2
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 のスプラッティングを使って、共有クエリを作成するためにコマンド内で使われるパラメーター値をより読みやすくします。リソース グループ内のすべての共有クエリをリストします。
Get-AzResourceGraphQuery -ResourceGroupName demoSharedQuery
結果を特定の共有クエリに制限します。
Get-AzResourceGraphQuery -ResourceGroupName demoSharedQuery -Name 'Summarize resources by location'
共有クエリを実行する
Azure Resource Graph エクスプローラーを使用して、共有クエリが機能していることを確認できます。 スコープを変更するには、ページの左側にある [スコープ] メニューを使用します。
- Azure ポータルにサインインします。
- ページの上部にある検索フィールドに「resource graph」と入力します。
- [Resource Graph エクスプローラー] を選択します。
- [クエリを開く] を選択します。
- [Type](種類) を [共有クエリ] に変更します。
- [Count VMs by OS] クエリを選択します。
- [クエリの実行] を選択し、[結果] タブで出力を確認します。
- [グラフ] を選んでから、[マップ] を選んで場所のマップを表示します。
リソース グループからクエリを実行することもできます。
- Azure で、リソース グループ demoSharedQuery に移動します。
- [概要] タブで、[Count VMs by OS]\(OS 別に VM をカウント\) クエリを選択します。
- [結果] タブを選んで一覧を表示します。
- [グラフ] を選んでから、[マップ] を選んで場所のマップを表示します。
リソースをクリーンアップする
終えたら、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 言語の詳細については、クエリ言語の詳細ページに進んでください。