Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Memecahkan masalah dengan agen v2 EC2Launch
Bagian ini menunjukkan skenario pemecahan masalah umum untuk EC2Launch v2, informasi tentang melihat log peristiwa Windows, dan keluaran log konsol dan pesan.
Topik pemecahan masalah
Skenario pemecahan masalah umum
Bagian ini menunjukkan skenario pemecahan masalah umum dan langkah-langkah penyelesaiannya.
Skenario
- Layanan gagal menyetel wallpaper
- Layanan gagal menjalankan data pengguna
- Layanan menjalankan tugas hanya satu kali
- Layanan gagal menjalankan tugas
- Layanan menjalankan data pengguna lebih dari satu kali
- Tugas terjadwal dari EC2Launch v1 gagal dijalankan setelah migrasi ke v2 EC2Launch
- Layanan menginisialisasi EBS volume yang tidak kosong
- Tugas setWallpaper tidak diaktifkan tetapi wallpaper diatur ulang saat reboot
- Layanan macet dalam status berjalan
- Tidak valid agent-config.yml mencegah membuka kotak dialog pengaturan EC2Launch v2
- task:executeScript should be unique and only invoked once
Layanan gagal menyetel wallpaper
Resolusi
-
Periksa apakah
%AppData%\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\setwallpaper.lnk
ada. -
Periksa
%ProgramData%\Amazon\EC2Launch\log\agent.log
untuk melihat apakah ada kesalahan yang terjadi.
Layanan gagal menjalankan data pengguna
Penyebab potensial: Layanan mungkin gagal sebelum menjalankan data pengguna.
Resolusi
-
Periksa
%ProgramData%\Amazon\EC2Launch\state\previous-state.json
. -
Lihat jika
boot
,network
,preReady
, danpostReadyLocalData
semuanya telah ditandai sebagai sukses. -
Jika salah satu tahapan gagal, periksa
%ProgramData%\Amazon\EC2Launch\log\agent.log
jika ada kesalahan tertentu.
Layanan menjalankan tugas hanya satu kali
Resolusi
-
Periksa frekuensi tugas.
-
Jika layanan sudah berjalan setelah Sysprep, dan frekuensi tugas diatur ke
once
, tugas tidak akan dijalankan lagi. -
Atur frekuensi tugas ke
always
jika Anda ingin menjalankan tugas setiap kali EC2Launch v2 berjalan.
Layanan gagal menjalankan tugas
Resolusi
-
Periksa entri terbaru di
%ProgramData%\Amazon\EC2Launch\log\agent.log
. -
Jika tidak ada kesalahan yang terjadi, coba jalankan layanan secara manual dari
"%ProgramFiles%\Amazon\EC2Launch\EC2Launch.exe" run
untuk melihat apakah tugas berhasil.
Layanan menjalankan data pengguna lebih dari satu kali
Resolusi
Data pengguna ditangani secara berbeda antara EC2Launch v1 dan EC2Launch v2. EC2Launchv1 menjalankan data pengguna sebagai tugas terjadwal pada instance saat persist
disetel ketrue
. Jika persist
diatur ke, false
maka tugas tidak dijadwalkan bahkan saat keluar dengan reboot atau terganggu saat berjalan.
EC2Launchv2 menjalankan data pengguna sebagai tugas agen dan melacak status jalanannya. Jika masalah data pengguna me-restart komputer atau jika data pengguna terganggu saat berjalan, maka status berjalan-nya masih tetap ada sebagai pending
dan data pengguna akan berjalan lagi pada boot instans berikutnya. Jika Anda ingin mencegah skrip data pengguna berjalan lebih dari sekali, buat skrip menjadi idempoten.
Contoh skrip idempotensi berikut mengatur nama komputer dan bergabung dengan domain.
<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>
Tugas terjadwal dari EC2Launch v1 gagal dijalankan setelah migrasi ke v2 EC2Launch
Resolusi
Alat migrasi tidak mendeteksi tugas terjadwal yang ditautkan ke skrip EC2Launch v1; oleh karena itu, alat ini tidak secara otomatis mengatur tugas-tugas tersebut di EC2Launch v2. Untuk mengonfigurasi tugas-tugas ini, edit agent-config.ymlfile, atau gunakan kotak dialog pengaturan EC2Launch v2. Misalnya, jika sebuah instance memiliki tugas terjadwal yang berjalanInitializeDisks.ps1
, maka setelah Anda menjalankan alat migrasi, Anda harus menentukan volume yang ingin Anda inisialisasi di kotak dialog pengaturan EC2Launch v2. Lihat Langkah 6 prosedur untuk Ubah pengaturan menggunakan kotak dialog pengaturan EC2Launch v2.
Layanan menginisialisasi EBS volume yang tidak kosong
Resolusi
Sebelum menginisialisasi volume, EC2Launch v2 mencoba mendeteksi apakah itu kosong. Jika volume tidak kosong, maka ia melewatkan inisialisasi. Setiap volume yang terdeteksi sebagai tidak kosong tidak akan diinisialisasi. Volume dianggap kosong jika 4 KiB pertama dari volume adalah kosong, atau jika volume tidak memiliki tata letak hard disk yang dapat dikenali Windows
Tugas setWallpaper
tidak diaktifkan tetapi wallpaper diatur ulang saat reboot
Task setWallpaper
membuat file pintasan setwallpaper.lnk
di folder startup setiap pengguna yang ada kecuali untuk Default User
. File pintasan ini berjalan saat pengguna masuk untuk pertama kalinya setelah boot instans. File ini menyiapkan instans dengan wallpaper kustom yang menampilkan atribut instans. Menghapus setWallpaper
tugas tidak menghapus file pintasan ini. Anda harus menghapus file ini secara manual atau menghapusnya menggunakan skrip.
Jalur pintasnya adalah:
$env:SystemDrive/Users/<user>/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup/setwallpaper.lnk
Resolusi
Hapus file ini secara manual, atau hapus menggunakan skrip.
Contoh PowerShell skrip untuk menghapus file pintasan
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 } } }
Layanan macet dalam status berjalan
Deskripsi
EC2Launchv2 diblokir, dengan pesan log (agent.log
) mirip dengan berikut ini:
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.
Kemungkinan penyebab
SACdiaktifkan dan menggunakan port serial. Untuk informasi selengkapnya, lihat Menggunakan SAC untuk memecahkan masalah instance Windows Anda.
Resolusi
Coba langkah-langkah berikut untuk mengatasi masalah ini:
-
Nonaktifkan layanan yang menggunakan port serial.
-
Jika Anda ingin layanan terus menggunakan port serial, tulis skrip khusus untuk melakukan tugas agen peluncuran dan menginvokasinya sebagai tugas terjadwal.
Tidak valid agent-config.yml
mencegah membuka kotak dialog pengaturan EC2Launch v2
Deskripsi
EC2Launchpengaturan v2 mencoba mengurai agent-config.yml
file sebelum membuka kotak dialog. Jika file YAML konfigurasi tidak mengikuti skema yang didukung, kotak dialog akan menampilkan kesalahan berikut:
Unable to parse configuration file agent-config.yml. Review configuration file. Exiting application.
Resolusi
-
Verifikasi bahwa file konfigurasi mengikuti skema yang didukung.
-
Jika Anda ingin memulai dari awal, salin file konfigurasi default ke
agent-config.yml
. Anda dapat menggunakan contoh agent-config.yml yang disediakan di bagian Konfigurasi Tugas. -
Anda juga dapat memulai dari awal dengan menghapus
agent-config.yml
. EC2Launchpengaturan v2 menghasilkan file konfigurasi kosong.
task:executeScript should be unique and only invoked
once
Deskripsi
Tugas tidak dapat diulang dalam tahap yang sama.
Resolusi
Beberapa tugas harus dimasukkan sebagai array, seperti executeScriptdan executeProgram. Untuk contoh cara menulis skrip sebagai array, lihat executeScript.
Log peristiwa Windows
EC2Launchv2 menerbitkan log peristiwa Windows untuk acara penting, seperti memulai layanan, Windows siap, dan keberhasilan dan kegagalan tugas. Pengidentifikasi peristiwa secara unik mengidentifikasi peristiwa tertentu. Setiap acara berisi informasi tahapan, tugas, dan level, serta deskripsi. Anda dapat mengatur pemicu untuk peristiwa tertentu menggunakan pengenal peristiwa.
Acara IDs memberikan informasi tentang suatu peristiwa dan secara unik mengidentifikasi beberapa peristiwa. Digit paling signifikan dari ID peristiwa menunjukkan tingkat keparahan suatu peristiwa.
Peristiwa | Digit paling tidak signifikan |
---|---|
Success
|
. . .0 |
Informational |
. . .1 |
Warning |
. . .2 |
Error |
. . .3 |
Peristiwa terkait layanan yang dihasilkan ketika layanan dimulai atau berhenti termasuk satu digit pengenal peristiwa.
Peristiwa | Pengenal digit tunggal |
---|---|
Success
|
0 |
Informational |
1 |
Warning |
2 |
Error |
3 |
Pesan peristiwa untuk peristiwa EC2LaunchService.exe
dimulai dengan Service:
. Pesan peristiwa untuk peristiwa EC2Launch.exe
tidak dimulai dengan Service:
.
Acara empat digit IDs mencakup informasi tentang tahap, tugas, dan tingkat keparahan suatu peristiwa.
Format ID Peristiwa
Tabel berikut menunjukkan format pengenal peristiwa EC2Launch v2.
3 | 2 1 | 0 |
---|---|---|
D |
T |
L |
Huruf dan angka dalam tabel mewakili tipe dan definisi peristiwa berikut.
Tipe peristiwa | Definisi |
---|---|
S (Panggung) |
0 - Pesan tingkat layanan 1 - Boot 2 - Jaringan 3 - PreReady 5 - Windows sudah Siap 6 - PostReady 7 - Data Pengguna |
T (Tugas) |
Tugas yang diwakili oleh dua nilai yang sesuai berbeda untuk setiap tahap. Untuk melihat daftar lengkap peristiwa, lihat Skema log Peristiwa Windows. |
L (Level peristiwa) |
0 - Sukses 1 - Informasi 2 - Peringatan 3 - Kesalahan |
Contoh ID Peristiwa
Berikut adalah contoh acaraIDs .
-
5000
- Windows siap digunakan -
3010
- Aktifkan tugas windows di PreReady panggung berhasil -
6013
- Mengatur tugas wallpaper di tahap Data PostReady Lokal mengalami kesalahan
Skema log peristiwa Windows
MessageId/ Id Acara | Pesan acara |
---|---|
. . .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 |
EC2Launchkeluaran log konsol v2
Bagian ini berisi contoh keluaran log konsol untuk EC2Launch v2 dan mencantumkan semua pesan kesalahan log konsol EC2Launch v2 untuk membantu Anda memecahkan masalah. Untuk informasi selengkapnya tentang keluaran konsol instance dan cara mengaksesnya, lihatOutput konsol instans.
EC2Launchkeluaran log konsol v2
Berikut ini adalah contoh keluaran log konsol untuk EC2Launch v2.
2023/11/30 20:18:53Z: Windows sysprep configuration complete. 2023/11/30 20:18:57Z: Message: Waiting for access to metadata... 2023/11/30 20:18:57Z: Message: Meta-data is now available. 2023/11/30 20:18:57Z: AMI Origin Version: 2023.11.15 2023/11/30 20:18:57Z: AMI Origin Name: Windows_Server-2022-English-Full-Base 2023/11/30 20:18:58Z: OS: Microsoft Windows NT 10.0.20348 2023/11/30 20:18:58Z: OsVersion: 10.0 2023/11/30 20:18:58Z: OsProductName: Windows Server 2022 Datacenter 2023/11/30 20:18:58Z: OsBuildLabEx: 20348.1.amd64fre.fe_release.210507-1500 2023/11/30 20:18:58Z: OsCurrentBuild: 20348 2023/11/30 20:18:58Z: OsReleaseId: 2009 2023/11/30 20:18:58Z: Language: en-US 2023/11/30 20:18:58Z: TimeZone: UTC 2023/11/30 20:18:58Z: Offset: UTC +0000 2023/11/30 20:18:58Z: Launch: EC2 Launch v2.0.1643 2023/11/30 20:18:58Z: AMI-ID: ami-1234567890abcdef1 2023/11/30 20:18:58Z: Instance-ID: i-1234567890abcdef0 2023/11/30 20:18:58Z: Instance Type: c5.large 2023/11/30 20:19:00Z: Driver: AWS NVMe Driver v1.5.0.33 2023/11/30 20:19:00Z: SubComponent: AWS NVMe Driver v1.5.0.33; EnableSCSIPersistentReservations: 0 2023/11/30 20:19:00Z: Driver: AWS PV Driver Package v8.4.3 2023/11/30 20:19:01Z: Driver: Amazon Elastic Network Adapter v2.6.0.0 2023/11/30 20:19:01Z: RDPCERTIFICATE-SUBJECTNAME: EC2AMAZ-SO1T009 2023/11/30 20:19:01Z: RDPCERTIFICATE-THUMBPRINT: 1234567890ABCDEF1234567890ABCDEF1234567890 2023/11/30 20:19:09Z: SSM: Amazon SSM Agent v3.2.1705.0 2023/11/30 20:19:13Z: Username: Administrator 2023/11/30 20:19:13Z: Password: <Password> 1234567890abcdef1EXAMPLEPASSWORD </Password> 2023/11/30 20:19:14Z: User data format: no_user_data 2023/11/30 20:19:14Z: EC2LaunchTelemetry: IsTelemetryEnabled=true 2023/11/30 20:19:14Z: EC2LaunchTelemetry: AgentOsArch=windows_amd64 2023/11/30 20:19:14Z: EC2LaunchTelemetry: IsAgentScheduledPerBoot=true 2023/11/30 20:19:14Z: EC2LaunchTelemetry: AgentCommandErrorCode=0 2023/11/30 20:19:14Z: Message: Windows is Ready to use
EC2Launchpesan log konsol v2
Berikut ini adalah daftar semua pesan log konsol EC2Launch v2.
Message: Error EC2Launch service is stopping. {error message} Error setting up EC2Launch agent folders See instance logs for detail Error stopping service Error initializing service Message: Windows sysprep configuration complete Message: Invalid administrator username: {invalid username} Message: Invalid administrator password Username: {username} Password: <Password>{encrypted password}</Password> 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} 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} Message: Windows sysprep configuration complete Message: Windows is being configured. SysprepState is {state} Windows is still being configured. SysprepState is {state} Message: Windows is Ready to use Message: Waiting for meta-data accessibility... Message: Meta-data is now available. Message: Still waiting for meta-data accessibility... Message: Failed to find primary network interface...retrying... User data format: {format}