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