Azure PowerShell を使用して Azure VM 拡張機能を有効にする

この記事では、Azure PowerShell を使用して、Azure Arc 対応サーバーでサポートされている Azure VM 拡張機能を Linux または Windows ハイブリッド マシンにデプロイ、更新、アンインストールする方法を示します。

Note

Azure Arc 対応サーバーでは、Azure 仮想マシンへの VM 拡張機能のデプロイと管理はサポートされていません。 Azure VM については、次の VM 拡張機能の概要 に関する記事をご覧ください。

前提条件

Azure PowerShell を使用して、Azure Arc 対応サーバーで管理されているハイブリッド サーバー上の VM 拡張機能を管理するには、事前に Az.ConnectedMachine モジュールをインストールする必要があります。 これらの管理操作はワークステーションから実行できます。Azure Arc 対応サーバー上で実行する必要はありません。

Azure Arc 対応サーバーで次のコマンドを実行します。

[https://login.microsoftonline.com/consumers/](Install-Module -Name Az.ConnectedMachine)

インストールが完了すると、次のメッセージが返されます。

The installed extension 'Az.ConnectedMachine' is experimental and not covered by customer support. Please use with discretion.

拡張機能を有効にする

Azure Arc 対応サーバーで VM 拡張機能を有効にするには、New-AzConnectedMachineExtension-Name-ResourceGroupName-MachineName-Location-Publisher、-ExtensionType-Settings の各パラメーターを使用します。

次の例では、Azure Arc 対応 Linux サーバーで Log Analytics VM 拡張機能を有効にします。

$Setting = @{ "workspaceId" = "workspaceId" }
$protectedSetting = @{ "workspaceKey" = "workspaceKey" }
New-AzConnectedMachineExtension -Name OMSLinuxAgent -ResourceGroupName "myResourceGroup" -MachineName "myMachineName" -Location "regionName" -Publisher "Microsoft.EnterpriseCloud.Monitoring" -Settings $Setting -ProtectedSetting $protectedSetting -ExtensionType "OmsAgentForLinux"

Azure Arc 対応 Windows サーバーで Log Analytics VM 拡張機能を有効にするには、前の例の -ExtensionType パラメーターの値を "MicrosoftMonitoringAgent" に変更します。

次の例では、Azure Arc 対応サーバーでカスタム スクリプト拡張機能を有効にします。

$Setting = @{ "commandToExecute" = "powershell.exe -c Get-Process" }
New-AzConnectedMachineExtension -Name "custom" -ResourceGroupName "myResourceGroup" -MachineName "myMachineName" -Location "regionName" -Publisher "Microsoft.Compute"  -Settings $Setting -ExtensionType CustomScriptExtension

次の例では、Azure Arc 対応 Windows サーバーで Microsoft Antimalware 拡張機能を有効にします。

$Setting = @{ "AntimalwareEnabled" = $true }
New-AzConnectedMachineExtension -Name "IaaSAntimalware" -ResourceGroupName "myResourceGroup" -MachineName "myMachineName" -Location "regionName" -Publisher "Microsoft.Azure.Security" -Settings $Setting -ExtensionType "IaaSAntimalware"

Key Vault VM 拡張機能

警告

多くの場合、PowerShell クライアントでは、[CertificateManagementConfiguration] Failed to parse the configuration settings with:not an object. エラーを伴って akvvm_service が失敗する原因となる settings.json で、\" に追加されます。

次の例では、Azure Arc 対応サーバーで Key Vault VM 拡張機能を有効にします。

# Build settings
    $settings = @{
      secretsManagementSettings = @{
       observedCertificates = @(
        "observedCert1"
       )
      certificateStoreLocation = "myMachineName" # For Linux use "/var/lib/waagent/Microsoft.Azure.KeyVault.Store/"
      certificateStore = "myCertificateStoreName"
      pollingIntervalInS = "pollingInterval"
      }
    authenticationSettings = @{
     msiEndpoint = "http://localhost:40342/metadata/identity"
     }
    }

    $resourceGroup = "resourceGroupName"
    $machineName = "myMachineName"
    $location = "regionName"

    # Start the deployment
    New-AzConnectedMachineExtension -ResourceGroupName $resourceGroup -Location $location -MachineName $machineName -Name "KeyVaultForWindows or KeyVaultforLinux" -Publisher "Microsoft.Azure.KeyVault" -ExtensionType "KeyVaultforWindows or KeyVaultforLinux" -Setting $settings

Datadog VM 拡張機能

次の例では、Azure Arc 対応サーバーで Datadog VM 拡張機能を有効にします。

$resourceGroup = "resourceGroupName"
$machineName = "machineName"
$location = "machineRegion"
$osType = "Windows" # change to Linux if appropriate
$settings = @{
    # change to your preferred Datadog site
    site = "us3.datadoghq.com"
}
$protectedSettings = @{
    # change to your Datadog API key
    api_key = "APIKEY"
}

New-AzConnectedMachineExtension -ResourceGroupName $resourceGroup -Location $location -MachineName $machineName -Name "Datadog$($osType)Agent" -Publisher "Datadog.Agent" -ExtensionType "Datadog$($osType)Agent" -Setting $settings -ProtectedSetting $protectedSettings

インストールされている拡張機能を一覧表示する

Azure Arc 対応サーバー上の VM 拡張機能の一覧を取得するには、Get-AzConnectedMachineExtension-MachineName および -ResourceGroupName パラメーターを使用します。

例:

Get-AzConnectedMachineExtension -ResourceGroupName myResourceGroup -MachineName myMachineName

Name    Location  PropertiesType        ProvisioningState
----    --------  --------------        -----------------
custom  westus2   CustomScriptExtension Succeeded

拡張機能の構成を更新する

インストールされた拡張機能を再構成するには、Update-AzConnectedMachineExtension コマンドレットを -Name-MachineName-ResourceGroupName-Settings の各パラメーターと共に使用します。

拡張機能に必要な変更を行うためのさまざまな方法については、コマンドレットのリファレンス記事を参照してください。

アップグレード拡張機能

サポートされている VM 拡張機能は、新しいバージョンがリリースされた時点でその最新リリースにアップグレードできます。 VM 拡張機能をアップグレードするには、-MachineName-ResourceGroupName、および -ExtensionTarget パラメーターを指定して Update-AzConnectedExtension を使用します。

-ExtensionTarget パラメーターには、拡張機能と提供されている最新バージョンを指定する必要があります。 提供されている最新バージョンを調べるには、選択した Arc 対応サーバーの [拡張機能] ページを Azure portal で確認するか、Get-AzVMExtensionImage を実行してこの情報を入手します。 1 つのアップグレード要求で複数の拡張機能を指定するには、次の例に示すように、パブリッシャーと種類 (ピリオドで区切られます) と各拡張機能のターゲット バージョンで定義された、コンマ区切りの拡張機能の一覧を指定します。

Windows 用の Log Analytics エージェント拡張機能を新しいバージョンにアップグレードするには、次のコマンドを実行します。

Update-AzConnectedExtension -MachineName "myMachineName" -ResourceGroupName "myResourceGroup" -ExtensionTarget '{\"Microsoft.EnterpriseCloud.Monitoring.MicrosoftMonitoringAgent\":{\"targetVersion\":\"1.0.18053.0\"}}'

インストールされている VM 拡張機能のバージョンは、Get-AzConnectedMachineExtension コマンドを実行することでいつでも確認できます。 拡張機能のバージョンは、TypeHandlerVersion プロパティの値によって表されます。

拡張機能を削除する

Azure Arc 対応サーバー上にインストールされた VM 拡張機能を削除するには、Remove-AzConnectedMachineExtension-Name-MachineName-ResourceGroupName の各パラメーターを使用します。

たとえば、Linux 用の Log Analytics VM 拡張機能を削除するには、次のコマンドを実行します。

Remove-AzConnectedMachineExtension -MachineName myMachineName -ResourceGroupName myResourceGroup -Name OmsAgentforLinux

次のステップ