View a markdown version of this page

Cara kerja aturan manajemen siklus hidup untuk sumber daya gambar 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.

Cara kerja aturan manajemen siklus hidup untuk sumber daya gambar Image Builder

Aturan siklus hidup membuat gambar Anda tetap segar dan mengurangi biaya infrastruktur, seperti penyimpanan snapshot untuk AMI keluaran dan penyimpanan repositori Amazon ECR untuk kontainer.

Kebijakan siklus hidup mendukung jenis aturan ini:

Menghentikan aturan

Menetapkan status sumber daya gambar Image Builder keDeprecated. Pipeline Image Builder masih berjalan untuk gambar yang tidak digunakan lagi. Anda dapat secara opsional menyetel waktu penghentian untuk AMI terkait tanpa memengaruhi kemampuan Anda untuk meluncurkan instance baru.

AMI yang tidak digunakan lagi tidak muncul dalam pencarian umum. Misalnya, describe-images perintah Amazon EC2 mengecualikan AMI yang tidak digunakan lagi dari hasil. Untuk menemukan AMI yang tidak digunakan lagi, tentukan ID AMI secara langsung.

catatan

Aturan ini tidak berlaku untuk gambar berbasis kontainer.

Nonaktifkan aturan

Menetapkan status sumber daya gambar Image Builder keDisabled. Ini mencegah pipeline Image Builder berjalan untuk gambar ini. Anda dapat menonaktifkan AMI terkait secara opsional untuk mencegah peluncuran instans baru.

AMI yang dinonaktifkan menjadi pribadi dan tidak lagi meluncurkan instance baru. Akun, organisasi, atau unit organisasi yang sebelumnya memiliki akses bersama kehilangan akses itu.

catatan

Aturan ini tidak berlaku untuk gambar berbasis kontainer.

Hapus aturan

Menghapus sumber daya gambar berdasarkan usia atau hitungan. Anda menentukan ambang batas yang memenuhi kebutuhan Anda. Ketika sumber daya gambar Image Builder melewati ambang batas, itu akan dihapus. Anda dapat secara opsional membatalkan pendaftaran AMI terkait atau menghapus snapshot untuk AMI tersebut. Anda juga dapat menentukan tag untuk sumber daya yang ingin Anda pertahankan melewati ambang batas.

Untuk gambar kontainer, aturan ini menghapus sumber daya gambar kontainer Image Builder. Anda juga dapat menghapus gambar kontainer dari repositori ECR untuk mencegah peluncuran kontainer baru.

Prioritas aturan dan urutan evaluasi

Jika kebijakan memiliki beberapa jenis aturan, Image Builder mengevaluasi setiap sumber daya dalam urutan ini:

  1. Menghentikan aturan

  2. Nonaktifkan aturan

  3. Hapus aturan

penting

Hanya satu tindakan yang berlaku untuk setiap sumber daya per eksekusi. Jika sumber daya cocok dengan aturan usang, Image Builder akan menghentikan aturan tersebut dan melewatkan aturan nonaktifkan dan hapus untuk sumber daya tersebut selama proses yang sama. Dalam eksekusi berikutnya, Image Builder mengevaluasi sumber daya terhadap aturan lain jika memenuhi kriteria mereka.

Urutan prioritas ini mendukung strategi siklus hidup progresif. Misalnya, Anda dapat mengonfigurasi kebijakan untuk menghentikan gambar setelah 90 hari, menonaktifkannya setelah 120 hari, dan menghapusnya setelah 180 hari. Setiap eksekusi hanya menerapkan tindakan pencocokan prioritas tertinggi.

Gambar menyatakan bahwa melewatkan evaluasi aturan

Image Builder melewatkan gambar di status tertentu untuk mencegah tindakan duplikat:

  • Aturan usang - Image Builder melewatkan gambar yang sudah usang, dinonaktifkan, gagal, atau dibatalkan.

  • Menonaktifkan aturan - Image Builder melewatkan gambar yang sudah dinonaktifkan, gagal, atau dibatalkan.

  • Aturan hapus - Image Builder mengevaluasi gambar dalam keadaan apa pun untuk dihapus, tunduk pada aturan penyimpanan dan pengecualian.

Aturan pengecualian siklus hidup AMI

Aturan pengecualian melindungi AMI tertentu dari tindakan siklus hidup. Konfigurasikan aturan pengecualian di Konsol Manajemen AWS, API, atau. AWS CLI

Kebijakan siklus hidup mendukung jenis aturan pengecualian ini:

  • Tag-based pengecualian - Tidak termasuk sumber daya gambar Image Builder dengan tag tertentu (hingga 50 tag). Untuk informasi selengkapnya tentang cara kerja tag pada tingkat sumber daya yang berbeda, lihatTag sebagai pemilih sumber daya vs. aturan pengecualian.

  • Pengecualian AMI Publik - Tidak termasuk AMI yang dibagikan secara publik.

  • Pengecualian terakhir yang diluncurkan - Tidak termasuk AMI yang meluncurkan instance dalam jangka waktu tertentu.

    catatan

    Amazon EC2 melaporkan waktu peluncuran terakhir dengan penundaan 24 jam. Peluncuran dalam 24 jam terakhir mungkin tidak tercermin saat pemeriksaan pengecualian berjalan.

  • Pengecualian wilayah - Tidak termasuk AMI secara spesifik. Wilayah AWS

  • Pengecualian akun bersama - Tidak termasuk AMI yang dibagikan dengan spesifik. Akun AWS

catatan

Image Builder melewatkan gambar dengan build yang sedang berlangsung (menunggu, membuat, membangun, mengimpor, menguji, mendistribusikan, atau mengintegrasikan status). Image Builder mengevaluasi gambar-gambar ini dalam proses terjadwal berikutnya.

Urutan evaluasi aturan pengecualian AMI

EC2 Image Builder AMI-level mengevaluasi aturan pengecualian exclusionRules.amis () pada AMI keluaran setelah menentukan kelayakan untuk tindakan siklus hidup. Aturan ini berlaku untuk sumber daya Amazon EC2 AMI, bukan sumber daya gambar Image Builder. Penghitungan retensi berjalan secara terpisah. AMI yang dikecualikan tidak menggunakan slot retensi. Image Builder memeriksa kondisi secara berurutan dan melewatkan AMI pada pertandingan pertama:

  1. Pengecualian wilayah — Memeriksa apakah AMI berada di Wilayah yang dikecualikan.

  2. Pengecualian AMI Publik — Memeriksa apakah AMI bersifat publik dan isPublic pengecualian diaktifkan.

  3. Pengecualian tag — Memeriksa apakah AMI memiliki tag yang cocok dengan peta tag pengecualian.

  4. Pengecualian akun bersama — Memeriksa apakah AMI dibagikan dengan akun yang tercantum dalam pengecualian.

  5. Pengecualian terakhir diluncurkan — Memeriksa apakah AMI diluncurkan dalam jendela waktu yang dikecualikan.

Dalam detail sumber daya eksekusi, AMI yang dilewati menampilkan SKIPPED status dengan alasan yang menunjukkan kondisi pengecualian mana yang cocok.

Tag sebagai pemilih sumber daya vs. aturan pengecualian

Tag melayani dua tujuan berbeda dalam kebijakan siklus hidup. Setiap mekanisme tag beroperasi pada tingkat sumber daya tertentu:

  • Image Builder image — Sumber daya Image Builder yang melacak build (format ARN:arn:aws:imagebuilder:region:account:image/name/version). Kelola tag pada sumber daya ini melalui Image Builder.

  • Output AMI atau image kontainer — Gambar kontainer Amazon EC2 AMI atau Amazon ECR yang mendasari yang dihasilkan Image Builder. Kelola tag pada sumber daya ini masing-masing melalui Amazon EC2 atau Amazon ECR.

Tag sebagai pemilih sumber daya (cakupan kebijakan)

Tag-based pemilihan resource mengevaluasi tag pada resource image Image Builder saja, bukan pada AMI keluaran atau container. Image Builder menggunakan tag ini untuk menemukan sumber daya yang berlaku untuk kebijakan tersebut.

Konfigurasikan pemilihan sumber daya berbasis tag di resourceSelection.tagMap bidang. Setiap entri adalah pasangan kunci-nilai. Kebijakan ini memilih gambar Image Builder yang cocok dengan pasangan nilai kunci tag tertentu (logika OR). Image Builder tidak mengevaluasi gambar tanpa tag yang cocok.

Tag sebagai aturan pengecualian (pengecualian tingkat aturan)

Tag pengecualian bekerja dalam arah yang berlawanan. Setelah Image Builder memilih sumber daya berdasarkan cakupan kebijakan, Image Builder memeriksa setiap sumber daya terhadap aturan pengecualian sebelum mengambil tindakan apa pun. Konfigurasikan tag pengecualian pada dua tingkat, masing-masing beroperasi pada jenis sumber daya yang berbeda:

exclusionRules.tagMap

Mengevaluasi tag pada sumber daya gambar Image Builder saja. Tidak memeriksa tag pada AMI atau wadah yang mendasarinya. Jika tag gambar Image Builder cocok dengan entri (kunci yang tepat dan kecocokan nilai), Image Builder melewatkan gambar dan semua sumber daya keluaran terkait.

exclusionRules.amis.tagMap

Mengevaluasi tag pada output AMI ( EC2-level sumber daya Amazon) selama pemrosesan sumber daya terkait. Gunakan ini untuk mengecualikan AMI keluaran tertentu berdasarkan tag Amazon EC2 mereka (misalnya, tag yang diterapkan melalui pengaturan distribusi atau langsung melalui Amazon EC2).

penting

Pemilihan sumber daya dan exclusionRules.tagMap jangan mengevaluasi tag pada AMI keluaran (tag Amazon EC2) atau wadah (tag Amazon ECR). Untuk mengecualikan AMI keluaran berdasarkan tag Amazon EC2, gunakan. exclusionRules.amis.tagMap

contoh Pemilih tag dan pengecualian bekerja sama

Kebijakan dengan pengaturan ini:

  • Tag pemilihan sumber daya: Environment: Production (dievaluasi pada sumber daya gambar Image Builder)

  • Image-level tag pengecualian (exclusionRules.tagMap): Retain: True (dievaluasi pada sumber daya gambar Image Builder)

  • AMI-level tag pengecualian (exclusionRules.amis.tagMap): SharedWith: Partner (dievaluasi pada AMI keluaran)

Image Builder melakukan langkah-langkah berikut:

  1. Pemilihan sumber daya - Image Builder menemukan semua sumber daya gambar Image Builder ditandaiEnvironment: Production.

  2. Image-level pengecualian - Image Builder memeriksa setiap gambar Image Builder yang dipilih untuk tagRetain: True. Image Builder melewatkan gambar dengan tag ini, termasuk sumber daya outputnya.

  3. AMI-level pengecualian - Image Builder memeriksa AMI keluaran (sumber daya Amazon EC2) dari gambar yang tersisa untuk tag. SharedWith: Partner AMI dengan tag ini dilewati.

Bagaimana retensi dihitung

Saat Anda mengonfigurasi pengaturan retensi untuk aturan penghapusan, filter AGE dan COUNT mengevaluasi sumber daya gambar Image Builder Anda, tidak secara langsung terhadap AMI atau container keluaran.

penting

Filter AGE menggunakan tanggal pembuatan sumber daya gambar Image Builder (disetel setelah build selesai), bukan AMI keluaran atau tanggal pembuatan container. Filter COUNT menghitung sumber daya gambar Image Builder per versi resep, bukan AMI keluaran atau kontainer.

Perhitungan retensi bergantung pada cara Anda menentukan versi resep dalam cakupan kebijakan Anda:

Versi tertentu (misalnya,1.0.0)

Jumlah retensi berlaku untuk gambar Image Builder yang dibuat dengan versi resep yang tepat. Image Builder mempertahankan gambar terbaru (berdasarkan tanggal pembuatan) terlebih dahulu.

Pola versi wildcard (misalnya,1.x.x)

Jumlah retensi berlaku secara independen per versi resep yang cocok. Misalnya, 1.x.x dengan jumlah retensi 5 mempertahankan 5 gambar terbaru untuk1.0.0, 5 terbaru untuk1.1.0, dan seterusnya.

Tag-based pemilihan sumber daya

Dengan pemilihan sumber daya berbasis tag (lihatTag sebagai pemilih sumber daya vs. aturan pengecualian), retensi juga dihitung per versi resep. Image Builder mengurutkan gambar terbaru-pertama dalam setiap versi dan menerapkan jumlah retensi secara independen per grup versi.

Age-based vs. filter hapus berbasis hitungan

Aturan hapus menggunakan salah satu dari dua jenis filter untuk menentukan kelayakan penghapusan:

AGEmenyaring

Mempertahankan gambar Image Builder lebih baru dari ambang usia yang ditentukan (dalam hari, minggu, bulan, atau tahun dari tanggal pembuatan gambar Image Builder). Anda dapat mengatur retainAtLeast untuk menyimpan jumlah minimum gambar terbaru per versi resep, tanpa memandang usia.

COUNTmenyaring

Mempertahankan gambar N Image Builder terbaru per versi resep. Semua gambar di luar jumlah yang ditentukan memenuhi syarat untuk dihapus.

Perilaku retensi tambahan berlaku:

  • Gambar Image Builder yang gagal atau dibatalkan tidak dihitung terhadap batas retensi dan selalu memenuhi syarat untuk dihapus.

  • Image Builder memproses gambar terbaru-terlebih dahulu dan menerapkan jumlah retensi sebelum mengevaluasi kelayakan penghapusan.

Bagaimana tindakan siklus hidup memengaruhi sumber daya terkait

Tindakan siklus hidup pada image Image Builder memengaruhi AMI atau container keluaran terkait, tergantung pada jenis aturan dan konfigurasi:

Menghentikan

Menetapkan status sumber daya gambar Image Builder keDeprecated. Anda juga dapat menghentikan AMI keluaran terkait. AMI yang tidak digunakan lagi tidak muncul dalam penelusuran umum tetapi tetap dapat digunakan oleh ID AMI. Image Builder menambahkan DeprecatedBy: EC2 Image Builder tag ke setiap AMI yang tidak digunakan lagi.

Berlaku untuk AMI-based gambar saja, bukan wadah.

Nonaktifkan

Menetapkan status sumber daya gambar Image Builder keDisabled. Anda juga dapat menonaktifkan AMI keluaran terkait. AMI yang dinonaktifkan menjadi pribadi dan tidak lagi meluncurkan instance baru.

Berlaku untuk AMI-based gambar saja, bukan wadah.

Delete

Menghapus sumber daya gambar Image Builder. Anda juga dapat menghapus:

  • Output AMI didistribusikan ke akun lain Wilayah AWS dan

  • Snapshot yang terkait dengan AMI tersebut

  • Wadah didistribusikan ke repositori Amazon ECR

Berlaku untuk gambar berbasis kontainer AMI-based dan kontainer.

catatan

Image Builder membuat keputusan tindakan siklus hidup pada tingkat gambar. Sumber daya keluaran terkait (AMI, snapshot, container) hanya berubah jika Anda mengonfigurasi aturan untuk memasukkannya.

Transisi status sumber daya yang diizinkan

Kebijakan siklus hidup dan sumber daya gambar transisi StartResourceStateUpdate API di antara status ini:

Tersedia → Usang

Menandai gambar yang tersedia sebagai usang. Gambar tetap dapat digunakan oleh ID AMI tetapi tidak muncul dalam pencarian umum. Image Builder menambahkan DeprecatedBy: EC2 Image Builder tag untuk melacak.

Tersedia atau Usang → Dinonaktifkan

Menjadikan AMI pribadi dan mencegah peluncuran instans baru. Jika AMI sebelumnya tidak digunakan lagi, Image Builder menghapus tag usang karena gambar dipindahkan ke status yang lebih ketat.

Status non-bangunan apa pun → Dihapus

Membatalkan pendaftaran AMI atau menghapus gambar kontainer dari ECR. Anda dapat menyertakan snapshot terkait atau container yang mendasari untuk dihapus.

Usang atau Dinonaktifkan → Tersedia

StartResourceStateUpdateAPI mengembalikan image yang tidak digunakan lagi atau dinonaktifkan ke status yang tersedia. Ini membalikkan penghentian, mengaktifkan kembali AMI, dan menghapus tanggal dan tag penghentian. DeprecatedBy Transisi ini hanya berfungsi melalui API manual, bukan eksekusi kebijakan otomatis.

catatan

Gambar yang sedang dibangun (dalam keadaan tertunda, membuat, membangun, mengimpor, menguji, mendistribusikan, atau mengintegrasikan status) tidak mengubah status. Pembaruan status manual pada gambar dengan build aktif gagal dengan kesalahan.

Melihat detail aturan untuk kebijakan siklus hidup

Di konsol, halaman detail kebijakan siklus hidup memiliki halaman Tab Aturan yang menampilkan detail aturan untuk kebijakan tersebut.

Di AWS CLI, jalankan perintah get-lifecycle-policy. Respons mencakup semua tindakan yang dikonfigurasi (aturan) dengan pengaturannya.