Azure PowerShell을 통해 Azure VM 확장 사용

이 문서에서는 Azure PowerShell을 사용하여 Azure Arc 지원 서버에서 지원하는 Azure VM 확장을 Linux 또는 Windows 하이브리드 머신에 배포, 업데이트 및 제거하는 방법을 보여 줍니다.

참고 항목

Azure Arc 지원 서버는 Azure 가상 머신에 대한 VM 확장의 배포와 관리를 지원하지 않습니다. Azure VM에 관해서는 다음 VM 확장 개요 문서를 참조하세요.

필수 조건

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

PowerShell 클라이언트는 종종 settings.json의 "\를 추가하는데 이렇게 하면 다음 오류로 인해 akvvm_service가 실패합니다. [CertificateManagementConfiguration] Failed to parse the configuration settings with:not an object.

다음 예제에서는 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

다음 단계