Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Memecahkan masalah Pembuat Gambar
EC2 Image Builder terintegrasi dengan Layanan AWS pemantauan dan pemecahan masalah untuk membantu Anda memecahkan masalah pembuatan gambar. Image Builder melacak dan menampilkan kemajuan untuk setiap langkah dalam proses pembuatan gambar. Selain itu, Image Builder dapat mengekspor log ke lokasi Amazon S3 yang Anda berikan.
Untuk pemecahan masalah lanjutan, Anda dapat menjalankan perintah dan skrip yang telah ditentukan menggunakan AWS Systems Manager Run Command.
Tip
Anda dapat menggunakan fitur Troubleshooting, didukung oleh AWS DevOps Agen, untuk mendiagnosis build yang gagal dan mendapatkan analisis AI-powered akar penyebab dengan langkah-langkah remediasi. Untuk informasi selengkapnya, lihat Memecahkan masalah build yang gagal dengan AI - Pratinjau.
Daftar Isi
Memecahkan masalah pembuatan pipa
Jika pembuatan pipeline Image Builder gagal, Image Builder mengembalikan pesan kesalahan yang menjelaskan kegagalan. Image Builder juga mengembalikan pesan kegagalan, seperti yang ada di contoh output berikut: workflow execution ID
Workflow Execution ID:wf-12345abc-6789-0123-abc4-567890123abcfailed with reason: …
Image Builder mengatur dan mengarahkan tindakan pembuatan gambar melalui serangkaian langkah yang ditentukan untuk tahap runtime dalam proses pembuatan gambar standarnya. Tahap pembuatan dan pengujian dari proses masing-masing memiliki alur kerja terkait. Saat Image Builder menjalankan alur kerja untuk membangun atau menguji gambar baru, ia menghasilkan sumber metadata alur kerja yang melacak detail runtime.
Gambar kontainer memiliki alur kerja tambahan yang berjalan selama distribusi.
Rincian riset untuk kegagalan instance runtime untuk alur kerja Anda
Untuk memecahkan masalah kegagalan runtime untuk alur kerja Anda, Anda dapat memanggil tindakan GetWorkflowExecution dan ListWorkflowStepExecutions API dengan alur kerja Andaworkflow execution ID.
Tinjau log runtime alur kerja
-
CloudWatch Log Amazon
Image Builder menerbitkan log eksekusi alur kerja terperinci ke grup dan aliran CloudWatch Log Pembuat Gambar berikut:
Dengan CloudWatch Log, Anda dapat mencari data log dengan pola filter. Untuk informasi selengkapnya, lihat Pencarian data log menggunakan pola filter di Panduan CloudWatch Pengguna Amazon Log.
-
AWS CloudTrail
Semua aktivitas build juga masuk CloudTrail jika diaktifkan di akun Anda. Anda dapat memfilter CloudTrail peristiwa berdasarkan sumbernya
imagebuilder.amazonaws.com. Atau, Anda dapat mencari ID instans Amazon EC2 yang dikembalikan di log eksekusi untuk melihat detail selengkapnya tentang eksekusi pipeline. -
Layanan Penyimpanan Sederhana Amazon (S3)
Jika Anda telah menentukan nama bucket S3 dan awalan kunci dalam konfigurasi infrastruktur, jalur log runtime langkah alur kerja mengikuti pola ini:
S3://S3BucketName/KeyPrefix/ImageName/ImageVersion/ImageBuildVersion/WorkflowExecutionId/StepNameLog yang Anda kirim ke bucket S3 menunjukkan langkah-langkah dan pesan kesalahan untuk aktivitas pada instans EC2 selama proses pembuatan gambar. Log termasuk output log dari manajer komponen, definisi komponen yang dijalankan, dan output terperinci (dalam JSON) dari semua langkah yang diambil pada instance. Jika Anda mengalami masalah, Anda harus meninjau file-file ini
application.log, dimulai dengan, untuk mendiagnosis penyebab masalah pada instance.
Secara default, Image Builder mematikan build atau instance pengujian Amazon EC2 yang berjalan saat pipeline gagal. Anda dapat mengubah setelan instans untuk sumber daya konfigurasi infrastruktur yang digunakan pipeline Anda, untuk mempertahankan instance build atau pengujian untuk pemecahan masalah.
Untuk mengubah setelan instans di konsol, Anda harus menghapus kotak centang H entikan instance pada kegagalan yang terletak di bagian Pengaturan pemecahan masalah pada sumber daya konfigurasi infrastruktur Anda.
Anda juga dapat mengubah pengaturan instance dengan update-infrastructure-configuration perintah di AWS CLI. Atur terminateInstanceOnFailure nilai ke false dalam file JSON yang dirujuk perintah dengan --cli-input-json parameter. Lihat perinciannya di Memperbarui konfigurasi infrastruktur.
Skenario pemecahan masalah
Bagian ini mencantumkan skenario pemecahan masalah terperinci berikut:
Untuk melihat detail skenario, pilih judul skenario untuk memperluasnya. Anda dapat memiliki beberapa judul yang diperluas secara bersamaan.
Deskripsi
Pembuatan pipeline gagal dengan "AccessDenied: Kode status Akses Ditolak: 403".
Penyebab
Kemungkinan penyebabnya meliputi:
-
Profil instans tidak memiliki izin yang diperlukan untuk mengakses API atau sumber daya komponen.
-
Peran profil instans tidak memiliki izin yang diperlukan untuk log ke Amazon S3. Paling umum, ini terjadi ketika peran profil instance tidak memiliki PutObject izin untuk bucket S3 Anda.
Solusi
Tergantung pada penyebabnya, masalah ini dapat diselesaikan sebagai berikut:
-
Profil instans tidak memiliki kebijakan terkelola — Tambahkan kebijakan yang hilang ke peran profil instans Anda. Kemudian jalankan pipa lagi.
-
Profil instans tidak memiliki izin menulis untuk bucket S3 — Tambahkan kebijakan ke peran profil instans Anda yang memberikan PutObject izin untuk menulis ke bucket S3 Anda. Kemudian jalankan pipa lagi.
Deskripsi
Pembuatan pipeline gagal dengan “status = 'TimedOut'” dan “pesan kegagalan = 'Langkah habis waktu saat langkah memverifikasi ketersediaan Agen Manajer Sistem pada instans target '”.
Penyebab
Kemungkinan penyebabnya meliputi:
-
Instans yang diluncurkan untuk melakukan operasi build dan menjalankan komponen tidak dapat mengakses titik akhir Manajer Sistem.
-
Profil instance tidak memiliki izin yang diperlukan.
Solusi
Tergantung pada kemungkinan penyebabnya, masalah ini dapat diselesaikan sebagai berikut:
-
Masalah akses, subnet pribadi — Jika Anda membangun di subnet pribadi, pastikan bahwa Anda telah menyiapkan PrivateLink titik akhir untuk Systems Manager, Image Builder, dan, jika Anda ingin logging, Amazon. S3/CloudWatch Untuk informasi selengkapnya tentang menyiapkan PrivateLink titik akhir, lihat AWS Layanan akses melalui AWS PrivateLink.
-
Izin hilang — Tambahkan kebijakan terkelola berikut ke peran terkait layanan IAM untuk Pembuat Gambar:
-
EC2InstanceProfileForImageBuilder
-
EC2InstanceProfileForImageBuilderECRContainerBuilds
-
AmazonSSMManagedInstanceCore
Untuk informasi selengkapnya tentang peran terkait layanan Pembuat Gambar, lihat. Menggunakan peran terkait layanan IAM untuk Image Builder
-
Deskripsi
Ketika jenis instans yang digunakan untuk membangun Image Builder Windows AMI tidak cocok dengan jenis instans yang digunakan untuk meluncurkan dari AMI, masalah dapat terjadi ketika volume non-root offline saat diluncurkan. Ini terutama terjadi ketika instance build menggunakan arsitektur yang lebih baru daripada instance peluncuran.
Contoh berikut menunjukkan apa yang terjadi ketika AMI Image Builder dibangun pada tipe instance EC2 Nitro dan diluncurkan pada instance EC2 Xen:
Jenis instance build: m5.large (Nitro)
Jenis instans peluncuran: t2.medium (Xen)
PS C:\Users\Administrator>get-diskNumber Friendly Name Serial Number Health Status Operational Status Total Size Partition Style ------ ------------- ------------- ------------- ------------------ ---------- --------------- 0 AWS PVDISK vol0abc12d34e567f8a9 Healthy Online 30 GB MBR 1 AWS PVDISK vol1bcd23e45f678a9b0 Healthy Offline 8 GB MBR
Penyebab
Karena pengaturan default Windows, disk yang baru ditemukan tidak secara otomatis dibawa online dan diformat. Ketika jenis instance diubah pada EC2, Windows memperlakukan ini sebagai disk baru yang ditemukan. Ini karena perubahan driver yang mendasarinya.
Solusi
Kami menyarankan Anda menggunakan sistem jenis instans yang sama saat membangun AMI Windows Anda yang ingin Anda luncurkan. Jangan sertakan jenis instans yang dibangun pada sistem yang berbeda dalam konfigurasi infrastruktur Anda. Jika salah satu jenis instance yang Anda tentukan menggunakan sistem Nitro, maka semuanya harus menggunakan sistem Nitro.
Untuk informasi selengkapnya tentang instans yang dibangun di sistem Nitro, lihat Instans yang dibangun di Sistem Nitro di Panduan Pengguna Amazon EC2.
Deskripsi
Anda menggunakan image dasar yang diperkeras CIS dan pembuatannya gagal.
Penyebab
Ketika /tmp direktori diklasifikasikan sebagainoexec, itu dapat menyebabkan Image Builder gagal.
Solusi
Pilih lokasi yang berbeda untuk direktori kerja Anda di workingDirectory bidang resep gambar. Untuk informasi selengkapnya, lihat deskripsi tipe ImageRecipe data.
Deskripsi
Sistem Manajer Otomasi menunjukkan kegagalan dalam langkah AssertInventoryCollection otomatisasi.
Penyebab
Anda atau organisasi Anda mungkin telah membuat asosiasi Manajer Status Manajer Sistem yang mengumpulkan informasi inventaris untuk instans EC2. Jika koleksi metadata gambar yang disempurnakan diaktifkan untuk pipeline Image Builder Anda (ini adalah default), Pembuat Gambar mencoba membuat asosiasi inventaris baru untuk instance build. Namun, Manajer Sistem tidak mengizinkan beberapa asosiasi inventaris untuk instans terkelola, dan mencegah asosiasi baru jika sudah ada. Hal ini menyebabkan operasi gagal, dan mengakibatkan pembuatan pipeline gagal.
Solusi
Untuk mengatasi masalah ini, matikan pengumpulan metadata gambar yang disempurnakan, menggunakan salah satu metode berikut:
-
Perbarui pipeline gambar Anda di konsol, untuk menghapus kotak centang Aktifkan koleksi metadata yang disempurnakan. Simpan perubahan Anda dan jalankan pipeline build.
Untuk informasi selengkapnya tentang memperbarui pipeline gambar AMI menggunakan konsol EC2 Image Builder, lihatPerbarui pipeline gambar AMI dari konsol. Untuk informasi selengkapnya tentang memperbarui pipeline image container menggunakan konsol EC2 Image Builder, lihatMemperbarui pipeline gambar kontainer dari konsol.
-
Anda juga dapat memperbarui pipeline gambar Anda dengan update-image-pipeline perintah di AWS CLI. Untuk melakukan ini, sertakan
EnhancedImageMetadataEnabledproperti dalam file JSON Anda, diatur kefalse. Contoh berikut menunjukkan properti yang disetel kefalse.{ "name": "MyWindows2019Pipeline", "description": "Builds Windows 2019 Images", "enhancedImageMetadataEnabled":false, "imageRecipeArn": "arn:aws:imagebuilder:us-west-2:123456789012:image-recipe/my-example-recipe/2020.12.03", "infrastructureConfigurationArn": "arn:aws:imagebuilder:us-west-2:123456789012:infrastructure-configuration/my-example-infrastructure-configuration", "distributionConfigurationArn": "arn:aws:imagebuilder:us-west-2:123456789012:distribution-configuration/my-example-distribution-configuration", "imageTestsConfiguration": { "imageTestsEnabled": true, "timeoutMinutes": 60 }, "schedule": { "scheduleExpression": "cron(0 0 * * SUN *)", "pipelineExecutionStartCondition": "EXPRESSION_MATCH_AND_DEPENDENCY_UPDATES_AVAILABLE" }, "status": "ENABLED" }
Untuk mencegah hal ini terjadi pada pipeline baru, kosongkan kotak centang Aktifkan pengumpulan metadata yang disempurnakan saat Anda membuat pipeline baru menggunakan konsol EC2 Image Builder, atau setel nilai EnhancedImageMetadataEnabled properti di file JSON Anda ke false saat Anda membuat pipeline menggunakan. AWS CLI