Azure PowerShell을 통해 Azure VM 확장 사용
이 문서에서는 Azure PowerShell을 사용하여 Azure Arc 지원 서버에서 지원하는 Azure VM 확장을 Linux 또는 Windows 하이브리드 머신에 배포, 업데이트 및 제거하는 방법을 보여 줍니다.
참고 항목
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 확장
Warning
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 확장 목록을 가져오려면 AzConnectedMachineExtension을 -MachineName
및 -ResourceGroupName
매개 변수와 함께 사용합니다.
예시:
Get-AzConnectedMachineExtension -ResourceGroupName myResourceGroup -MachineName myMachineName
Name Location PropertiesType ProvisioningState
---- -------- -------------- -----------------
custom westus2 CustomScriptExtension Succeeded
확장 구성 업데이트
설치된 확장을 다시 구성하려면 Update-AzConnectedMachineExtension cmdlet을 -Name
, -MachineName
, -ResourceGroupName
및 -Settings
매개 변수와 함께 사용할 수 있습니다.
확장에 대한 변경 내용을 제공하는 다양한 방법을 이해하려면 cmdlet에 대한 참조 문서를 참조하세요.
확장 업그레이드
지원되는 VM 확장의 새 버전이 릴리스되면 해당 최신 릴리스로 업그레이드할 수 있습니다. VM 확장을 업그레이드하려면 Update-AzConnectedExtension을 -MachineName
, -ResourceGroupName
및 -ExtensionTarget
매개 변수와 함께 사용합니다.
-ExtensionTarget
매개 변수의 경우 확장과 사용 가능한 최신 버전을 지정해야 합니다. 확장 기능에 사용할 수 있는 최신 버전을 확인하려면 Azure Portal에서 선택한 Arc 지원 서버의 확장 기능 페이지를 방문하거나 Get-AzVMExtensionImage를 실행합니다. 게시자 및 형식(마침표로 구분)과 각 확장의 대상 버전으로 정의되어 쉼표로 구분된 확장 목록을 제공하여 단일 업그레이드 요청에 여러 확장을 지정할 수 있습니다.
최신 버전을 사용할 수 있는 Windows용 Log Analytics 에이전트 확장을 업그레이드하려면 다음 명령을 실행합니다.
Update-AzConnectedExtension -MachineName "myMachineName" -ResourceGroupName "myResourceGroup" -ExtensionTarget '{\"Microsoft.EnterpriseCloud.Monitoring.MicrosoftMonitoringAgent\":{\"targetVersion\":\"1.0.18053.0\"}}'
Get-AzConnectedMachineExtension 명령을 실행하여 설치된 VM 확장의 버전을 언제든지 검토할 수 있습니다. TypeHandlerVersion
속성 값은 확장의 버전을 나타냅니다.
확장 제거
Azure Arc 지원 서버에서 설치된 VM 확장을 제거하려면 Remove-AzConnectedMachineExtension을 -Name
, -MachineName
및 -ResourceGroupName
매개 변수와 함께 사용합니다.
예를 들어, Linux용 Log Analytics VM 확장을 제거하려면 다음 명령을 실행합니다.
Remove-AzConnectedMachineExtension -MachineName myMachineName -ResourceGroupName myResourceGroup -Name OmsAgentforLinux
다음 단계
Azure Portal에서 Azure CLI를 사용하거나 Azure Resource Manager 템플릿을 사용하여 VM 확장을 배포, 관리 및 제거할 수 있습니다.
문제 해결 정보는 VM 확장 문제 해결 가이드에서 찾을 수 있습니다.