Azure Windows VM 에이전트 개요

Microsoft Azure Windows VM 에이전트는 Azure 패브릭 컨트롤러와 VM(가상 머신)의 상호 작용을 관리하는 안전하고 간단한 프로세스입니다. Azure Windows VM 에이전트는 Azure 가상 머신 확장을 설정하고 실행하는 데 기본적인 역할을 수행합니다. VM 확장을 사용하면 소프트웨어 설치 및 구성과 같은 VM의 배포 후 구성을 설정할 수 있습니다. 또한 VM 확장을 사용하면 VM의 관리 암호를 다시 설정하는 등의 복구 기능도 사용할 수 있습니다. Azure Windows VM 에이전트가 없으면 VM 확장을 실행할 수 없습니다.

이 문서에서는 Azure Windows VM 에이전트를 설치하고 검색하는 방법을 설명합니다.

필수 조건

Azure Windows VM 에이전트는 다음 Windows 운영 체제의 x64 아키텍처를 지원합니다.

  • Windows 10
  • Windows 11
  • Windows Server 2008 SP2
  • Windows Server 2008 R2
  • Windows Server 2012
  • Windows Server 2012 R2
  • Windows Server 2016
  • Windows Server 2016 Core
  • Windows Server 2019
  • Windows Server 2019 Core
  • Windows Server 2022
  • Windows Server 2022 Core

Important

  • Azure Windows VM 에이전트에는 .NET Framework 4.0을 사용하여 실행할 Windows Server 2008 SP2(64 비트) 이상이 필요합니다. Azure의 가상 머신 에이전트에 대한 최소 버전 지원을 참조하세요.

  • VM에 IP 주소 168.63.129.16에 대한 액세스 권한이 있는지 확인합니다. 자세한 내용은 IP 주소 168.63.129.16이란? 페이지를 참조하세요.

  • 게스트 VM 내에 DHCP가 사용하도록 설정되어 있는지 확인합니다. 이는 DHCP에서 호스트 또는 패브릭 주소를 가져와서 Azure Windows VM 에이전트 및 확장이 작동하도록 하기 위해 필요합니다. 고정 개인 IP 주소가 필요한 경우 Azure Portal 또는 PowerShell을 통해 구성해야 하며 VM 내 DHCP 옵션을 사용할 수 있는지 확인합니다. PowerShell을 사용하여 고정 IP 주소를 설정하는 방법에 대해 자세히 알아봅니다.

  • 중첩된 가상화 VM에서 Azure Windows VM 에이전트를 실행하면 예측할 수 없는 동작이 발생할 수 있으므로 해당 개발/테스트 시나리오에서는 지원되지 않습니다.

Azure Windows VM 에이전트 설치

Azure Marketplace 이미지

Azure Windows VM 에이전트는 Azure Marketplace 이미지에서 배포된 모든 Windows VM에 기본적으로 설치됩니다. Azure Portal, PowerShell, Azure CLI 또는 Azure Resource Manager 템플릿에서 Azure Marketplace 이미지를 배포할 경우 Azure Windows VM 에이전트도 설치됩니다.

Azure Windows VM 에이전트 패키지에는 다음 두 부분이 있습니다.

  • Azure Windows PA(프로비전 에이전트)
  • Azure WinGA(Windows 게스트 에이전트)

VM을 부팅하려면 VM에 PA가 설치되어 있어야 합니다. 그러나 WinGA를 설치할 필요는 없습니다. VM 배포 시 WinGA를 설치하지 않도록 선택할 수 있습니다. 다음 예제에서는 Azure Resource Manager 템플릿으로 provisionVmAgent 옵션을 선택하는 방법을 보여 줍니다.

{
	"resources": [{
		"name": ["parameters('virtualMachineName')"],
		"type": "Microsoft.Compute/virtualMachines",
		"apiVersion": "2016-04-30-preview",
		"location": ["parameters('location')"],
		"dependsOn": ["[concat('Microsoft.Network/networkInterfaces/', parameters('networkInterfaceName'))]"],
		"properties": {
			"osProfile": {
				"computerName": ["parameters('virtualMachineName')"],
				"adminUsername": ["parameters('adminUsername')"],
				"adminPassword": ["parameters('adminPassword')"],
				"windowsConfiguration": {
					"provisionVmAgent": "false"
				}
			}
		}
	}]
}

에이전트가 설치되어 있지 않으면 Azure Backup 또는 Azure Security와 같은 일부 Azure 서비스를 사용할 수 없습니다. 이러한 서비스를 사용하려면 확장을 설치해야 합니다. WinGA 없이 VM을 배포한 경우 나중에 최신 버전의 에이전트를 설치할 수 있습니다.

수동 설치

Windows Installer 패키지를 사용하여 Azure Windows VM 에이전트를 수동으로 설치할 수 있습니다. Azure에 배포된 사용자 지정 VM 이미지를 만들 때 수동 설치가 필요할 수 있습니다.

Azure Windows VM 에이전트를 수동으로 설치하려면 설치 프로그램을 다운로드하고 최신 릴리스를 선택합니다. Azure Windows VM 에이전트 릴리스의 GitHub 페이지에서 특정 버전을 검색할 수도 있습니다. Azure Windows VM 에이전트는 Windows Server 2008(64비트) 이상에서 지원됩니다.

참고 항목

ProvisionVMAgent를 사용하지 않고 이미지에서 배포한 VM에 Azure Windows VM 에이전트를 수동으로 설치한 후 AllowExtensionOperations 옵션을 업데이트하는 것이 중요합니다.

$vm.OSProfile.AllowExtensionOperations = $true
$vm | Update-AzVM

Azure Windows VM 에이전트 검색

PowerShell

Azure Resource Manager PowerShell 모듈을 사용하여 Azure VM에 대한 정보를 얻을 수 있습니다. Azure Windows VM 에이전트의 프로비전 상태와 같이 VM에 대한 정보를 보려면 Get-AzVM을 사용합니다.

Get-AzVM

다음의 요약 예 출력에서는 OSProfile 내부에 중첩된 ProvisionVMAgent 속성을 보여줍니다. 이 속성을 사용하여 VM 에이전트가 VM에 배포되었는지 확인할 수 있습니다.

OSProfile                  :
  ComputerName             : myVM
  AdminUsername            : myUserName
  WindowsConfiguration     :
    ProvisionVMAgent       : True
    EnableAutomaticUpdates : True

다음 스크립트를 사용하여 VM 이름(Windows OS 실행)의 간단한 목록과 Azure Windows VM 에이전트의 상태를 반환합니다.

$vms = Get-AzVM

foreach ($vm in $vms) {
    $agent = $vm | Select -ExpandProperty OSProfile | Select -ExpandProperty Windowsconfiguration | Select ProvisionVMAgent
    Write-Host $vm.Name $agent.ProvisionVMAgent
}

다음 스크립트를 사용하여 VM 이름(Linux OS 실행)의 간단한 목록과 Azure Windows VM 에이전트의 상태를 반환합니다.

$vms = Get-AzVM

foreach ($vm in $vms) {
    $agent = $vm | Select -ExpandProperty OSProfile | Select -ExpandProperty Linuxconfiguration | Select ProvisionVMAgent
    Write-Host $vm.Name $agent.ProvisionVMAgent
}

수동 검색

Windows VM에 로그인하면 작업 관리자를 사용하여 실행 중인 프로세스를 검사할 수 있습니다. Azure Windows VM 에이전트를 확인하려면 작업 관리자를 열고 세부 정보 탭을 선택하고 WindowsAzureGuestAgent.exe라는 프로세스 이름을 찾습니다. 이 프로세스가 있으면 VM 에이전트가 설치되어 있는 것입니다.

Azure Windows VM 에이전트 업그레이드

Windows용 Azure Windows VM 에이전트는 Azure Marketplace에서 배포된 이미지에서 자동으로 업그레이드됩니다. 새 버전은 Azure Storage에 저장되므로 액세스를 차단하는 방화벽이 없는지 확인합니다. 새 VM이 Azure에 배포되면 VM 프로비전 시 최신 VM 에이전트가 제공됩니다. 에이전트를 수동으로 설치하거나 사용자 지정 VM 이미지를 배포하는 경우 이미지를 만들 때 새 VM 에이전트를 포함하도록 수동으로 업데이트해야 합니다.

Azure Windows 게스트 에이전트 자동 로그 수집

Azure Windows 게스트 에이전트에는 일부 로그를 자동으로 수집하는 기능이 있습니다. CollectGuestLogs.exe 프로세스는 이 기능을 제어합니다. PaaS(Platform as a Service) 클라우드 서비스 및 IaaS(서비스 제공 인프라) VM 모두에 있습니다. 진단 로그를 VM에서 신속하게 자동으로 수집하여 오프라인 분석에 사용할 수 있도록 하는 것이 목표입니다.

수집된 로그는 이벤트 로그, OS 로그, Azure 로그, 일부 레지스트리 키입니다. 에이전트는 VM의 호스트로 전송되는 ZIP 파일을 생성합니다. 엔지니어링 팀과 지원 전문가는 이 ZIP 파일을 사용하여 VM을 소유한 고객의 요청에 따라 문제를 조사할 수 있습니다.

Azure Windows 게스트 에이전트 및 OSProfile 인증서

Azure Windows VM 에이전트는 VM 또는 가상 머신 확장 집합의 OSProfile 값에 참조된 인증서를 설치합니다. 게스트 VM 내의 MMC(Microsoft Management Console) 인증서 스냅인에서 이러한 인증서를 수동으로 제거하면 Azure Windows 게스트 에이전트가 이 인증서를 다시 추가합니다. 인증서를 영구적으로 제거하려면 OSProfile에서 제거한 다음 게스트 운영 체제 내에서 제거해야 합니다.

가상 머신의 경우 Remove-AzVMSecret을 사용하여 OSProfile에서 인증서를 제거합니다.

가상 머신 확장 집합 인증서에 대한 자세한 내용은 Azure Virtual Machine Scale Sets - 사용되지 않는 인증서를 제거하려면 어떻게 해야 하나요?를 참조하세요.

다음 단계

VM 확장에 대한 자세한 내용은 Azure Virtual Machine 확장 및 기능을 참조하세요.