次の方法で共有


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 対応サーバーで次のコマンドを実行します。

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 拡張機能

警告

settings.json の "\ を追加すると、akvvm_service が次のエラーでが失敗します: [CertificateManagementConfiguration] Failed to parse the configuration settings with:not an object.

Powershell ユーザーは通常、\" シーケンスを使用して他のコード ブロック内の引用符をエスケープしますが、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 パラメーターには、拡張機能と提供されている最新バージョンを指定する必要があります。 拡張機能で使用できる最新バージョンを確認するには、Azure portal で選択した Arc 対応サーバーの 拡張機能 ページにアクセスするか、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

次のステップ