View a markdown version of this page

Gunakan EventBridge dengan pipeline 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.

Gunakan EventBridge dengan pipeline Image Builder

AWS dan layanan mitra mengalirkan acara ke bus EventBridge acara Amazon hampir secara real time. Anda juga dapat mengirim acara khusus Anda sendiri. Bus acara menggunakan aturan untuk merutekan setiap acara ke satu atau lebih target.

Image Builder bekerja dengan EventBridge dalam dua arah independen:

  • Mulai pembuatan pipa dari aturan. Anda dapat menetapkan pipeline Image Builder sebagai target aturan, jadi EventBridge jalankan pipeline saat acara cocok dengan aturan atau saat jadwal diaktifkan. Lihat Memicu pembangunan pipa sesuai jadwal dan Memicu pembuatan pipeline dari pola peristiwa.

  • Bereaksi terhadap peristiwa yang dikirim Image Builder. Image Builder menerbitkan peristiwa ke bus peristiwa default ketika perubahan signifikan terjadi—misalnya, ketika gambar menjadi AVAILABLE atau pemindaian mendeteksi CVE. Anda dapat mencocokkan peristiwa ini dengan aturan dan mengarahkannya ke target seperti fungsi Lambda atau topik Amazon SNS untuk memulai otomatisasi Anda sendiri. Lihat Bereaksi terhadap peristiwa yang dikirim Image Builder.

Untuk informasi selengkapnya tentang peristiwa yang dikirim Image Builder dan bidang di setiap acara, lihatPesan acara yang dikirim Image Builder.

catatan

Bus acara adalah Region-specific. Aturan dan sumber daya yang dipanggilnya biasanya berada di Wilayah yang sama; untuk merutekan lintas Wilayah, targetkan bus acara di Wilayah tujuan. Image Builder menerbitkan acaranya ke bus acara default di Wilayah tempat build berjalan.

EventBridge istilah

Istilah-istilah berikut membantu Anda memahami cara EventBridge terintegrasi dengan pipeline Image Builder Anda.

Peristiwa

Menjelaskan perubahan dalam lingkungan yang mungkin memengaruhi satu atau lebih sumber daya aplikasi. Lingkungan dapat berupa AWS lingkungan, layanan atau aplikasi mitra SaaS, atau salah satu aplikasi atau layanan Anda. Anda juga dapat mengatur acara terjadwal pada timeline.

Bus acara

Pipeline yang menerima data peristiwa dari aplikasi dan layanan.

Sumber

Layanan atau aplikasi yang mengirim acara ke bus acara.

Target

Sumber daya atau titik akhir yang EventBridge dipanggil ketika cocok dengan aturan, mengirimkan data dari peristiwa ke target.

Aturan

Aturan mencocokkan peristiwa yang masuk dan mengirimkannya ke target untuk pemrosesan. Aturan tunggal dapat mengirim peristiwa ke beberapa target, yang kemudian dapat berjalan secara paralel. Aturan didasarkan baik pada pola peristiwa atau jadwal.

Pola

Pola peristiwa mendefinisikan struktur peristiwa dan bidang yang cocok dengan aturan untuk memulai tindakan target.

Jadwal

Aturan jadwal melakukan tindakan pada jadwal, seperti menjalankan pipeline Image Builder untuk menyegarkan gambar setiap tiga bulan. Ada dua jenis ekspresi jadwal:

  • Ekspresi C ron — Cocokkan kriteria penjadwalan tertentu menggunakan sintaks cron yang dapat menguraikan kriteria sederhana; misalnya, berjalan setiap minggu pada hari tertentu. Anda juga dapat menetapkan kriteria yang lebih kompleks, seperti berjalan triwulanan pada hari kelima setiap bulan, antara pukul 2 pagi dan 4 pagi.

  • Eksp resi nilai — Tentukan interval reguler saat target dipanggil, seperti setiap 12 jam.

Meli EventBridge hat aturan untuk pipeline Image Builder Anda

Tab EventBridge aturan di halaman detail pipeline Image Builder menampilkan bus EventBridge acara yang dapat diakses akun Anda, dan aturan untuk bus acara yang dipilih yang berlaku untuk pipeline saat ini. Tab ini juga terhubung langsung ke EventBridge konsol untuk membuat sumber daya baru.

Tindakan yang terhubung ke EventBridge konsol
  • Buat bus acara

  • Buat aturan

Untuk mempelajari lebih lanjut EventBridge, lihat topik berikut di Panduan EventBridge Pengguna Amazon.

Memicu pembangunan pipa sesuai jadwal

Tetapkan pipeline Image Builder sebagai target aturan EventBridge jadwal untuk menyegarkan gambar pada irama biasa. Contoh berikut membuat aturan yang memulai pembuatan pipeline setiap 90 hari.

catatan

Pipeline juga dapat membawa jadwal bawaan sendiri (ekspresi cron atau rate yang disimpan di pipeline). Jadwal itu dikelola oleh Image Builder dan terpisah dari EventBridge aturan apa pun:

  • Gunakan jadwal pipeline untuk membangun kembali berulang yang sederhana. Itu juga dapat menggerbang build pada pembaruan ketergantungan dan menonaktifkan saluran pipa yang gagal secara otomatis. Lihat Schedule di Refer ensi API Pembuat Gambar EC2.

  • Gunakan EventBridge aturan untuk memulai build dari pola peristiwa, atau untuk mengipkan satu pemicu ke beberapa target.

Konsol Manajemen AWS
  1. Buka konsol EC2 Image Builder di https://console.aws.amazon.com/imagebuilder/.

  2. Untuk melihat daftar pipeline gambar yang dibuat di bawah akun Anda, pilih Pipel ine gambar dari panel navigasi.

    catatan

    Daftar pipeline gambar mencakup indikator untuk jenis gambar keluaran yang dibuat oleh pipeline — AMI atauDocker.

  3. Untuk melihat detail atau mengedit pipeline, pilih tautan nama Pipeline. Ini membuka tampilan detail untuk pipa.

    catatan

    Anda juga dapat memilih kotak centang di sebelah nama Pipeline, lalu pilih Lihat detail.

  4. Buka tab EventBridge aturan.

  5. Pertahankan bus acara default yang telah dipilih sebelumnya di panel Event Bus.

  6. Pilih Buat aturan. Ini membawa Anda ke halaman Buat aturan di EventBridge konsol Amazon.

  7. Masukkan nama dan deskripsi aturan. Nama aturan harus unik dalam bus acara untuk Wilayah yang dipilih.

  8. Di panel Define pattern, pilih opsi Sch edule. Ini memperluas panel, dengan tarif tetap setiap opsi dipilih.

  9. Masukkan 90 di kotak pertama, dan pilih Hari dari daftar drop-down.

  10. Lakukan tindakan berikut di panel Pilih target:

    1. Pilih EC2 Image Builder dari daftar tarik - turun Target.

    2. Untuk menerapkan aturan ke pipeline Image Builder, pilih pipeline target dari daftar drop-down Image Pipeline.

    3. EventBridge membutuhkan izin untuk memulai pembangunan untuk pipeline yang dipilih. Untuk contoh ini, pertahankan opsi default untuk Buat peran baru untuk sumber daya spesifik ini.

    4. Pilih Tambahkan target.

  11. Pilih Buat

catatan

EventBridge Konsol saat ini dapat membuat jadwal melalui EventBridge Penjadwal, dan label serta langkah yang tepat dapat berubah seiring waktu. Panduan EventBridge Pengguna Amazon yang ditautkan bersifat otoritatif untuk pengalaman konsol saat ini.

AWS CLI

Langkah-langkah ini membuat aturan jadwal yang memulai pembuatan pipeline setiap 90 hari. EventBridge membutuhkan peran IAM yang dapat diasumsikan untuk memanggil imagebuilder:StartImagePipelineExecution pipeline Anda.

  1. Buat aturan dengan ekspresi tingkat:

    aws events put-rule \ --name refresh-image-every-90-days \ --schedule-expression "rate(90 days)"
  2. Buat peran IAM yang EventBridge dapat diasumsikan, dengan kebijakan kepercayaan ini:

    { "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "Service": "events.amazonaws.com" }, "Action": "sts:AssumeRole" }] }

    Lampirkan kebijakan izin yang memungkinkan pipeline untuk memulai:

    { "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "imagebuilder:StartImagePipelineExecution", "Resource": "arn:aws:imagebuilder:us-west-2:111122223333:image-pipeline/my-pipeline" }] }
  3. Tambahkan pipeline sebagai target aturan, mereferensikan peran dari langkah sebelumnya:

    aws events put-targets \ --rule refresh-image-every-90-days \ --targets '[{ "Id": "1", "Arn": "arn:aws:imagebuilder:us-west-2:111122223333:image-pipeline/my-pipeline", "RoleArn": "arn:aws:iam::111122223333:role/EventBridgeImageBuilderRole" }]'
  4. Konfirmasikan target terlampir:

    aws events list-targets-by-rule --rule refresh-image-every-90-days
catatan

Untuk mempelajari selengkapnya tentang pengaturan aturan ekspresi tarif yang tidak tercakup dalam contoh ini, lihat Ekspresi Nilai di Panduan EventBridge Pengguna Amazon.

Memicu pembuatan pipeline dari pola peristiwa

Alih-alih jadwal, Anda dapat memulai pembuatan pipeline saat acara cocok dengan pola. Buat aturan dengan pola peristiwa, lalu tambahkan pipeline Anda sebagai target (dengan peran IAM yang sama yang dijelaskan diMemicu pembangunan pipa sesuai jadwal).

Contoh berikut memulai build setiap kali gambar dasar tertentu menjadi AVAILABLE —misalnya, untuk mengrantai build gambar dependen setelah gambar dasarnya selesai. A resources walan mencakup aturan ke gambar dasar sehingga hanya cocok dengan gambar itu, dan bukan output pipeline dependen itu sendiri:

{ "source": ["aws.imagebuilder"], "detail-type": ["EC2 Image Builder Image State Change"], "detail": { "state": { "status": ["AVAILABLE"] } }, "resources": [{ "prefix": "arn:aws:imagebuilder:us-west-2:111122223333:image/my-base-image/" }] }
penting

Lingkup pola peristiwa ke gambar dasar, seperti yang ditunjukkan oleh resources awalan dalam contoh ini. Pola yang cocok dengan setiap AVAILABLE gambar di akun juga cocok dengan gambar keluaran pipeline dependen itu sendiri, yang memulai pipeline lagi dan dapat membuat loop build tanpa akhir. Filter pada nama gambar dasar tertentu atau awalan ARN sehingga aturan hanya cocok dengan gambar yang Anda inginkan.

Konsol Manajemen AWS
  1. Buka EventBridge konsol Amazon di https://console.aws.amazon.com/events/.

  2. Pilih Aturan, lalu Buat aturan. Pertahankan bus acara default.

  3. Masukkan nama dan deskripsi. Di bawah Jenis aturan, pilih Aturan dengan pola acara.

  4. Untuk sumber acara, pilih Lainnya, dan tempel pola acara di atas ke kotak Pola acara.

  5. Di panel Pilih target, pilih EC2 Image Builder dari daftar tarik - turun Target, lalu pilih pipeline yang akan dibangun dari daftar drop-down Image Pipeline.

  6. EventBridge membutuhkan izin untuk memulai pipa. Pertahankan opsi default untuk Buat peran baru untuk sumber daya khusus ini.

  7. Pilih Buat aturan.

AWS CLI

Buat aturan dan tambahkan pipeline sebagai target:

aws events put-rule \ --name rebuild-on-base-available \ --event-pattern '{"source":["aws.imagebuilder"],"detail-type":["EC2 Image Builder Image State Change"],"detail":{"state":{"status":["AVAILABLE"]}},"resources":[{"prefix":"arn:aws:imagebuilder:us-west-2:111122223333:image/my-base-image/"}]}' aws events put-targets \ --rule rebuild-on-base-available \ --targets '[{"Id":"1","Arn":"arn:aws:imagebuilder:us-west-2:111122223333:image-pipeline/dependent-pipeline","RoleArn":"arn:aws:iam::111122223333:role/EventBridgeImageBuilderRole"}]'

Untuk acara yang dapat Anda cocokkan dan bidangnya, lihatPesan acara yang dikirim Image Builder.

Bereaksi terhadap peristiwa yang dikirim Image Builder

Image Builder menerbitkan peristiwa ke bus peristiwa default ketika sumber daya Anda mencapai titik signifikan—misalnya, ketika gambar berubah status, pemindaian selesai, langkah alur kerja berhenti untuk input, atau pipeline dinonaktifkan secara otomatis. Anda dapat mencocokkan peristiwa ini dengan aturan dan mengarahkannya ke target untuk memulai otomatisasi Anda sendiri. Pola umum meliputi:

  • Beri tahu tim melalui topik Amazon SNS ketika gambar menjadi AVAILABLE atauFAILED.

  • Memanggil fungsi Lambda untuk mendaftarkan AMI baru di penyimpanan parameter, memulai pengujian kepatuhan eksternal, atau memperbarui pipeline penerapan.

  • Peringatan tentang temuan keamanan saat pemindaian melaporkan CV penting.

  • Mendorong alur kerja persetujuan saat langkah WaitForAction alur kerja menjeda build.

Untuk bertindak pada peristiwa yang dikirim Image Builder, buat aturan yang pola kejadiannya cocok dengan event source (aws.imagebuilder) dandetail-type, dan secara opsional mempersempit bidang di dalamnyadetail. Kemudian tambahkan target yang menjalankan otomatisasi Anda.

Contoh: Beri tahu pada penyelesaian gambar (AVAILABLEatauFAILED)

{ "source": ["aws.imagebuilder"], "detail-type": ["EC2 Image Builder Image State Change"], "detail": { "state": { "status": ["AVAILABLE", "FAILED"] } } }

Contoh: Peringatan hanya saat pemindaian menemukan CV penting

Gunakan pencocokan numerik sehingga pemindaian bersih tidak memicu aturan:

{ "source": ["aws.imagebuilder"], "detail-type": ["EC2 Image Builder CVE Detected"], "detail": { "finding-severity-counts": { "critical": [{ "numeric": [">", 0] }] } } }
Konsol Manajemen AWS
  1. Buka EventBridge konsol Amazon di https://console.aws.amazon.com/events/.

  2. Pilih Aturan, lalu Buat aturan. Pertahankan bus acara default.

  3. Masukkan nama dan deskripsi. Di bawah Jenis aturan, pilih Aturan dengan pola acara.

  4. Untuk sumber acara, pilih Lainnya, dan tempel salah satu pola acara di atas ke dalam kotak Pola acara.

  5. Pilih target Anda—misalnya, topik Amazon SNS atau fungsi Lambda—dan selesaikan pengaturan target.

  6. Pilih Buat aturan.

AWS CLI

Buat aturan dan kirim acara yang cocok ke topik Amazon SNS:

aws events put-rule \ --name image-available-or-failed \ --event-pattern '{"source":["aws.imagebuilder"],"detail-type":["EC2 Image Builder Image State Change"],"detail":{"state":{"status":["AVAILABLE","FAILED"]}}}' aws events put-targets \ --rule image-available-or-failed \ --targets '[{"Id":"1","Arn":"arn:aws:sns:us-west-2:111122223333:image-status"}]'

EventBridge juga membutuhkan izin untuk mengirim acara ke target Anda. Untuk informasi selengkapnya tentang izin yang diperlukan setiap jenis target, lihat Izin untuk mengirim peristiwa ke target dan Menggunakan kebijakan berbasis sumber daya untuk Amazon EventBridge di Panduan EventBridge Pengguna Amazon.

catatan

Saat Anda mencocokkan EC2 Image Builder Workflow Step Waiting acara, target Anda dapat men workflow-step-execution-id elepon SendWorkflowStepAction dengan action dari acara dan RESUME atauSTOP. Lihat WaitForAction.