次の方法で共有


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

この記事では、Azure Arc 対応サーバーでサポートされている Azure 仮想マシン (VM) の拡張機能をデプロイ、更新、アンインストールする方法について説明します。 ここでは、Azure PowerShell を使用して、Linux または Windows のハイブリッド マシン上でこれらのタスクをどのように実行するかを示しています。

Note

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

前提条件

  • Azure PowerShell を搭載するコンピューター 手順については、 Azure PowerShell のインストールおよび構成を参照してください。

  • Az.ConnectedMachine モジュール。 Azure PowerShell を使用して、Azure Arc 対応サーバーで管理されているハイブリッド サーバー上の VM 拡張機能を管理するには、事前にこのモジュールをインストールする必要があります。

    これらの管理操作は、ワークステーションから実行できます。 これらを、Azure Arc 対応サーバー上で実行する必要はありません。

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

Install-Module -Name Az.ConnectedMachine

拡張機能を有効にする

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

次の例では、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 拡張機能の一覧を取得するには、-MachineName および -ResourceGroupName パラメーターと共に Get-AzConnectedMachineExtension を使用します。

次に例を示します。

Get-AzConnectedMachineExtension -ResourceGroupName myResourceGroup -MachineName myMachineName

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

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

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

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

拡張機能のアップグレード

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

-ExtensionTarget パラメーターには、拡張機能と提供されている最新バージョンを指定する必要があります。 拡張機能の使用可能な最新バージョンを決定するには、Azure portal で選択した Arc 対応サーバーの [拡張機能] ページにアクセスするか、Get-AzVMExtensionImage を実行します。 1 つのアップグレード要求で複数の拡張機能を指定するには、次の両方を指定します。

  • パブリッシャーと種類 (ピリオド区切り) で定義された、拡張機能のコンマ区切りの一覧
  • 各拡張機能のターゲット バージョン

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

拡張機能を削除する

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