Problembehandlung beim EC2Launch-v2-Agent
In diesem Abschnitt werden allgemeine Problembehandlungsszenarien für EC2Launch v2, Informationen zum Anzeigen von Windows-Ereignisprotokollen sowie die Konsolenprotokollausgabe und -meldungen aufgeführt.
Themen zur Fehlerbehebung
Allgemeine Problembehandlungsszenarien
In diesem Abschnitt werden allgemeine Problembehandlungsszenarien und Lösungsschritte aufgeführt.
Szenarien
Der Service kann das Hintergrundbild nicht festlegen
Auflösung
-
Überprüfen Sie, ob
%AppData%\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\setwallpaper.lnkvorhanden ist. -
Überprüfen Sie
%ProgramData%\Amazon\EC2Launch\log\agent.logdarauf, ob Fehler aufgetreten sind.
Service kann Benutzerdaten nicht ausführen
Mögliche Ursache: Der Service ist möglicherweise fehlgeschlagen, bevor Benutzerdaten ausgeführt werden konnten.
Auflösung
-
Überprüfen Sie
%ProgramData%\Amazon\EC2Launch\state\previous-state.json. -
Sehen Sie nach, ob
boot,network,preReadyundpostReadyLocalDatawurden alle als erfolgreich markiert wurden. -
Wenn eine der Phasen fehlgeschlagen ist, überprüfen Sie
%ProgramData%\Amazon\EC2Launch\log\agent.logauf bestimmte Fehler.
Der Service führt eine Aufgabe nur einmal aus
Auflösung
-
Überprüfen Sie die Häufigkeit der Aufgabe.
-
Wenn der Service bereits nach Sysprep ausgeführt wurde und die Aufgabenhäufigkeit auf
oncefestgelegt ist, wird die Aufgabe nicht erneut ausgeführt. -
Legen Sie die Häufigkeit der Aufgabe auf
alwaysfest, wenn die Aufgabe bei jeder Ausführung von EC2Launch v2 ausgeführt werden soll.
Service kann eine Aufgabe nicht ausführen
Auflösung
-
Überprüfen Sie die neuesten Einträge in
%ProgramData%\Amazon\EC2Launch\log\agent.log. -
Wenn keine Fehler aufgetreten sind, versuchen Sie, den Service manuell von
"%ProgramFiles%\Amazon\EC2Launch\EC2Launch.exe" runauszuführen, um festzustellen, ob die Aufgaben ausgeführt werden.
Der Service führt Benutzerdaten mehr als einmal aus
Auflösung
Benutzerdaten werden von EC2Launch v1 und EC2Launch v2 unterschiedlich behandelt. EC2Launch v1 führt Benutzerdaten als geplante Aufgabe auf der Instance aus, wenn persist auf true gesetzt ist. Wenn persist auf false festgelegt ist, wird die Aufgabe nicht geplant, selbst wenn sie mit einem Neustart beendet wird oder während der Ausführung unterbrochen wird.
EC2Launch v2 führt Benutzerdaten als Agentenaufgabe aus und verfolgt deren Ausführungsstatus. Wenn Benutzerdaten einen Neustart des Computers ausstellen oder Benutzerdaten während der Ausführung unterbrochen wurden, bleibt der Ausführungsstatus als pending bestehen und die Benutzerdaten werden beim nächsten Instance-Start erneut ausgeführt. Wenn Sie verhindern möchten, dass das Benutzerdatenskript mehr als einmal ausgeführt wird, machen Sie das Skript idempotent.
Das folgende Beispiel für ein idempotentes Skript legt den Computer-Namen fest und schließt sich einer Domain an.
<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>
Geplante Aufgaben von EC2Launch-v1 werden nach der Migration zu EC2Launch v2 nicht ausgeführt
Auflösung
Das Migrationstool erkennt keine geplanten Aufgaben, die mit EC2Launch-v1-Skripten verknüpft sind. Daher richtet es diese Aufgaben in EC2Launch v2 nicht automatisch ein. Um diese Aufgaben zu konfigurieren, bearbeiten Sie die agent-config.yml-Datei oder verwenden Sie das EC2Launch v2-Einstellungsdialogfeld. Wenn eine Instance beispielsweise eine geplante Aufgabe umfasst, die InitializeDisks.ps1 ausführt, müssen Sie nach dem Ausführen des Migrationstools die Volumes angeben, die Sie im Einstellungsdialogfeld von EC2Launch v2 initialisieren möchten. Siehe Schritt 6 des Verfahrens zu Ändern der Einstellungen mithilfe des Dialogfelds für EC2Launch v2-Einstellungen.
Der Service initialisiert ein EBS-Volume, das nicht leer ist
Auflösung
Bevor ein Volume initialisiert wird, versucht EC2Launch v2 zu erkennen, ob es leer ist. Wenn ein Volume nicht leer ist, überspringt es die Initialisierung. Alle Volumes, die als nicht leer erkannt werden, werden nicht initialisiert. Ein Volume gilt als leer, wenn die ersten 4 KiB eines Volumes leer sind oder wenn ein Volume kein Windows-erkennbares Laufwerkslayout
setWallpaperDie Aufgabe ist nicht aktiviert, aber das Hintergrundbild wird beim Neustart zurückgesetzt
Die Aufgabe setWallpaper erstellt die Verknüpfungsdatei setwallpaper.lnk im Startup-Ordner jedes vorhandenen Benutzers. Diese Verknüpfungsdatei wird ausgeführt, wenn sich der Benutzer nach dem Start der Instance zum ersten Mal anmeldet. Hiermit wird die Instance mit einem benutzerdefinierten Hintergrundbild eingerichtet, auf dem die Instance-Attribute zu sehen sind. Durch das Entfernen der Aufgabe setWallpaper wird diese Verknüpfungsdatei nicht gelöscht. Sie müssen die Datei manuell oder mithilfe eines Skripts löschen.
Der Verknüpfungspfad lautet:
$env:SystemDrive/Users/<user>/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup/setwallpaper.lnk
Auflösung
Löschen Sie die Datei manuell oder mithilfe eines Skripts.
PowerShell-Beispielskript zum Löschen der Verknüpfungsdatei
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 } } }
Der Dienst hängt im laufenden Status fest
Beschreibung
EC2Launch v2 ist blockiert, mit Protokollmeldungen (agent.log) ähnlich der folgenden:
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.
Mögliche Ursache
SAC ist aktiviert und verwendet die serielle Schnittstelle. Weitere Informationen finden Sie unter SAC zur Fehlerbehhebung von Windows-Instances verwenden.
Auflösung
Versuchen Sie, das Problem wie folgt zu beheben:
-
Deaktivieren Sie den Dienst, der den seriellen Port verwendet.
-
Wenn Sie möchten, dass der Dienst weiterhin den seriellen Port verwendet, schreiben Sie benutzerdefinierte Skripte, um Launch-Agent-Aufgaben auszuführen, und rufen Sie diese als geplante Aufgaben auf.
Ungültige agent-config.yml verhindert das Öffnen des Dialogfelds für EC2Launch-v2-Einstellungen
Beschreibung
Die Einstellungen für EC2Launch v2 versuchen, dieselbe agent-config.yml-Datei zu analysieren, bevor sie das Dialogfeld öffnen. Wenn die YAML-Konfigurationsdatei nicht dem unterstützten Schema folgt, zeigt das Dialogfeld den folgenden Fehler an:
Unable to parse configuration file agent-config.yml. Review configuration file. Exiting application.
Auflösung
-
Stellen Sie sicher, dass die Konfigurationsdatei dem unterstützten Schema entspricht.
-
Wenn Sie von vorne anfangen möchten, kopieren Sie die Standardkonfigurationsdatei in
agent-config.yml. Sie können das Beispielagent-config.yml im Abschnitt „Aufgabenkonfiguration“ verwenden. -
Sie können auch von vorne beginnen, indem Sie
agent-config.ymllöschen. Die Einstellungen für EC2Launch v2 generieren eine leere Konfigurationsdatei.
task:executeScript should be unique and only invoked
once
Beschreibung
Eine Aufgabe nicht in derselben Phase wiederholt werden kann.
Auflösung
Einige Aufgaben müssen als Array eingegeben werden, z. B. executeScript und executeProgram. Ein Beispiel für das Schreiben des Skripts als Array finden Sie unter executeScript.
Windows-Ereignisprotokolle
EC2Launch v2 veröffentlicht Windows-Ereignisprotokolle für wichtige Ereignisse, z. B. Servicestart, Windows ist bereit und Erfolg und Misserfolg von Aufgaben. Ereignis-IDs identifizieren eindeutig ein bestimmtes Ereignis. Jedes Ereignis enthält Informationen zu Phase, Aufgabe und Ebene sowie eine Beschreibung. Sie können mithilfe der Ereignis-ID Auslöser für bestimmte Ereignisse festlegen.
Event-IDs liefern Informationen über ein Ereignis und identifizieren einige Ereignisse eindeutig. Die am wenigsten signifikante Ziffer einer Ereignis-ID gibt den Schweregrad eines Ereignisses an.
| Veranstaltung | Am wenigsten bedeutende Ziffer |
|---|---|
Success
|
. . .0 |
Informational |
. . .1 |
Warning |
. . .2 |
Error |
. . .3 |
Dienstbezogene Ereignisse, die beim Start oder Ende des Dienstes generiert werden, enthalten eine einstellige Ereigniskennung.
| Veranstaltung | Einstellige ID |
|---|---|
Success
|
0 |
Informational |
1 |
Warning |
2 |
Error |
3 |
Die Ereignisnachrichten für EC2LaunchService.exe-Ereignisse beginnen mit Service:. Die Ereignisnachrichten für EC2Launch.exe-Ereignisse beginnen nicht mit Service:.
Vierstellige Ereignis-IDs enthalten Informationen über die Phase, Aufgabe und den Schweregrad eines Ereignisses.
Format der Ereignis-ID
Die folgende Tabelle zeigt das Format einer EC2Launch v2-Ereignis-ID.
| 3 | 2 1 | 0 |
|---|---|---|
|
S |
T |
L |
Die Buchstaben und Zahlen in der Tabelle stehen für die folgenden Ereignistypen und Definitionen.
| Ereignistyp | Definition |
|---|---|
|
S (Stage) |
0 - Nachricht auf Service-Ebene 1 - Boot 2 - Netzwerk 3 - PreReady 5 - Windows ist bereit 6 - PostReady 7 - Benutzerdaten |
|
T (Aufgabe) |
Die Aufgaben, die durch die entsprechenden beiden Werte dargestellt werden, sind für jede Phase unterschiedlich. Informationen zur vollständigen Liste der Ereignisse finden Sie unter Windows-Ereignisprotokollschema. |
| L (Ebene des Ereignisses) |
0 - Erfolg 1 - Informativ 2 - Warnung 3 - Fehler |
Beispiele für Ereignis-IDs
Nachfolgend finden Sie Beispiele für Ereignis-IDs.
-
5000- Windows ist einsatzbereit -
3010- Aktivieren der Windows-Aufgabe in der PreReady-Phase war erfolgreich -
6013- Beim Festlegen der Hintergrundbildaufgabe in PostReady Local Data Stadium ist ein Fehler aufgetreten
Windows-Ereignisprotokollschema
| MessageID/Ereignis-ID | Ereignismeldung |
|---|---|
. . .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 |
EC2Launch v2-Konsolenprotokollausgabe
Dieser Abschnitt enthält eine Beispielausgabe des Konsolenprotokolls für EC2Launch v2 und führt alle Fehlermeldungen des EC2Launch v2-Konsolenprotokolls auf, mit denen Sie Probleme beheben können. Weitere Informationen über die Ausgabe der Instance-Konsole und wie Sie darauf zugreifen können, finden Sie unter Instance-Konsolenausgabe.
EC2Launch v2-Konsolenprotokollausgabe
Im Folgenden finden Sie eine Beispiel-Konsolenprotokollausgabe für EC2Launch v2. Einige Werte in diesem Beispiel werden durch repräsentativen Text ersetzt, der von geschweiften Klammern umgeben ist.
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", ...}
EC2Launch v2-Konsolenprotokollmeldungen
Im Folgenden finden Sie eine Liste aller EC2Launch v2-Konsolenprotokollmeldungen.
Error EC2Launch service is stopping. {error message}
Einzelheiten zum Fehler beim Beenden des Services:
-
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>
Die folgende Nachricht ist ein Informationsblock, der AMI-Details enthält:
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}
Telemetriemeldungen von EC2Launch v2 enthalten die Eigenschaftswerte der Starttelemetrie. Ab Version 2.2.63 werden die Telemetriedaten des EC2-Agenten als JSON-Objekt formatiert.
EC2LaunchTelemetry: {telemetry property}
{"type":"EC2AgentTelemetry","agentId":"WindowsLaunchAgentV2" ... }