Risoluzione dei problemi relativi all'agente EC2Launch v2 - Amazon Elastic Compute Cloud

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Risoluzione dei problemi relativi all'agente EC2Launch v2

In questa sezione vengono illustrati scenari di risoluzione dei problemi comuni di EC2Launch v2 e informazioni sulla visualizzazione dei log di eventi di Windows, nonché l'output e i messaggi dei log della console.

Scenari per la risoluzione dei problemi comuni

In questa sezione vengono illustrati gli scenari di risoluzione dei problemi comuni e le fasi per la risoluzione dei problemi.

Il servizio non riesce a impostare lo sfondo

Risoluzione
  1. Controlla che %AppData%\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\setwallpaper.lnk esista.

  2. Controlla %ProgramData%\Amazon\EC2Launch\log\agent.log per vedere se si sono verificati errori.

Il servizio non riesce a eseguire i dati utente

Possibile causa: il servizio potrebbe aver restituito l'esito negativo prima dell'esecuzione dei dati utente.

Risoluzione
  1. Controlla %ProgramData%\Amazon\EC2Launch\state\previous-state.json.

  2. Vedi se boot, network, preReady e postReadyLocalData sono stati tutti contrassegnati come completati.

  3. Se una delle fasi non è riuscita, controlla %ProgramData%\Amazon\EC2Launch\log\agent.log per vedere se si sono verificati errori specifici.

Il servizio esegue un'attività una sola volta

Risoluzione
  1. Controlla la frequenza dell'attività.

  2. Se il servizio è già stato eseguito dopo Sysprep e la frequenza dell'attività è impostata su once, l'attività non verrà eseguita nuovamente.

  3. Imposta la frequenza dell'attività su always se vuoi che venga eseguita ogni volta che viene eseguito EC2Launch v2.

Il servizio non riesce a eseguire un'attività

Risoluzione
  1. Controlla le ultime voci in %ProgramData%\Amazon\EC2Launch\log\agent.log.

  2. Se non si sono verificati errori, prova a eseguire manualmente il servizio da "%ProgramFiles%\Amazon\EC2Launch\EC2Launch.exe" run per verificare se le attività hanno esito positivo.

Il servizio esegue i dati utente più di una volta

Risoluzione

I dati utente vengono gestiti in modo diverso tra EC2Launch v1 e EC2Launch v2. EC2Launch v1 esegue i dati utente come attività pianificata sull'istanza quando persist è impostato su true. Se persist è impostato su false, l'attività non viene pianificata anche quando esce con un riavvio o viene interrotta durante l'esecuzione.

EC2Launch v2 esegue i dati utente come attività agente e tiene traccia del relativo stato di esecuzione. Se i dati utente emettono un riavvio del computer o sono stati interrotti durante l'esecuzione, lo stato di esecuzione persiste come pending e i dati utente verranno eseguiti nuovamente al successivo avvio dell'istanza. Se si desidera impedire l'esecuzione dello script dei dati utente più di una volta, rendere lo script idempotente.

Lo script idempotente di esempio seguente imposta il nome del computer e si unisce a un dominio.

<powershell> $name = $env:computername if ($name -ne $desiredName) { Rename-Computer -NewName $desiredName } $domain = Get-ADDomain if ($domain -ne $desiredDomain) { Add-Computer -DomainName $desiredDomain } $telnet = Get-WindowsFeature -Name Telnet-Client if (-not $telnet.Installed) { Install-WindowsFeature -Name "Telnet-Client" } </powershell> <persist>false</persist>

Le attività pianificate da EC2Launch v1 non vengono eseguite dopo la migrazione a EC2Launch v2

Risoluzione

Lo strumento di migrazione non rileva alcuna attività pianificata collegata agli script EC2Launch v1, pertanto non imposta automaticamente tali attività in EC2Launch v2. Per configurare queste attività, modificare il file agent-config.yml o utilizzare la finestra di dialogo Impostazioni di EC2Launch v2. Ad esempio, se un'istanza dispone di un'attività pianificata che esegue InitializeDisks.ps1, dopo avere eseguito lo strumento di migrazione, è necessario specificare i volumi che si desidera inizializzare nella finestra di dialogo delle impostazioni di EC2Launch v2. Vedere il passaggio 6 della procedura per Modifica delle impostazioni utilizzando la finestra di dialogo delle impostazioni di EC2Launch v2.

Il servizio inizializza un volume EBS che non è vuoto

Risoluzione

Prima di inizializzare un volume, EC2Launch v2 tenta di rilevare se è vuoto. Se un volume non è vuoto, ignora l'inizializzazione. I volumi rilevati come non vuoti non vengono inizializzati. Un volume è considerato vuoto se i primi 4 KiB del volume sono vuoti o se non dispone di un layout di unità riconoscibile da Windows. Un volume che è stato inizializzato e formattato su un sistema Linux non dispone di un layout di unità riconoscibile da Windows, ad esempio MBR o GPT. Pertanto, sarà considerato vuoto e inizializzato. Se si desidera conservare questi dati, non fare affidamento sul rilevamento di unità EC2Launch v2 vuote. Specificare invece i volumi che si desidera inizializzare nella finestra di dialogo delle impostazioni di EC2Launch v2 (vedere il passaggio 6) o in agent-config.yml.

setWallpaperIl processo non è abilitato ma lo sfondo viene ripristinato al riavvio

Il processo setWallpaper crea il file di scorciatoia setwallpaper.lnk nella cartella di startup di ciascun utente esistente. Questo file di scorciatoia viene eseguito quando l'utente accede per la prima volta dopo l'avvio dell'istanza. Imposta l'istanza con uno sfondo personalizzato che visualizzi gli attributi dell'istanza. La rimozione del processo setWallpaper non elimina questo file di scorciatoia. È necessario eliminare questo file manualmente o con uno script.

Il percorso del file di scorciatoia è:

$env:SystemDrive/Users/<user>/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup/setwallpaper.lnk

Risoluzione

Eliminare questo file manualmente o con uno script.

Esempio di script PowerShell per eliminare il file di scorciatoia

foreach ($userDir in (Get-ChildItem "C:\Users" -Force -Directory).FullName) { $startupPath = Join-Path $userDir -ChildPath "AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup" if (Test-Path $startupPath) { $wallpaperSetupPath = Join-Path $startupPath -ChildPath "setwallpaper.lnk" if (Test-Path $wallpaperSetupPath) { Remove-Item $wallpaperSetupPath -Force -Confirm:$false } } }

Servizio bloccato nello stato di esecuzione

Descrizione

EC2Launch v2 è bloccato con i messaggi di log (agent.log) simili ai seguenti:

2022-02-24 08:08:58 Info: ***************************************************************************************** 2022-02-24 08:08:58 Info: EC2Launch Service starting 2022-02-24 08:08:58 Info: Windows event custom log exists: Amazon EC2Launch 2022-02-24 08:08:58 Info: ACPI SPCR table not supported. Bailing Out 2022-02-24 08:08:58 Info: Serial port is in use. Waiting for Serial Port... 2022-02-24 08:09:00 Info: ACPI SPCR table not supported. Use default console port. 2022-02-24 08:09:02 Info: ACPI SPCR table not supported. Use default console port. 2022-02-24 08:09:04 Info: ACPI SPCR table not supported. Use default console port. 2022-02-24 08:09:06 Info: ACPI SPCR table not supported. Use default console port.
Possibile causa

SAC è abilitato e utilizza la porta seriale. Per ulteriori informazioni, consulta Utilizzo di SAC per risolvere i problemi relativi all'istanza di Windows.

Risoluzione

Per risolvere il problema, prova a eseguire i seguenti passaggi:

  • Disabilita il servizio che utilizza la porta seriale.

  • Se desideri che il servizio continui a utilizzare la porta seriale, scrivi degli script personalizzati per eseguire le attività dell'agente di avvio e richiamarle come attività pianificate.

Un agent-config.yml non valido impedisce l'apertura della finestra di dialogo delle impostazioni di EC2Launch v2

Descrizione

Le impostazioni di EC2Launch v2 tentano di analizzare il file agent-config.yml prima dell'apertura della finestra di dialogo. Se il file di configurazione YAML non segue lo schema supportato, nella finestra di dialogo viene visualizzato il seguente errore:

Unable to parse configuration file agent-config.yml. Review configuration file. Exiting application.

Risoluzione
  1. Verifica che il file di configurazione segua lo schema supportato.

  2. Se vuoi iniziare da zero, copia il file di configurazione predefinito in agent-config.yml. Puoi utilizzare il plugin di agent-config.yml di esempio fornito nella sezione Task Configuration (Configurazione attività).

  3. Puoi anche ricominciare da capo eliminando agent-config.yml. Le impostazioni di EC2Launch v2 generano un file di configurazione vuoto.

task:executeScript should be unique and only invoked once

Descrizione

Un'attività non può essere ripetuta nella stessa fase.

Risoluzione

Alcune attività devono essere inserite come array, ad esempio executeScript e executeProgram. Per un esempio di come scrivere lo script in forma di array, consulta l'argomento executeScript.

Log di eventi di Windows

EC2Launch v2 pubblica i log di eventi di Windows per gli eventi importanti, ad esempio per l'avvio del servizio, se Windows è pronto o sull'esito positivo o il fallimento delle attività. Gli identificatori di evento identificano in modo univoco un particolare evento. Ogni evento contiene informazioni su fasi, attività e livelli e una descrizione. Puoi impostare i trigger per eventi specifici utilizzando l'identificatore di evento.

Gli ID evento forniscono informazioni su un evento e identificano in modo univoco alcuni eventi. La cifra meno significativa di un ID evento indica la gravità di un evento.

Evento Cifra meno significativa
Success . . .0
Informational . . .1
Warning . . .2
Error . . .3

Gli eventi relativi al servizio generati all'avvio o all'arresto del servizio includono un identificatore di evento a una cifra.

Evento Identificatore a una cifra
Success 0
Informational 1
Warning 2
Error 3

I messaggi di evento per gli eventi EC2LaunchService.exe iniziano con Service:. I messaggi di evento per gli eventi EC2Launch.exe non iniziano con Service:.

Gli ID evento a quattro cifre includono informazioni su stadio, attività e gravità di un evento.

Formato ID evento

Nella tabella seguente viene illustrato il formato di un identificatore di evento EC2Launch v2.

3 2 1 0

S

T

L

Le lettere e i numeri nella tabella rappresentano il tipo di evento e le definizioni seguenti.

Tipo di evento Definizione

S (fase)

0 - Messaggio a livello di servizio

1 - Avvio

2 - Rete

3 - PreReady

5 - Windows è pronto

6 - PostReady

7 - Dati utente

T (attività)

Le attività rappresentate dai due valori corrispondenti sono diverse per ogni fase. Per visualizzare l'elenco completo degli eventi, consulta lo Schema dei log di eventi di Windows.

L (livello di evento)

0 - Operazione completata

1 - Messaggio informativo

2 - Avvertenza

3 - Errore

Esempi di ID evento

Di seguito sono riportati gli ID evento di esempio.

  • 5000 - Windows è pronto per l'uso

  • 3010 - L'attivazione dell'attività Windows nella fase Preready è stata completata

  • 6013 - La fase Imposta l'attività di sfondo in PostReady Local Data ha rilevato un errore

Schema dei log di eventi di Windows

ID messaggio/ID evento Messaggio di evento
. . .0 Success
. . .1 Informational
. . .2 Warning
. . .3 Error
x EC2Launch service-level logs
0 EC2Launch service exited successfully
1 EC2Launch service informational logs
2 EC2Launch service warning logs
3 EC2Launch service error logs
10 Replace state.json with previous-state.json
100 Serial Port
200 Sysprep
300 PrimaryNic
400 Metadata
x000 Stage (1 digit), Task (2 digits), Status (1 digit)
1000 Boot
1010 Boot - extend_root_partition
2000 Network
2010 Network - add_routes
3000 PreReady
3010 PreReady - activate_windows
3020 PreReady - install_egpu_manager
3030 PreReady - set_monitor_on
3040 PreReady - set_hibernation
3050 PreReady - set_admin_account
3060 PreReady - set_dns_suffix
3070 PreReady - set_wallpaper
3080 PreReady - set_update_schedule
3090 PreReady - output_log
3100 PreReady - enable_open_ssh
5000 Windows is Ready to use
6000 PostReadyLocalData
7000 PostReadyUserData
6010/7010 PostReadyLocal/UserData - set_wallpaper
6020/7020 PostReadyLocal/UserData - set_update_schedule
6030/7030 PostReadyLocal/UserData - set_hostname
6040/7040 PostReadyLocal/UserData - execute_program
6050/7050 PostReadyLocal/UserData - execute_script
6060/7060 PostReadyLocal/UserData - manage_package
6070/7070 PostReadyLocal/UserData - initialize_volume
6080/7080 PostReadyLocal/UserData - write_file
6090/7090 PostReadyLocal/UserData - start_ssm
7100 PostReadyUserData - enable_open_ssh
6110/7110 PostReadyLocal/UserData - enable_jumbo_frames

Output del log della console EC2Launch v2

Questa sezione contiene un esempio di output del log della console per EC2Launch v2 ed elenca tutti i messaggi di errore del log della console EC2Launch v2 che consentono di risolvere i problemi. Per ulteriori informazioni sull'output della console di istanza e su come accedervi, consultare Output della console delle istanze.

Output del log della console EC2Launch v2

Di seguito è riportato un esempio di output del log della console per EC2Launch v2. Alcuni valori in questo esempio sono sostituiti con testo rappresentativo circondato da parentesi graffe.

2025/07/22 21:26:53Z: Windows sysprep configuration complete. 2025/07/22 21:26:53Z: Message: Waiting for access to metadata... 2025/07/22 21:26:53Z: Message: Meta-data is now available. 2025/07/22 21:26:53Z: AMI Origin Version: 2024.12.13 2025/07/22 21:26:53Z: AMI Origin Name: Windows_Server-2022-English-Full-Base 2025/07/22 21:26:53Z: OS: Microsoft Windows NT 10.0.20348 2025/07/22 21:26:53Z: OsVersion: 10.0 2025/07/22 21:26:53Z: OsProductName: Windows Server 2022 Datacenter 2025/07/22 21:26:53Z: OsBuildLabEx: 20348.1.amd64fre.fe_release.210507-1500 2025/07/22 21:26:53Z: OsCurrentBuild: 20348 2025/07/22 21:26:53Z: OsReleaseId: 2009 2025/07/22 21:26:53Z: Language: en-US 2025/07/22 21:26:53Z: TimeZone: UTC 2025/07/22 21:26:53Z: Offset: UTC +0000 2025/07/22 21:26:53Z: Launch: EC2 Launch v2.2.63 2025/07/22 21:26:53Z: AMI-ID: ami-1234567890abcdef1 2025/07/22 21:26:53Z: Instance-ID: i-1234567890abcdef0 2025/07/22 21:26:54Z: Instance Type: t3.xlarge 2025/07/22 21:26:54Z: Driver: AWS NVMe Driver v1.6.0.35 2025/07/22 21:26:54Z: SubComponent: 1.6.0.35; EnableSCSIPersistentReservations: 0 2025/07/22 21:26:54Z: Driver: AWS PV Driver Package v8.5.0 2025/07/22 21:26:55Z: Driver: Amazon Elastic Network Adapter v2.8.0.0 2025/07/22 21:26:55Z: HOSTNAME: EC2AMAZ-9FJG5CC 2025/07/22 21:26:55Z: RDPCERTIFICATE-SUBJECTNAME: {certificate subject name} 2025/07/22 21:26:55Z: RDPCERTIFICATE-THUMBPRINT: {thumbprint hash} 2025/07/22 21:26:56Z: SSM: Amazon SSM Agent v3.3.2746.0 2025/07/22 21:26:57Z: User data format: no_user_data 2025/07/22 21:26:57Z: EC2LaunchTelemetry: IsTelemetryEnabled=true 2025/07/22 21:26:57Z: EC2LaunchTelemetry: AgentOsArch=windows_amd64 2025/07/22 21:26:57Z: EC2LaunchTelemetry: IsAgentScheduledPerBoot=true 2025/07/22 21:26:57Z: EC2LaunchTelemetry: AgentCommandErrorCode=1 2025/07/22 21:26:57Z: EC2LaunchTelemetry: AdminPasswordTypeCode=0 2025/07/22 21:26:57Z: EC2LaunchTelemetry: AgentErrorLocation=execute_windows.go:410 2025/07/22 21:26:57Z: EC2LaunchTelemetry: IpConflictDetectionCode=0 2025/07/22 21:26:57Z: Message: Windows is Ready to use {"type":"EC2AgentTelemetry","agentId":"WindowsLaunchAgentV2", ...} {"type":"EC2AgentTelemetry","agentId":"WindowsLaunchAgentV2", ...}

Messaggi di log della console EC2Launch v2

Di seguito è riportato un elenco di tutti i messaggi di log della console EC2Launch v2.

Error EC2Launch service is stopping. {error message}

Dettagli dell’errore di un servizio arrestato:

  • Error setting up EC2Launch agent folders

  • See instance logs for detail

  • Error stopping service

  • Error initializing service

Windows sysprep configuration complete
Invalid administrator username: {invalid username}
Invalid administrator password Username: {username} Password: <Password>{encrypted password}</Password>

Il messaggio seguente è un blocco di informazioni che contiene i dettagli dell’AMI:

AMI Origin Version: {amiVersion} AMI Origin Name: {amiName} Microsoft Windows NT {currentVersion}.{currentBuildNumber} OsVersion: {currentVersion} OsProductName: {productName} OsBuildLabEx: {buildLabEx} OsCurrentBuild: {currentBuild} OsReleaseId: {releaseId} Language: {language} TimeZone: {timeZone} Offset: UTC {offset} Launch agent: EC2Launch {BuildVersion} AMI-ID: {amiId} Instance-ID: {instanceId} Instance Type: {instanceType} HOSTNAME: {computer name} RDPCERTIFICATE-SUBJECTNAME: {certificate subject name} RDPCERTIFICATE-THUMBPRINT: {thumbprint hash} SqlServerBilling: {sql billing} SqlServerInstall: {sql patch leve, edition type} Driver: AWS NVMe Driver {version} Driver: Inbox NVMe Driver {version} Driver: AWS PV Driver Package {version} Microsoft-Hyper-V is installed. Unable to get service status for vmms Microsoft-Hyper-V is {status} SSM: Amazon SSM Agent {version} AWS VSS Version: {version}
Windows sysprep configuration complete. Windows is being configured. 'SysprepState is {state}' Windows is still being configured. 'SysprepState is {state}' Windows is Ready to use Waiting for access to metadata... Meta-data is now available. Metadata is not available for this instance. Timed out waiting for access to metadata. User data format: {format}

I messaggi di telemetria di EC2Launch v2 includono i valori delle proprietà di telemetria di avvio. A partire dalla versione 2.2.63, i dati di telemetria dell’agente EC2 sono formattati come oggetto JSON.

EC2LaunchTelemetry: {telemetry property}
{"type":"EC2AgentTelemetry","agentId":"WindowsLaunchAgentV2" ... }