Omówienie agenta maszyny wirtualnej platformy Azure

Agent maszyny wirtualnej platformy Microsoft Azure to lekki, bezpieczny proces zarządzający interakcjami między maszyną wirtualną a kontrolerem sieci szkieletowej Azure. Agent maszyny wirtualnej odgrywa podstawową rolę w procesie włączania i wykonywania rozszerzeń maszyny wirtualnej platformy Azure. Rozszerzenia maszyn wirtualnych umożliwiają konfigurację po wdrożeniu maszyny wirtualnej, taką jak instalowanie i konfigurowanie oprogramowania. Rozszerzenia maszyn wirtualnych umożliwiają również funkcje odzyskiwania, takie jak resetowanie hasła administracyjnego maszyny wirtualnej. Bez agenta maszyny wirtualnej platformy Azure nie można uruchamiać rozszerzeń maszyn wirtualnych.

W tym artykule szczegółowo przedstawiono instalację i wykrywanie agenta maszyny wirtualnej platformy Azure.

Instalowanie agenta maszyny wirtualnej

obraz Azure Marketplace

Agent maszyny wirtualnej platformy Azure jest instalowany domyślnie na dowolnej maszynie wirtualnej z systemem Windows wdrożonej z obrazu Azure Marketplace. Podczas wdrażania obrazu Azure Marketplace z portalu, programu PowerShell, interfejsu wiersza polecenia lub szablonu usługi Azure Resource Manager jest również instalowany agent maszyny wirtualnej platformy Azure.

Pakiet agenta gościa systemu Windows jest podzielony na dwie części:

  • Agent aprowizacji (PA)
  • Agent gościa systemu Windows (WinGA)

Aby uruchomić maszynę wirtualną, na maszynie wirtualnej musi być zainstalowany pa, jednak nie trzeba instalować usługi WinGA. W czasie wdrażania maszyny wirtualnej można wybrać opcję nie instalowania winGA. W poniższym przykładzie pokazano, jak wybrać opcję provisionVmAgent z szablonem usługi 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"
				}
			}
		}
	}]
}

Jeśli nie masz zainstalowanych agentów, nie możesz użyć niektórych usług platformy Azure, takich jak Azure Backup lub Azure Security. Te usługi wymagają zainstalowania rozszerzenia. Jeśli maszyna wirtualna została wdrożona bez usługi WinGA, możesz zainstalować najnowszą wersję agenta później.

Instalacja ręczna

Agenta maszyny wirtualnej z systemem Windows można zainstalować ręcznie przy użyciu pakietu Instalatora Windows. Instalacja ręczna może być konieczna podczas tworzenia niestandardowego obrazu maszyny wirtualnej wdrożonego na platformie Azure. Aby ręcznie zainstalować agenta maszyny wirtualnej z systemem Windows, pobierz instalatora agenta maszyny wirtualnej i wybierz najnowszą wersję. Możesz również wyszukać określoną wersję w wersjach agenta IaaS maszyny wirtualnej IaaS systemu Windows w usłudze GitHub. Agent maszyny wirtualnej jest obsługiwany w systemie Windows Server 2008 (wersja 64-bitowa) i nowszych wersjach.

Uwaga

Należy zaktualizować opcję AllowExtensionOperations po ręcznym zainstalowaniu agenta VMAgent na maszynie wirtualnej wdrożonej z obrazu bez włączenia elementu ProvisionVMAgent.

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

Wymagania wstępne

  • Agent maszyny wirtualnej z systemem Windows wymaga do uruchomienia co najmniej systemu Windows Server 2008 z dodatkiem SP2 (wersja 64-bitowa) z .NET Framework 4.0. Zobacz Minimalna obsługa wersji dla agentów maszyn wirtualnych na platformie Azure.

  • Upewnij się, że maszyna wirtualna ma dostęp do adresu IP 168.63.129.16. Aby uzyskać więcej informacji, zobacz Co to jest adres IP 168.63.129.16.

  • Upewnij się, że protokół DHCP jest włączony na maszynie wirtualnej gościa. Jest to wymagane do uzyskania adresu hosta lub sieci szkieletowej z serwera DHCP, aby agent i rozszerzenia maszyny wirtualnej IaaS działały. Jeśli potrzebujesz statycznego prywatnego adresu IP, skonfiguruj go za pośrednictwem Azure Portal lub programu PowerShell i upewnij się, że opcja DHCP wewnątrz maszyny wirtualnej jest włączona. Dowiedz się więcej o konfigurowaniu statycznego adresu IP przy użyciu programu PowerShell.

  • Uruchomienie agenta maszyny wirtualnej na maszynie wirtualnej "Wirtualizacja zagnieżdżona" może prowadzić do nieprzewidywalnego zachowania, dlatego nie jest obsługiwane w tym scenariuszu tworzenia i testowania.

Wykrywanie agenta maszyny wirtualnej

PowerShell

Moduł Azure Resource Manager PowerShell może służyć do pobierania informacji o maszynach wirtualnych platformy Azure. Aby wyświetlić informacje o maszynie wirtualnej, takie jak stan aprowizacji agenta maszyny wirtualnej platformy Azure, użyj polecenia Get-AzVM:

Get-AzVM

Następujące skrócone przykładowe dane wyjściowe pokazują właściwość ProvisionVMAgent zagnieżdżona wewnątrz OSProfileelementu . Tej właściwości można użyć do określenia, czy agent maszyny wirtualnej został wdrożony na maszynie wirtualnej:

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

Poniższy skrypt może służyć do zwracania zwięzłej listy nazw maszyn wirtualnych (z systemem operacyjnym Windows) i stanu agenta maszyny wirtualnej:

$vms = Get-AzVM

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

Poniższy skrypt może służyć do zwracania zwięzłej listy nazw maszyn wirtualnych (z systemem operacyjnym Linux) i stanu agenta maszyny wirtualnej:

$vms = Get-AzVM

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

Wykrywanie ręczne

Po zalogowaniu się do maszyny wirtualnej z systemem Windows menedżer zadań może służyć do badania uruchomionych procesów. Aby sprawdzić agenta maszyny wirtualnej platformy Azure, otwórz Menedżera zadań, kliknij kartę Szczegóły i wyszukaj nazwę procesu WindowsAzureGuestAgent.exe. Obecność tego procesu wskazuje, że agent maszyny wirtualnej jest zainstalowany.

Uaktualnianie agenta maszyny wirtualnej

Agent maszyny wirtualnej platformy Azure dla systemu Windows jest automatycznie uaktualniany na obrazach wdrożonych z Azure Marketplace. Nowe wersje są przechowywane w usłudze Azure Storage, dlatego upewnij się, że nie masz zapór blokujących dostęp. Po wdrożeniu nowych maszyn wirtualnych na platformie Azure otrzymują najnowszego agenta maszyny wirtualnej w czasie aprowizacji maszyny wirtualnej. Jeśli agent został zainstalowany ręcznie lub wdrażasz niestandardowe obrazy maszyn wirtualnych, musisz ręcznie zaktualizować, aby uwzględnić nowego agenta maszyny wirtualnej w czasie tworzenia obrazu.

Automatyczne zbieranie dzienników agenta gościa systemu Windows

Agent gościa systemu Windows ma funkcję automatycznego zbierania niektórych dzienników. Ta funkcja jest kontrolowana przez proces CollectGuestLogs.exe. Istnieje zarówno dla Cloud Services PaaS, jak i IaaS Virtual Machines, a jej celem jest szybkie & automatyczne zbieranie niektórych dzienników diagnostycznych z maszyny wirtualnej — dzięki czemu można ich używać do analizy w trybie offline. Zebrane dzienniki to dzienniki zdarzeń, dzienniki systemu operacyjnego, dzienniki platformy Azure i niektóre klucze rejestru. Tworzy plik ZIP, który jest przesyłany do hosta maszyny wirtualnej. Ten plik ZIP można następnie przyjrzeć się zespołom inżynierów i specjalistom ds. pomocy technicznej w celu zbadania problemów na żądanie klienta, który jest właścicielem maszyny wirtualnej.

Agent gościa i certyfikaty OSProfile

Agent maszyny wirtualnej platformy Azure jest odpowiedzialny za instalowanie certyfikatów, do których odwołuje się OSProfile zestaw skalowania maszyn wirtualnych lub maszyn wirtualnych. Jeśli te certyfikaty zostaną ręcznie usunięte z konsoli MMC certyfikatów wewnątrz maszyny wirtualnej gościa, oczekuje się, że agent gościa doda je z powrotem. Aby trwale usunąć certyfikat, należy usunąć go z OSProfileprogramu , a następnie usunąć go z systemu operacyjnego gościa.

W przypadku maszyny wirtualnej użyj polecenia Remove-AzVMSecret , aby usunąć certyfikaty z klasy OSProfile.

Aby uzyskać więcej informacji na temat certyfikatów zestawu skalowania maszyn wirtualnych, zobacz Virtual Machine Scale Sets — Jak mogę usunąć przestarzałe certyfikaty?

Następne kroki

Aby uzyskać więcej informacji na temat rozszerzeń maszyn wirtualnych, zobacz Omówienie rozszerzeń i funkcji maszyn wirtualnych platformy Azure.