View a markdown version of this page

Mengelola alur kerja build, pengujian, dan distribusi untuk image Image Builder - EC2 Image Builder

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

Mengelola alur kerja build, pengujian, dan distribusi untuk image Image Builder

Alur kerja gambar mendefinisikan urutan langkah yang dijalankan EC2 Image Builder selama satu tahap proses pembuatan gambar. Anda membuat alur kerja sebagai dokumen YAML dan membuatnya sebagai sumber daya berversi yang dapat digunakan kembali. Image Builder kemudian menjalankan alur kerja Anda saat membangun, menguji, dan mendistribusikan gambar Anda.

Alur kerja memberi Anda kontrol langsung atas proses pembuatan gambar. Anda memutuskan langkah mana yang dijalankan, dalam urutan apa, apa yang dilakukan setiap langkah ketika gagal, dan apakah Image Builder mengembalikan langkah yang gagal. Anda dapat memulai dari alur kerja yang dikelola Amazon, mengkloning dan menyesuaikannya, atau menulis sendiri dari awal.

Manfaat alur kerja gambar
  • Dengan alur kerja gambar, Anda memiliki lebih banyak fleksibilitas, visibilitas, dan kontrol atas proses pembuatan gambar.

  • Anda dapat menambahkan langkah-langkah alur kerja yang disesuaikan saat menentukan dokumen alur kerja Anda, atau Anda dapat memilih untuk menggunakan alur kerja default Pembuat Gambar.

  • Anda dapat mengecualikan langkah-langkah alur kerja yang disertakan Image Builder dalam alur kerja gambar default.

  • Anda dapat membuat alur kerja khusus pengujian yang melewatkan proses pembuatan sepenuhnya. Anda dapat melakukan hal yang sama untuk membuat alur kerja build-only atau distribution-only.

catatan

Anda tidak dapat mengubah alur kerja yang ada, tetapi Anda dapat mengkloningnya atau membuat versi baru.

Kerangka kerja alur kerja: Tahapan

Image Builder mengatur proses pembuatan gambar menjadi tiga tahap. Setiap tahap menjalankan alur kerja dari jenis pencocokan. Tahapan berjalan dalam urutan tetap, dan tahap dimulai hanya setelah tahap sebelumnya selesai dengan sukses.

Tabel berikut mencantumkan perilaku default dari setiap tahap. Karena Anda menentukan langkah-langkah di setiap alur kerja, Anda dapat menyesuaikan apa yang dilakukan tahap.

Tahap alur kerja Pembuat Gambar

Order

Stage

Jenis alur kerja

Apa yang dilakukannya (default)

1

Membangun

BUILD

Meluncurkan instance build, menjalankan komponen build Anda, dan membuat image (AMI atau image container) dari instance.

2

Uji

TEST

Meluncurkan instance pengujian dari gambar baru, menjalankan komponen pengujian Anda, dan secara opsional mengumpulkan temuan pemindaian gambar.

3

Distribusi

DISTRIBUTION

Menyalin gambar ke Daerah dan akun target, memodifikasi atribut gambar, dan menerapkan konfigurasi pasca-distribusi seperti templat peluncuran dan konfigurasi lisensi.

Anda dapat menjalankan alur kerja hanya untuk beberapa tahap. Misalnya, Anda dapat melewati tahap build untuk menguji atau mendistribusikan gambar yang sudah ada, atau melewati tahap pengujian untuk membangun dan mendistribusikan tanpa pengujian. Untuk melewati tahap pembuatan atau pengujian, hilangkan alur kerja jenis itu dari pipeline atau permintaan gambar Anda.

catatan

Alur kerja distribusi bersifat opsional. Jika Anda menghilangkannya, Image Builder tidak melewatkan distribusi — ia masih mendistribusikan AMI Anda dengan menjalankan konfigurasi distribusi yang Anda lampirkan ke pipeline atau gambar. Tambahkan alur kerja distribusi saat Anda ingin mengganti konfigurasi distribusi dengan pengaturan distribusi yang berbeda, atau untuk mendapatkan visibilitas lebih ke dalam proses distribusi. Untuk melewatkan distribusi sepenuhnya, berikan konfigurasi distribusi nol atau kosong.

catatan

Pipeline gambar atau permintaan gambar dapat mencakup paling banyak satu alur kerja build dan satu alur kerja distribusi. Ini juga dapat mencakup satu atau lebih alur kerja pengujian. Jumlah total alur kerja tidak boleh melebihi sepuluh. Misalnya, Anda dapat memasangkan satu alur kerja build dan satu alur kerja distribusi dengan hingga delapan alur kerja pengujian.

Bagaimana alur kerja berjalan

Alur kerja menjalankan langkah-langkahnya sesuai urutan yang Anda tentukan dalam dokumen YAML. Setiap langkah melakukan satu tindakan, seperti meluncurkan instance atau menjalankan komponen.

Hasil langkah

Setiap langkah berakhir di salah satu status berikut.

Hasil langkah alur kerja

Status

Arti

COMPLETED

Langkah selesai dengan sukses.

SKIPPED

Per if nyataan bersyarat pada langkah yang dievaluasifalse, jadi Image Builder melewatkan langkah tersebut.

FAILED

Langkah itu tidak selesai dengan sukses.

WAITING

Sebuah WaitForAction langkah dijeda, menunggu tindakan eksternal.

TIMED_OUT

Langkah itu berjalan lebih lama dari nil timeoutSeconds ainya.

Penanganan kegagalan

A onFailure tribut pada setiap langkah mengontrol apa yang terjadi ketika langkah gagal.

  • Abort(default) - Pembuat Gambar gagal dalam langkah, gagal dalam alur kerja, dan tidak menjalankan langkah lebih lanjut. Jika rollback diaktifkan, rollback dimulai pada langkah yang gagal dan bekerja mundur melalui langkah-langkah sebelumnya.

  • Continue- Pembuat Gambar gagal dalam langkah tetapi menjalankan langkah-langkah yang tersisa. Tidak ada rollback yang terjadi.

Rollback

Ketika langkah gagal dengan onFailure: Abort dan rollbackEnabled: true (default), Image Builder mengembalikan langkah-langkah yang telah selesai dalam urutan terbalik, dimulai dengan langkah yang gagal. Tidak setiap tindakan dapat dibatalkan. Tindakan yang tidak memiliki rollback merekam status. NO_ROLLBACK

Monitor alur kerja berjalan dengan Amazon EventBridge

Image Builder memancarkan EventBridge peristiwa Amazon saat alur kerja Anda berjalan, sehingga Anda dapat bereaksi terhadap kemajuan dan langkah-langkah yang perlu diperhatikan. Misalnya, WaitForAction langkah menerbitkan acara dengan tipe detail EC2 Image Builder Workflow Step Waiting ke bus acara default Anda. Anda dapat merutekan acara ini ke target seperti fungsi Lambda atau topik Amazon SNS untuk mendorong proses persetujuan. Untuk informasi selengkapnya tentang cara kerja Image Builder EventBridge, lihatEventBridge Integrasi Amazon dalam Pembuat Gambar.

Untuk melacak kemajuan tingkat langkah secara terprogram, gunakan operasiListWorkflowExecutions,, GetWorkflowExecutionListWorkflowStepExecutions, dan GetWorkflowStepExecution API.

Kendala sumber daya alur kerja

Dokumen dan konfigurasi alur kerja Anda harus tetap dalam batas default berikut.

Kendala sumber daya alur kerja

Kendala

Batas default

Catatan

Langkah-langkah per dokumen alur kerja

15

Langkah-langkah berjalan dalam urutan dokumen.

Output per dokumen alur kerja

25

Output meneruskan nilai ke alur kerja selanjutnya.

Parameter per dokumen alur kerja

25

Input yang dapat diatur oleh pemanggil.

Panjang nilai parameter

1.024 karakter

Per nilai parameter.

Ukuran dokumen sebaris (data)

16.000 byte

Gunakan opsi uri (Amazon S3) untuk dokumen yang lebih besar.

Alur kerja per gambar atau pipeline

10

Paling banyak 1 build dan 1 distribusi, ditambah alur kerja pengujian, dengan total gabungan 10.

Sumber daya alur kerja tidak dapat diubah. Untuk mengubah alur kerja, buat versi baru atau kloning. Image Builder menyimpan setiap versi, sehingga Anda dapat melacak alur kerja mana yang menghasilkan setiap gambar.

Akses layanan

Untuk menjalankan alur kerja gambar, Pembuat Gambar memerlukan izin untuk melakukan tindakan alur kerja. Anda memberikan izin ini dengan peran eksekusi yang diasumsikan Image Builder atas nama Anda. Anda menetapkan peran eksekusi sebagai berikut.

penting

Kami menyarankan agar Anda tidak meneruskan peran AWSServiceRoleForImageBuilder terkait layanan sebagai peran eksekusi Anda. Sebagai gantinya, buat peran IAM khusus dan lampirkan kebijakan terkel EC2ImageBuilderExecutionPolicy AWS ola. Kebijakan ini memberikan izin yang sama dengan yang diperlukan Pembuat Gambar untuk memang Layanan AWS gil atas nama Anda. Menggunakan peran khusus memberi Anda kontrol penuh atas izin yang digunakan Pembuat Gambar. Ini juga menjaga kebijakan kontrol layanan (SCP) dan kebijakan kontrol sumber daya (RCP) tetap berlaku untuk operasi yang dilakukan Pembuat Gambar atas nama Anda.

  • Konsol — Dalam panduan pipeline Langkah 3 Tentukan proses pembuatan gambar, pilih peran kustom Anda dari daftar peran IAM di panel akses Layanan.

  • Image Builder API — Dalam permintaan CreateImage tindakan, tentukan peran kustom Anda sebagai nilai executionRole parameter.

Untuk membuat peran eksekusi khusus, lihat Membuat peran untuk mendelegasikan izin ke AWS layanan di Panduan AWS Identity and Access Management Pengguna.

Menggunakan alur kerja terkelola untuk gambar Anda

AWS membuat dan memelihara alur kerja terkelola. Saat Anda menggunakan alur kerja terkelola di pipeline gambar atau untuk pembuatan gambar satu kali, Anda dapat memilih Nama Sumber Daya Amazon (ARN) dari alur kerja terkelola yang ingin Anda gunakan. Amazon menyediakan versi terbaru yang memiliki patch dan pembaruan lainnya yang diterapkan. Untuk mendapatkan daftar alur kerja yang dikelola, lihatDaftar alur kerja gambar, dan filter pada Pemilik = Amazon (konsol).

Anda dapat memilih alur kerja terkelola berdasarkan kecepatan build dan persyaratan validasi Anda. Berikut ini adalah contoh jenis alur kerja terkelola:

Alur kerja terkelola standar (default)

Alur kerja terkelola standar mencakup langkah-langkah komprehensif untuk membangun, menguji, dan memvalidasi gambar Anda dengan pemeriksaan status EC2 lengkap.

Berikut ini adalah alur kerja terkelola standar:

  • build-image - Alur kerja pembuatan Amazon-managed AMI default.

  • test-image — Alur kerja pengujian Amazon-managed AMI default.

  • build-container — Alur kerja pembuatan Amazon-managed wadah default.

  • test-container — Alur kerja pengujian Amazon-managed wadah default.

Alur kerja yang dikelola secara ekspres

Alur kerja yang dikelola secara ekspres hanya mencakup langkah-langkah penting dan mengurangi waktu pembuatan gambar.

Berikut ini adalah alur kerja yang dikelola ekspres:

  • express-build-image - Express Amazon-managed AMI membangun alur kerja yang mengurangi waktu pembuatan. Menunggu hanya untuk status instans yang sedang berjalan alih-alih pemeriksaan status EC2 penuh, dan melewatkan pengumpulan metadata gambar.

  • express-build-container — Alur kerja pembuatan Amazon-managed wadah ekspres yang mengurangi waktu pembuatan. Menunggu hanya untuk status instans yang sedang berjalan alih-alih pemeriksaan status EC2 penuh.

  • express-test-image — Alur kerja pengujian Amazon-managed AMI ekspres yang mengurangi waktu pengujian. Menunggu hanya untuk status instans yang sedang berjalan alih-alih pemeriksaan status EC2 penuh, dan melewatkan pengumpulan temuan pemindaian keamanan.