クイック スタート:PowerShell を使用して Azure portal ダッシュボードを作成する

Azure portal のダッシュボードでは、お使いのクラウド リソースが集中的に整理して表示されます。 この記事では、Az.Portal PowerShell モジュールを使用してダッシュボードを作成するプロセスに焦点を当てます。 このダッシュボードには、作成した仮想マシン (VM) のパフォーマンスに加え、一部の静的情報とリンクが表示されます。

Azure portal では、1 つのダッシュボードで集中的に、お使いのクラウド リソースが整理して表示されます。 このクイックスタートでは、Az.Portal PowerShell を使用してダッシュボードを作成する方法について説明します。 ダッシュボードの例では、仮想マシン (VM) のパフォーマンスに加えて、一部の静的情報といくつかのリンクが表示されます。

前提条件

  • アクティブなサブスクリプションが含まれる Azure アカウント。 無料でアカウントを作成できます

  • ローカルで PowerShell を使用する場合は、Az PowerShell モジュールをインストールしたうえで、Connect-AzAccount コマンドレットを使用して自分の Azure アカウントに接続する必要があります。 Az PowerShell モジュールのインストールの詳細については、「Azure PowerShell のインストール」を参照してください。

Azure Cloud Shell

Azure では、ブラウザーを介して使用できる対話型のシェル環境、Azure Cloud Shell がホストされています。 Cloud Shell で Bash または PowerShell を使用して、Azure サービスを操作できます。 ローカル環境に何もインストールしなくても、Cloud Shell にプレインストールされているコマンドを使用して、この記事のコードを実行できます。

Azure Cloud Shell を開始するには、以下のようにします。

オプション 例とリンク
コードまたはコマンド ブロックの右上隅にある [使ってみる] を選択します。 [使ってみる] を選択しても、コードまたはコマンドは Cloud Shell に自動的にはコピーされません。 Screenshot that shows an example of Try It for Azure Cloud Shell.
https://shell.azure.com に移動するか、[Cloud Shell を起動する] ボタンを選択して、ブラウザーで Cloud Shell を開きます。 Button to launch Azure Cloud Shell.
Azure portal の右上にあるメニュー バーの [Cloud Shell] ボタンを選択します。 Screenshot that shows the Cloud Shell button in the Azure portal

Azure Cloud Shell を使用するには、以下のようにします。

  1. Cloud Shell を開始します。

  2. コード ブロック (またはコマンド ブロック) の [コピー] ボタンを選択し、コードまたはコマンドをコピーします。

  3. Windows と Linux では Ctrl+Shift+V キーを選択し、macOS では Cmd+Shift+V キーを選択して、コードまたはコマンドを Cloud Shell セッションに貼り付けます。

  4. Enter キーを選択して、コードまたはコマンドを実行します。

特定の Azure サブスクリプションを選択する

複数の Azure サブスクリプションをお持ちの場合は、リソースが課金の対象となる適切なサブスクリプションを選択してください。 Set-AzContext コマンドレットを使用して、特定のサブスクリプションを選択します。

Set-AzContext -SubscriptionId 00000000-0000-0000-0000-000000000000

変数の定義

いくつかの情報は、繰り返し使用することになります。 それらの情報を格納する変数を作成しましょう。

# Name of resource group used throughout this article
$resourceGroupName = 'myResourceGroup'

# Azure region
$location = 'centralus'

# Dashboard Title
$dashboardTitle = 'Simple VM Dashboard'

# Dashboard Name
$dashboardName = $dashboardTitle -replace '\s'

# Your Azure Subscription ID
$subscriptionID = (Get-AzContext).Subscription.Id

# Name of test VM
$vmName = 'myVM1'

リソース グループを作成する

New-AzResourceGroup コマンドレットを使用して、Azure リソース グループを作成します。 リソース グループとは、複数の Azure リソースをまとめてデプロイ、管理する際の論理コンテナーです。

次の例では、$location 変数に指定されたリージョンに、$resourceGroupName 変数内の名前に基づいてリソース グループを作成します。

New-AzResourceGroup -Name $resourceGroupName -Location $location

仮想マシンの作成

このクイックスタートの次の部分で作成するダッシュボードには既存の VM が必要です。 次の手順に従って VM を作成します。

VM のログイン資格情報を変数に格納します。 パスワードは複雑なものにする必要があります。 これは新しいユーザー名とパスワードです。たとえば Azure にサインインするためのアカウントではありません。 詳細については、ユーザー名の要件に関するページとパスワードの要件に関するページを参照してください。

$Cred = Get-Credential

VM を作成します。

$AzVmParams = @{
  ResourceGroupName = $resourceGroupName
  Name = $vmName
  Location = $location
  Credential = $Cred
}
New-AzVm @AzVmParams

これで VM のデプロイが開始されます。通常、完了するまでに数分かかります。 デプロイが完了したら、次のセクションに進みます。

ダッシュボード テンプレートをダウンロードする

Azure ダッシュボードはリソースであるため、JSON として表すことができます。 次のコードでは、サンプル ダッシュボードの JSON 表現がダウンロードされます。 詳細については、「Azure ダッシュボードの構造」を参照してください。

$myPortalDashboardTemplateUrl = 'https://raw.githubusercontent.com/Azure/azure-docs-powershell-samples/master/azure-portal/portal-dashboard-template-testvm.json'

$myPortalDashboardTemplatePath = "$HOME\portal-dashboard-template-testvm.json"

Invoke-WebRequest -Uri $myPortalDashboardTemplateUrl -OutFile $myPortalDashboardTemplatePath -UseBasicParsing

テンプレートのカスタマイズ

次のコードを実行して、ダウンロードしたテンプレートをカスタマイズします。

$Content = Get-Content -Path $myPortalDashboardTemplatePath -Raw
$Content = $Content -replace '<subscriptionID>', $subscriptionID
$Content = $Content -replace '<rgName>', $resourceGroupName
$Content = $Content -replace '<vmName>', $vmName
$Content = $Content -replace '<dashboardTitle>', $dashboardTitle
$Content = $Content -replace '<location>', $location
$Content | Out-File -FilePath $myPortalDashboardTemplatePath -Force

ダッシュボード テンプレートの構造の詳細については、「Microsoft portal ダッシュボード テンプレート リファレンス」をご覧ください。

ダッシュボード テンプレートをデプロイする

Az.Portal モジュールの一部である New-AzPortalDashboard コマンドレットを使用して、PowerShell からテンプレートを直接デプロイできます。

$DashboardParams = @{
  DashboardPath = $myPortalDashboardTemplatePath
  ResourceGroupName = $resourceGroupName
  DashboardName = $dashboardName
}
New-AzPortalDashboard @DashboardParams

デプロイされたリソースを確認する

ダッシュボードが正常に作成されたことを確認します。

Get-AzPortalDashboard -Name $dashboardName -ResourceGroupName $resourceGroupName

仮想マシンに関するデータを Azure portal のダッシュボード内で表示できることを確認します。

  1. Azure portal のメニューで、[ダッシュボード] を選択します。

    Screenshot of the Dashboard item on the Azure portal menu.

  2. ダッシュボード ページで、 [Simple VM Dashboard](シンプル VM ダッシュボード) を選択します。

    Screenshot of the dashboard selection option in the Azure portal.

  3. ダッシュボードを確認します。ここに示したものに似ているはずです。 一部のコンテンツは静的ですが、冒頭で作成した VM のパフォーマンスを示しているグラフもあります。

    Screenshot of an example dashboard in the Azure portal.

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

VM と関連付けられているダッシュボードを削除するには、それらが含まれているリソース グループを削除します。

注意事項

リソース グループを削除すると、それに含まれるすべてのリソースが削除されます。 リソース グループに仮想マシンやダッシュボードとは別のリソースが含まれている場合、それらのリソースも削除されます。

Remove-AzResourceGroup -Name $resourceGroupName
Remove-Item -Path "$HOME\portal-dashboard-template-testvm.json"

次のステップ

Az.Portal PowerShell モジュールに含まれるコマンドレットの詳細については、次を参照してください。