次の方法で共有


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

この記事では、Azure PowerShell を使用して、Azure Arc 対応サーバーに 仮想マシン (VM) 拡張機能 をデプロイ、更新、アンインストールする方法について説明します。

前提条件

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

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

    これらの管理操作は、Azure Arc 対応サーバーではなく、ワークステーションから実行できます。

    次のコマンドを実行して、Az.ConnectedMachine モジュールをインストールします。

    Install-Module -Name Az.ConnectedMachine
    

拡張機能を有効にする

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

この例では、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 マルウェア対策拡張機能を有効にします。

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

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

警告

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

一般的に PowerShell ユーザーは、\" シーケンスを使用して他のコード ブロック内の引用符をエスケープしますが、settings.json ファイルではこの書式を避ける必要があります。

# 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

この例では、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

ヒント

Arc 対応サーバーでは、他の多くの拡張機能がサポートされています。 詳細については、 Azure Arc 対応サーバーを使用した仮想マシン拡張機能の管理に関するページを参照してください。

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

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

Get-AzConnectedMachineExtension -ResourceGroupName myResourceGroup -MachineName myMachineName

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

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

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

詳細については、「Update-AzConnectedMachineExtension」を参照してください。

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

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

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

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

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

ヒント

多くの VM 拡張機能は、 自動アップグレード用に構成できます。

拡張機能を削除する

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