Обзор агента виртуальной машины Azure

Агент виртуальной машины Microsoft Azure — это защищенный упрощенный процесс, который управляет взаимодействием виртуальной машины с контроллером структуры Azure. Основная роль агента виртуальной машины — это включение и выполнение расширений виртуальной машины Azure. Расширения виртуальной машины позволяют выполнять дополнительные действия по настройке виртуальной машины после развертывания, например устанавливать и настраивать программное обеспечение. Они также предоставляют возможности восстановления, такие как сброс пароля администратора виртуальной машины. Расширения виртуальной машины не могут выполняться без агента виртуальной машины Azure.

В этой статье описаны процессы установки и обнаружения агента виртуальной машины Azure.

"Установить агент виртуальной машины"

Образ из Azure Marketplace

Агент виртуальной машины Azure устанавливается по умолчанию на любой виртуальной машине Windows, развернутой с помощью образа из Azure Marketplace. При развертывании образа из Azure Marketplace с помощью портала, PowerShell, интерфейса командной строки или шаблона Azure Resource Manager также устанавливается агент виртуальной машины.

Пакет гостевого агента Windows состоит из двух частей:

  • агент подготовки (PA);
  • гостевой агент Windows (WinGA).

Для загрузки виртуальной машины на ней должен быть установлен агент подготовки. Устанавливать WinGA не требуется. Во время развертывания виртуальной машины можно выбрать вариант без установки WinGA. В следующем примере показано, как выбрать параметр provisionVmAgent с помощью шаблона Azure Resource Manager.

{
	"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, такие как Azure Backup или Azure Security. Для работы этих служб требуется установить расширение. Если виртуальная машина была развернута без WinGA, установить последнюю версию агента можно позднее.

Установка вручную

Агент виртуальной машины Windows можно установить вручную с помощью пакета установщика Windows. Установка вручную может потребоваться при создании пользовательского образа виртуальной машины, который будет развернут в Azure. Чтобы вручную установить агент виртуальной машины Windows, скачайте установщик агента виртуальной машины, выбрав последний выпуск. Можно также выполнить поиск конкретной версии в выпусках агента виртуальной машины GitHub Windows IaaS. Агент виртуальной машины поддерживается в Windows Server 2008 (64-разрядная версия) и более поздних версиях.

Примечание

Важно обновить параметр AllowExtensionOperations после ручной установки VMAgent на виртуальной машине, которая была развернута из образа без включения ProvisionVMAgent.

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

Предварительные требования

  • Для работы агента виртуальной машины Windows требуется по меньшей мере Windows Server 2008 с пакетом обновления 2 (64-разрядная версия) с платформой .NET Framework 4.0. См. документ Минимальные поддерживаемые версии для агентов виртуальных машин в Azure.

  • Убедитесь, что виртуальная машина имеет доступ к IP-адресу 168.63.129.16. Дополнительные сведения см. в статье Что такое IP-адрес 168.63.129.16?.

  • Убедитесь, что на гостевой виртуальной машине включен протокол DHCP. Это необходимо, чтобы получить адреса узла или структуры из DHCP для работы агента виртуальной машины IaaS и расширений. Если вам нужен статический частный IP-адрес, настройте его с помощью портала Azure или PowerShell и убедитесь, что DHCP для виртуальной машины включен. См. дополнительные сведения о настройке статического IP-адреса с помощью PowerShell.

  • Запуск агента виртуальной машины в виртуальной машине "вложенной виртуализации" может привести к непредсказуемой реакции на событие, поэтому он не поддерживается в этом сценарии разработки и тестирования.

Обнаружение агента виртуальной машины

PowerShell

Для получения сведений о виртуальных машинах Azure можно воспользоваться модулем PowerShell Azure Resource Manager. Чтобы просмотреть сведения о виртуальной машине, например состояние подготовки агента виртуальной машины, выполните командлет Get-AzVM:

Get-AzVM

В следующем сокращенном примере выходных данных показано свойство ProvisionVMAgent, вложенное в OSProfile. С помощью этого свойства можно определить, развернут ли на виртуальной машине агент виртуальной машины.

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

Следующий скрипт можно использовать для получения краткого списка имен виртуальных машин (под управлением ОС Windows) и состояния агента виртуальной машины.

$vms = Get-AzVM

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

Следующий скрипт можно использовать для получения краткого списка имен виртуальных машин (под управлением ОС Linux) и состояния агента виртуальной машины.

$vms = Get-AzVM

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

Обнаружение вручную

После входа в виртуальную машину Windows для проверки запущенных процессов можно использовать диспетчер задач. Чтобы обнаружить агент виртуальной машины Azure, откройте диспетчер задач, перейдите на вкладку Подробности и найдите процесс с именем WindowsAzureGuestAgent.exe. Наличие этого процесса означает, что агент виртуальной машины установлен.

Установка агента виртуальной машины

Агент виртуальной машины Azure для Windows автоматически обновляется на основе образов, развернутых из Azure Marketplace. Новые версии хранятся в Хранилище Azure, поэтому убедитесь, что у вас нет брандмауэров, блокирующих доступ. Так как новые виртуальные машины развертываются в Azure, во время подготовки виртуальной машины на них устанавливается последняя версия агента виртуальной машины. Если агент был установлен вручную или выполняется развертывание пользовательских образов виртуальных машин, потребуется выполнить обновление вручную, чтобы включить новый агент виртуальной машины во время создания образа.

Сбор автоматических журналов гостевого агента Windows

Гостевой агент Windows имеет функцию автоматического сбора некоторых журналов. Этот компонент управляется процессом CollectGuestLogs.exe. Он существует как для облачных служб PaaS, так и для виртуальных машин IaaS, и призван быстро и автоматически забирать некоторые журналы диагностики с виртуальной машины, чтобы их можно было использовать для автономного анализа. Осуществляется сбор следующих журналов: журналы событий, журналы ОС, журналы Azure и некоторые разделы реестра. При этом создается ZIP-файл, который передается на узел виртуальной машины. Затем этот ZIP-файл можно передать на проверку разработчикам и специалистам службы поддержки, которые занимаются расследованием проблем по запросу клиента, владеющего виртуальной машиной.

Гостевой агент и сертификаты OSProfile

Агент виртуальной машины Azure отвечает за установку сертификатов, ссылки на которые есть в OSProfile виртуальной машины или в масштабируемом наборе виртуальных машин. Если вы вручную удалите эти сертификаты из консоли MMC "сертификаты" на гостевой виртуальной машине, гостевой агент добавит их снова. Чтобы безвозвратно удалить сертификат, необходимо удалить его из OSProfile, а затем удалить из операционной системы гостевой виртуальной машины.

Для виртуальной машины используйте Remove-AzVMSecret, чтобы удалить сертификаты из OSProfile.

Дополнительные сведения о сертификатах масштабируемых наборов виртуальных машин см. в документе Масштабируемые наборы виртуальных машин — удаление устаревших сертификатов.

Дальнейшие действия

Дополнительные сведения о расширениях виртуальных машин см. в статье c обзором расширений и компонентов виртуальной машины Azure.