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
を使用します。
関連するコンテンツ
- Azure CLI、Azure portal、または Azure Resource Manager テンプレートを使用して、VM 拡張機能をデプロイ、管理、削除できます。
- トラブルシューティング情報は、「VM 拡張機能のトラブルシューティングに関するガイド」でご確認になれます。