

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Memecahkan masalah Image Builder
Memecahkan Masalah Image Builder

EC2 Image Builder terintegrasi Layanan AWS dengan 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 Run Command.AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/run-command.html)

**Topics**
+ [

## Memecahkan masalah pembangunan pipa
](#troubleshooting-pipelines)
+ [

## Skenario pemecahan masalah
](#image-builder-troubleshooting-scenarios)

## Memecahkan masalah pembangunan pipa


Jika build pipeline Image Builder gagal, Image Builder menampilkan pesan kesalahan yang menjelaskan kegagalan tersebut. Image Builder juga mengembalikan pesan kegagalan, seperti yang ada di output contoh berikut: `workflow execution ID`

```
Workflow Execution ID: wf-12345abc-6789-0123-abc4-567890123abc failed with reason: …
```

Image Builder mengatur dan mengarahkan tindakan pembuatan gambar melalui serangkaian langkah yang ditentukan untuk tahapan runtime dalam proses pembuatan gambar standarnya. Tahapan pembuatan dan pengujian proses masing-masing memiliki alur kerja yang terkait. Saat Image Builder menjalankan alur kerja untuk membangun atau menguji gambar baru, Image Builder akan menghasilkan sumber daya metadata alur kerja yang melacak detail runtime.

Gambar kontainer memiliki alur kerja tambahan yang berjalan selama distribusi.

**Detail penelitian untuk kegagalan instans runtime untuk alur kerja Anda**  
Untuk memecahkan masalah kegagalan runtime alur kerja Anda, Anda dapat memanggil tindakan [GetWorkflowExecution](https://docs.aws.amazon.com/imagebuilder/latest/APIReference/API_GetWorkflowExecution.html)dan [ListWorkflowStepExecutions](https://docs.aws.amazon.com/imagebuilder/latest/APIReference/API_GetWorkflowExecution.html)API dengan Anda. `workflow execution ID`

**Tinjau log runtime alur kerja**
+ ** CloudWatch Log Amazon**

  Image Builder menerbitkan log eksekusi alur kerja terperinci ke grup dan aliran Image Builder CloudWatch Logs berikut:

  Dengan CloudWatch Log, Anda dapat mencari data log dengan pola filter. Untuk informasi selengkapnya, lihat [Cari data log menggunakan pola filter](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/SearchDataFilterPattern.html) di *Panduan Pengguna CloudWatch Log Amazon*.
+ **AWS CloudTrail**

  Semua aktivitas build juga masuk CloudTrail jika diaktifkan di akun Anda. Anda dapat memfilter CloudTrail acara berdasarkan sumbernya`imagebuilder.amazonaws.com`. Atau, Anda dapat mencari ID instans Amazon EC2 yang dikembalikan dalam log eksekusi untuk melihat detail selengkapnya tentang eksekusi pipeline.
+ **Amazon Simple Storage Service (S3)**

  Jika Anda telah menetapkan nama bucket S3 dan key prefix dalam konfigurasi infrastruktur, jalur log runtime langkah alur kerja mengikuti pola ini:

  ```
  S3://S3BucketName/KeyPrefix/ImageName/ImageVersion/ImageBuildVersion/WorkflowExecutionId/StepName
  ```

  Log 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 rinci (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 Amazon EC2 atau instance pengujian yang berjalan saat pipeline gagal. Anda dapat mengubah setelan instans untuk sumber daya konfigurasi infrastruktur yang digunakan pipeline, untuk mempertahankan instans build atau pengujian untuk pemecahan masalah.

Untuk mengubah setelan instans di konsol, Anda harus menghapus kotak centang **Hentikan instans pada kegagalan** yang terletak di bagian **Pengaturan pemecahan masalah** sumber daya konfigurasi infrastruktur Anda.

Anda juga dapat mengubah pengaturan instance dengan **update-infrastructure-configuration** perintah di AWS CLI. Tetapkan `terminateInstanceOnFailure` nilai ke `false` dalam file JSON yang direferensikan perintah dengan `--cli-input-json` parameter. Lihat perinciannya di [Memperbarui konfigurasi infrastruktur](update-infra-config.md).

## Skenario pemecahan masalah


Bagian ini mencantumkan skenario pemecahan masalah terperinci berikut:
+ [Akses ditolak - kode status 403](#ts-access-denied)
+ [Waktu build habis saat memverifikasi ketersediaan Agen Systems Manager pada instance build](#ts-timeout-ssm-agent)
+ [Disk sekunder Windows sedang offline saat diluncurkan](#ts-win-disk-offline)
+ [Build gagal dengan image dasar yang diperkeras CIS](#ts-cis-base)
+ [AssertInventoryCollection gagal (Otomasi Systems Manager)](#ts-ssm-mult-inventory)

Untuk melihat detail skenario, pilih judul skenario untuk mengembangkannya. Anda dapat memiliki beberapa judul diperluas secara bersamaan.

### Akses ditolak - kode status 403


#### Deskripsi


Pembuatan pipeline gagal dengan "AccessDenied: Akses Kode status Ditolak: 403".

#### Penyebab


Kemungkinan penyebabnya meliputi:
+ Profil instance tidak memiliki [izin](set-up-ib-env.md#image-builder-IAM-prereq) yang diperlukan untuk mengakses APIs atau sumber daya komponen.
+ Peran profil instance tidak memiliki izin yang diperlukan untuk masuk 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 tulis untuk bucket S3** — Tambahkan kebijakan ke peran profil instans Anda yang memberikan **PutObject**izin untuk menulis ke bucket S3 Anda. Kemudian jalankan pipa lagi.

### Waktu build habis saat memverifikasi ketersediaan Agen Systems Manager pada instance build


#### Deskripsi


Pembuatan pipeline gagal dengan “status = TimedOut ''” dan “failure message = 'Step timed out sementara step memverifikasi ketersediaan Agen Systems Manager pada instance target'”.

#### Penyebab


Kemungkinan penyebabnya meliputi:
+ Instance yang diluncurkan untuk melakukan operasi build dan menjalankan komponen tidak dapat mengakses endpoint Systems Manager.
+ Profil instance tidak memiliki [izin](set-up-ib-env.md#image-builder-IAM-prereq) yang diperlukan.

#### Solusi


Bergantung pada kemungkinan penyebabnya, masalah ini dapat diselesaikan sebagai berikut:
+ **Masalah akses, subnet pribadi** - Jika Anda membangun subnet pribadi, pastikan Anda telah menyiapkan PrivateLink titik akhir untuk Systems Manager, Image Builder, dan, jika ingin masuk, Amazon S3/. CloudWatch Untuk informasi selengkapnya tentang menyiapkan PrivateLink titik akhir, lihat [Mengakses AWS layanan melalui AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/privatelink/privatelink-access-aws-services.html).
+ **Izin tidak ada** - Tambahkan kebijakan terkelola berikut ke peran terkait layanan IAM untuk Image Builder:
  + EC2InstanceProfileForImageBuilder
  + EC2InstanceProfileForImageBuilderECRContainerMembangun
  + Amazon SSMManaged InstanceCore

  Untuk informasi selengkapnya tentang peran terkait layanan Image Builder, lihat. [Menggunakan peran terkait layanan IAM untuk Image Builder](image-builder-service-linked-role.md)

### Disk sekunder Windows sedang offline saat diluncurkan


#### Deskripsi


Ketika jenis instans yang digunakan untuk membangun Image Builder Windows AMI tidak cocok dengan jenis instans yang digunakan untuk diluncurkan dari AMI, masalah dapat terjadi ketika volume non-root offline saat peluncuran. Ini terutama terjadi ketika instance build menggunakan arsitektur yang lebih baru daripada instance peluncuran.

Contoh berikut menunjukkan apa yang terjadi ketika Image Builder AMI dibangun di atas tipe instans EC2 Nitro dan diluncurkan pada instance EC2 Xen:

**Jenis instance build**: m5.large (Nitro)

**Jenis instance peluncuran**: t2.medium (Xen)

```
PS C:\Users\Administrator> get-disk
Number  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 instans diubah pada EC2, Windows memperlakukan ini sebagai disk baru yang ditemukan. Ini karena perubahan driver yang mendasarinya.

#### Solusi


Kami menyarankan Anda menggunakan sistem tipe instans yang sama saat membuat AMI Windows yang ingin Anda luncurkan. Jangan sertakan jenis instance yang dibangun pada sistem yang berbeda dalam konfigurasi infrastruktur Anda. Jika salah satu jenis instance yang Anda tentukan menggunakan sistem Nitro, maka mereka semua harus menggunakan sistem Nitro.

*Untuk informasi selengkapnya tentang instans yang dibangun di sistem Nitro, lihat [Instans yang dibangun di Sistem Nitro di Panduan Pengguna](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances) Amazon EC2.*

### Build gagal dengan image dasar yang diperkeras CIS


#### Deskripsi


Anda menggunakan image dasar yang diperkeras CIS dan build gagal.

#### Penyebab


Ketika `/tmp` direktori diklasifikasikan sebagai`noexec`, 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](https://docs.aws.amazon.com/imagebuilder/latest/APIReference/API_ImageRecipe.html)data.

### AssertInventoryCollection gagal (Otomasi Systems Manager)


#### Deskripsi


Systems Manager Automation menunjukkan kegagalan dalam langkah `AssertInventoryCollection` otomatisasi.

#### Penyebab


Anda atau organisasi Anda mungkin telah membuat asosiasi Manajer Negara Bagian Systems Manager yang mengumpulkan informasi inventaris untuk instans EC2. Jika koleksi metadata gambar yang disempurnakan diaktifkan untuk pipeline Image Builder Anda (ini adalah default), Image Builder mencoba membuat asosiasi inventaris baru untuk instance build. Namun, Systems Manager tidak mengizinkan beberapa asosiasi inventaris untuk instans terkelola, dan mencegah asosiasi baru jika sudah ada. Hal ini menyebabkan operasi gagal, dan menghasilkan pembuatan pipa yang 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 pengumpulan metadata yang disempurnakan**. Simpan perubahan Anda dan jalankan pipeline build.

  Untuk informasi selengkapnya tentang memperbarui pipeline gambar AMI menggunakan konsol EC2 Image Builder, [Perbarui pipeline gambar AMI dari konsol](update-image-pipeline-console.md) lihat. Untuk informasi selengkapnya tentang memperbarui pipeline image container menggunakan konsol EC2 Image Builder, [Perbarui pipeline gambar kontainer dari konsol](update-container-pipeline-console.md) lihat.
+ Anda juga dapat memperbarui pipeline gambar Anda dengan **update-image-pipeline** perintah di AWS CLI. Untuk melakukan ini, sertakan `EnhancedImageMetadataEnabled` properti dalam file JSON Anda, atur ke`false`. Contoh berikut menunjukkan properti diatur ke`false`.

  ```
  {
      "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 properti dalam file JSON saat Anda `false` membuat pipeline menggunakan. `EnhancedImageMetadataEnabled` AWS CLI