Azure PowerShell を使用して Azure VM 拡張機能を有効にする
この記事では、Azure PowerShell を使用して、Azure Arc 対応サーバーでサポートされている Azure VM 拡張機能を Linux または Windows ハイブリッド マシンにデプロイ、更新、アンインストールする方法を示します。
Note
Azure Arc 対応サーバーでは、Azure 仮想マシンへの VM 拡張機能のデプロイと管理はサポートされていません。 Azure VM については、次の VM 拡張機能の概要 に関する記事をご覧ください。
前提条件
- Azure PowerShell を搭載するコンピューター 手順については、 Azure PowerShell のインストールおよび構成を参照してください。
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
次のステップ
Azure CLI、Azure portal、または Azure Resource Manager テンプレートを使用して、VM 拡張機能をデプロイ、管理、削除できます。
トラブルシューティングに関する情報は、VM 拡張機能のトラブルシューティング ガイドに記載されています。