Buat versi baru resep wadah - EC2 Image Builder

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

Buat versi baru resep wadah

Bagian ini menunjukkan cara membuat versi baru dari resep wadah.

Buat versi resep wadah baru dengan konsol

Membuat versi baru dari resep wadah hampir sama dengan membuat resep baru. Perbedaannya adalah bahwa detail tertentu dipilih sebelumnya agar sesuai dengan resep dasar, dalam banyak kasus. Daftar berikut menjelaskan perbedaan antara membuat resep baru dan membuat versi baru dari resep yang sudah ada.

Detail resep
  • Nama - tidak dapat diedit.

  • Versi - Diperlukan. Detail ini tidak diisi sebelumnya dengan versi saat ini atau jenis urutan apa pun. Masukkan nomor versi yang ingin Anda buat dalam format major.minor.patch. Jika versi sudah ada, Anda mengalami kesalahan.

Gambar dasar
  • Pilih opsi gambar - Dipilih sebelumnya, tetapi dapat diedit. Jika Anda mengubah pilihan Anda untuk sumber gambar dasar Anda, Anda mungkin kehilangan detail lain yang bergantung pada opsi asli yang Anda pilih.

    Untuk melihat detail yang terkait dengan pemilihan gambar dasar Anda, pilih tab yang cocok dengan pilihan Anda.

    Managed images
    • Sistem Operasi Gambar (OS) - Tidak dapat diedit.

    • Nama gambar — Dipilih sebelumnya, berdasarkan kombinasi pilihan gambar dasar yang Anda buat untuk resep yang ada. Namun, jika Anda mengubah opsi Pilih gambar, Anda kehilangan nama Gambar yang telah dipilih sebelumnya.

    • Opsi versi otomatisTidak cocok dengan resep dasar Anda. Opsi versi otomatis default ke opsi Gunakan versi OS yang dipilih.

      penting

      Jika Anda menggunakan versi semantik untuk memulai build pipeline, pastikan Anda mengubah nilai ini menjadi Gunakan versi OS terbaru yang tersedia. Untuk mempelajari lebih lanjut tentang pembuatan versi semantik untuk sumber daya Image Builder, lihat. Versi semantik

    ECR image
    • Sistem Operasi Gambar (OS) - Dipilih sebelumnya, tetapi dapat diedit.

    • Versi OS - Dipilih sebelumnya, tetapi dapat diedit.

    • ID gambar ECR - Diisi sebelumnya, tetapi dapat diedit.

    Docker Hub image
    • Sistem Operasi Gambar (OS) - Tidak dapat diedit.

    • Versi OS - Dipilih sebelumnya, tetapi dapat diedit.

    • ID gambar Docker - Diisi sebelumnya, tetapi dapat diedit.

Konfigurasi instans
  • ID AMI - Diisi sebelumnya, tetapi dapat diedit.

  • Penyimpanan (volume)

    EBS volume 1 (root AMI) — Diisi sebelumnya. Anda tidak dapat mengedit volume root Nama perangkat, Snapshot, atau pilihan IOPS. Namun, Anda dapat mengubah semua pengaturan yang tersisa, seperti Ukuran. Anda juga dapat menambahkan volume baru.

    catatan

    Jika Anda menetapkan AMI dasar yang dibagikan dengan Anda dari akun lain, snapshot untuk volume sekunder apa pun yang ditentukan juga harus dibagikan dengan akun Anda.

Direktori kerja
  • Jalur direktori kerja - Diisi sebelumnya, tetapi dapat diedit.

Komponen-komponen
  • Komponen — Komponen yang sudah disertakan dalam resep ditampilkan di bagian Komponen yang dipilih di akhir setiap daftar komponen (build dan test). Anda dapat menghapus atau menyusun ulang komponen yang dipilih sesuai dengan kebutuhan Anda.

    Komponen pengerasan CIS tidak mengikuti aturan pemesanan komponen standar dalam resep Image Builder. Komponen pengerasan CIS selalu berjalan terakhir untuk memastikan bahwa tes benchmark berjalan terhadap gambar keluaran Anda.

    catatan

    Daftar komponen build dan test menampilkan komponen yang tersedia berdasarkan tipe pemilik komponen. Untuk menambah atau memperbarui komponen resep Anda, pilih jenis pemilik untuk komponen yang Anda cari. Misalnya, jika Anda ingin menambahkan komponen yang terkait dengan gambar dasar tempat Anda berlanggananAWS Marketplace, pilih Third party managed dari daftar jenis pemilik, di samping bilah pencarian.

    Anda dapat mengonfigurasi pengaturan berikut untuk komponen yang Anda pilih:

    • Opsi pembuatan versi - Dipilih sebelumnya, tetapi Anda dapat mengubahnya. Kami menyarankan Anda memilih opsi Gunakan versi komponen terbaru yang tersedia untuk memastikan bahwa build gambar Anda selalu mengambil versi terbaru dari komponen tersebut. Jika Anda perlu menggunakan versi komponen tertentu dalam resep Anda, Anda dapat memilih Tentukan versi komponen, dan masukkan versi dalam kotak Versi komponen yang muncul.

    • Parameter input - Menampilkan parameter input yang diterima komponen. Nilai sudah diisi sebelumnya dengan nilai dari versi resep sebelumnya. Jika Anda menggunakan komponen ini untuk pertama kalinya dalam resep ini, dan nilai default ditentukan untuk komponen, nilai default muncul di kotak Nilai dengan teks berwarna abu-abu. Jika tidak ada nilai lain yang dimasukkan, AWSTOE gunakan nilai default.

      penting

      Parameter komponen adalah nilai teks biasa, dan masukAWS CloudTrail. Kami menyarankan Anda menggunakan AWS Secrets Manager atau AWS Systems Manager Parameter Store untuk menyimpan rahasia Anda. Untuk informasi selengkapnya tentang Secrets Manager, lihat Apa itu Secrets Manager? dalam AWS Secrets ManagerUser Guide. Untuk informasi selengkapnya tentang AWS Systems Manager Parameter Store, lihat AWS Systems ManagerParameter Menyimpan di Panduan AWS Systems Manager Pengguna.

    Untuk memperluas pengaturan untuk opsi Pembuatan versi atau Parameter input, Anda dapat memilih panah di sebelah nama pengaturan. Untuk memperluas semua pengaturan untuk semua komponen yang dipilih, Anda dapat mengaktifkan tombol Expand all off and on.

Repositori target
  • Nama repositori target - Repositori Amazon ECR tempat image keluaran Anda disimpan jika tidak ada repositori lain yang ditentukan dalam konfigurasi distribusi pipeline untuk Wilayah tempat pipeline berjalan (Wilayah 1).

Untuk membuat versi resep wadah baru:
  1. Di bagian atas halaman detail resep kontainer, pilih Buat versi baru. Anda dibawa ke halaman Buat resep untuk resep wadah.

  2. Untuk membuat versi baru, buat perubahan, lalu pilih Buat resep.

Untuk informasi selengkapnya tentang cara membuat resep kontainer saat Anda membuat pipeline gambar, lihat Langkah 2: Pilih resep di bagian Memulai panduan ini.

Buat resep wadah dengan AWS CLI

Untuk membuat resep kontainer Image Builder dengan imagebuilder create-container-recipe perintah diAWS CLI, ikuti langkah-langkah berikut:

Prasyarat

Sebelum Anda menjalankan perintah Image Builder di bagian ini untuk membuat resep kontainer denganAWS CLI, Anda harus membuat komponen yang akan digunakan resep. Contoh resep wadah pada langkah berikut mengacu pada contoh komponen yang dibuat di Buat komponen dengan AWS CLI bagian panduan ini.

Setelah Anda membuat komponen Anda, atau jika Anda menggunakan komponen yang ada, perhatikan ARN yang ingin Anda sertakan dalam resep.

  1. Buat file JSON input CLI

    Anda dapat memberikan semua input untuk create-container-recipe perintah dengan parameter perintah inline. Namun, perintah yang dihasilkan bisa sangat panjang. Untuk merampingkan perintah, Anda dapat menyediakan file JSON yang berisi semua pengaturan resep wadah

    catatan

    Konvensi penamaan untuk nilai data dalam file JSON mengikuti pola yang ditentukan untuk parameter permintaan tindakan Image Builder API. Untuk meninjau parameter permintaan perintah API, lihat CreateContainerRecipeperintah di Referensi API EC2 Image Builder.

    Untuk memberikan nilai data sebagai parameter baris perintah, lihat nama parameter yang ditentukan dalam Referensi AWS CLI Perintah.

    Berikut adalah ringkasan parameter dalam contoh ini:

    • komponen (array objek, diperlukan) - Berisi array ComponentConfiguration objek. Setidaknya satu komponen build harus ditentukan:

      catatan

      Image Builder menginstal komponen dalam urutan yang Anda tentukan dalam resep. Namun, komponen pengerasan CIS selalu berjalan terakhir untuk memastikan bahwa tes benchmark berjalan terhadap gambar keluaran Anda.

      • ComponentARN (string, diperlukan) — Komponen ARN.

        Tip

        Untuk menggunakan contoh untuk membuat resep wadah Anda sendiri, ganti contoh ARN dengan ARN untuk komponen yang Anda gunakan untuk resep Anda,. Ini termasukWilayah AWS, nama, dan nomor versi untuk masing-masing.

      • parameter (array objek) — Berisi array ComponentParameter objek.

        penting

        Parameter komponen adalah nilai teks biasa, dan masukAWS CloudTrail. Kami menyarankan Anda menggunakan AWS Secrets Manager atau AWS Systems Manager Parameter Store untuk menyimpan rahasia Anda. Untuk informasi selengkapnya tentang Secrets Manager, lihat Apa itu Secrets Manager? dalam AWS Secrets ManagerUser Guide. Untuk informasi selengkapnya tentang AWS Systems Manager Parameter Store, lihat AWS Systems ManagerParameter Menyimpan di Panduan AWS Systems Manager Pengguna.

        • name (string, required) — Nama parameter komponen yang akan ditetapkan.

        • value (array string, required) — Berisi array string untuk mengatur nilai untuk parameter komponen bernama. Jika ada nilai default yang ditentukan untuk komponen, dan tidak ada nilai lain yang disediakan, AWSTOE gunakan nilai default.

    • ContainerType (string, required) - Jenis wadah untuk membuat. Nilai yang valid termasukDOCKER.

    • dockerfileTemplateData(string) - Template Dockerfile yang digunakan untuk membangun gambar Anda, dinyatakan sebagai gumpalan data sebaris.

    • nama (string, wajib) — Nama resep wadah.

    • deskripsi (string) — Deskripsi resep wadah.

    • ParentImage (string, required) - Gambar yang digunakan resep kontainer sebagai dasar untuk gambar khusus Anda. Nilainya bisa berupa gambar dasar ARN atau ID AMI.

    • PlatforMoverride (string) - Menentukan platform sistem operasi ketika Anda menggunakan gambar dasar kustom.

    • SemanticVersion <major>(string, required) - Versi semantik dari resep kontainer yang ditentukan dalam format berikut, dengan nilai numerik di setiap posisi untuk menunjukkan versi tertentu:. <minor>. <patch>. Sebuah contoh akan 1.0.0. Untuk mempelajari lebih lanjut tentang pembuatan versi semantik untuk sumber daya Image Builder, lihat. Versi semantik

    • tag (peta string) — Tag yang dilampirkan pada resep wadah.

    • InstanceConfiguration (object) - Sekelompok opsi yang dapat digunakan untuk mengonfigurasi instance untuk membangun dan menguji gambar kontainer.

      • image (string) — ID AMI untuk digunakan sebagai image dasar untuk container build dan test instance. Jika Anda tidak menentukan nilai ini, Image Builder menggunakan AMI yang dioptimalkan Amazon ECS yang sesuai sebagai gambar dasar.

      • blockDeviceMappings(array objek) — Mendefinisikan perangkat blok yang akan dilampirkan untuk membangun instance dari Image Builder AMI yang ditentukan dalam image parameter.

        • DeviceName (string) - Perangkat yang diterapkan pemetaan ini.

        • ebs (object) - Digunakan untuk mengelola konfigurasi khusus Amazon EBS untuk pemetaan ini.

          • deleteOnTermination(Boolean) — Digunakan untuk mengkonfigurasi penghapusan pada penghentian perangkat terkait.

          • dienkripsi (Boolean) - Digunakan untuk mengkonfigurasi enkripsi perangkat.

          • VolumeSize (integer) - Digunakan untuk mengganti ukuran volume perangkat.

          • VolumeType (string) - Digunakan untuk mengganti jenis volume perangkat.

    • TargetRepository (object, required) - Repositori tujuan untuk image container jika tidak ada repositori lain yang ditentukan dalam konfigurasi distribusi pipeline Anda untuk Wilayah tempat pipeline berjalan (Wilayah 1).

      • RepositoryName (string, required) - Nama repositori kontainer tempat gambar kontainer output disimpan. Nama ini diawali dengan lokasi repositori.

      • service (string, required) - Menentukan layanan di mana gambar ini terdaftar.

    • WorkingDirectory (string) - Direktori kerja untuk digunakan selama alur kerja build dan pengujian.

    { "components": [ { "componentArn": "arn:aws:imagebuilder:us-east-1:123456789012:component/helloworldal2/x.x.x" } ], "containerType": "DOCKER", "description": "My Linux Docker container image", "dockerfileTemplateData": "FROM {{{ imagebuilder:parentImage }}}\n{{{ imagebuilder:environments }}}\n{{{ imagebuilder:components }}}", "name": "amazonlinux-container-recipe", "parentImage": "amazonlinux:latest", "platformOverride": "Linux", "semanticVersion": "1.0.2", "tags": { "sometag" : "Tag detail" }, "instanceConfiguration": { "image": "ami-1234567890", "blockDeviceMappings": [ { "deviceName": "/dev/xvda", "ebs": { "deleteOnTermination": true, "encrypted": false, "volumeSize": 8, "volumeType": "gp2" } } ] }, "targetRepository": { "repositoryName": "myrepo", "service": "ECR" }, "workingDirectory": "/tmp" }
  2. Buat resepnya

    Gunakan perintah berikut untuk membuat resep. Berikan nama file JSON yang Anda buat pada langkah sebelumnya dalam --cli-input-json parameter:

    aws imagebuilder create-container-recipe --cli-input-json file://create-container-recipe.json
    catatan
    • Anda harus menyertakan notasi file:// pada awal jalur file JSON.

    • Jalur untuk file JSON harus mengikuti konvensi yang sesuai untuk sistem operasi dasar tempat Anda menjalankan perintah. Sebagai contoh, Windows menggunakan garis miring terbalik (\) sedangkan Linux menggunakan garis miring (/) untuk merujuk ke jalur direktori.