View a markdown version of this page

Bagaimana Image Builder menggunakan AWS Task Orchestrator and Executor aplikasi untuk mengelola komponen - EC2 Image Builder

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

Bagaimana Image Builder menggunakan AWS Task Orchestrator and Executor aplikasi untuk mengelola komponen

EC2 Image Builder menggunakan aplikasi AWS Task Orchestrator and Executor (AWSTOE) untuk mengatur alur kerja yang kompleks, memodifikasi konfigurasi sistem, dan menguji gambar Anda tanpa memerlukan skrip atau kode devops tambahan. Aplikasi ini mengelola dan menjalankan komponen yang mengimplementasikan skema dokumen deklaratifnya.

AWSTOE adalah aplikasi mandiri yang diinstal Image Builder pada instance build dan uji saat Anda membuat gambar. Anda juga dapat menginstalnya secara manual pada instans EC2 untuk membuat komponen kustom Anda sendiri. Itu tidak memerlukan pengaturan tambahan, dan juga dapat berjalan di tempat.

Tip

Untuk informasi tentang pola komponen dan skrip yang memvalidasi dan menjalankan dokumen komponen secara lokal, lihat AWSTOE sampel pada GitHub. Untuk informasi selengkapnya, lihat Jelajahi contoh proyek Pembuat Gambar di GitHub.

AWSTOE mengunduh

Untuk menginstal AWSTOE, pilih tautan unduhan untuk arsitektur dan platform Anda. Jika Anda melampirkan ke titik akhir VPC untuk layanan Anda (Pembuat Gambar, misalnya), layanan tersebut harus memiliki kebijakan titik akhir khusus yang menyertakan akses ke bucket S3 untuk AWSTOE unduhan. Jika tidak, instance build dan test Anda tidak akan dapat mengunduh script bootstrap (bootstrap.sh) dan menginstal AWSTOE aplikasi. Untuk mengetahui informasi selengkapnya, lihat Membuat kebijakan titik akhir VPC untuk Pembuat Gambar.

penting

AWS menghapus dukungan untuk TLS versi 1.0 dan 1.1. Untuk mengakses bucket S3 untuk AWSTOE unduhan, perangkat lunak klien Anda harus menggunakan TLS versi 1.2 atau yang lebih baru. Untuk informasi selengkapnya, lihat posting Blog AWS Keamanan ini.

Arsitektur Platform Tautan unduhan Contoh
386

AL 2 dan 2023

RHEL 7, 8, dan 9

Ubuntu 16.04, 18.04, 20.04, 22.04, dan 24.04

CentOS 7 dan 8

SUSE 12 dan 15

https://awstoe-<region>.s3.<region>.amazonaws.com/latest/linux/386/awstoe

https://awstoe-us-east-1.s3.us-east-1.amazonaws.com/latest/linux/386/awstoe
AMD64

AL 2 dan 2023

RHEL 7, 8, dan 9

Ubuntu 16.04, 18.04, 20.04, 22.04, dan 24.04

CentOS 7 dan 8

Streaming CentOS 8

SUSE 12 dan 15

https://awstoe-<region>.s3.<region>.amazonaws.com/latest/linux/amd64/awstoe https://awstoe-us-east-1.s3.us-east-1.amazonaws.com/latest/linux/amd64/awstoe
AMD64

macOS 10.14.x (Mojave), 10.15.x (Catalina), 11.x (Big Sur), 12.x (Monterey)

https://awstoe-region.s3.region.amazonaws.com/latest/darwin/amd64/awstoe https://awstoe-us-east-1.s3.us-east-1.amazonaws.com/latest/darwin/amd64/awstoe

AMD64

Windows Server 2012 R2, 2016, 2019, dan 2022

https://awstoe-<region>.s3.<region>.amazonaws.com/latest/windows/amd64/awstoe.exe

https://awstoe-us-east-1.s3.us-east-1.amazonaws.com/latest/windows/amd64/awstoe.exe
ARM64

AL 2 dan 2023

RHEL 7, 8, dan 9

Ubuntu 16.04, 18.04, 20.04, 22.04, dan 24.04

CentOS 7 dan 8

Streaming CentOS 8

SUSE 12 dan 15

https://awstoe-<region>.s3.<region>.amazonaws.com/latest/linux/arm64/awstoe https://awstoe-us-east-1.s3.us-east-1.amazonaws.com/latest/linux/arm64/awstoe

Wilayah yang Didukung

AWSTOE didukung sebagai aplikasi mandiri di Wilayah berikut.

Wilayah AWS nama Wilayah AWS

AS Timur (Ohio)

us-east-2

US East (N. Virginia)

us-east-1

AWS GovCloud (US-East)

us-gov-east-1

AWS GovCloud (US-West)

us-gov-west-1

AS Barat (California Utara)

us-west-1

US West (Oregon)

as-barat-2

Afrika (Cape Town)

af-selatan-1

Asia Pasifik (Hong Kong)

ap-east-1

Asia Pacific (Osaka)

ap-northeast-3

Asia Pacific (Seoul)

ap-northeast-2

Asia Pasifik (Mumbai)

ap-south-1

Asia Pasifik (Hyderabad)

ap-south-2

Asia Pasifik (Singapura)

ap-southeast-1

Asia Pacific (Sydney)

ap-southeast-2

Asia Pasifik (Jakarta)

ap-southeast-3

Asia Pasifik (Tokyo)

ap-northeast-1

Canada (Central)

ca-sentral-1

Europe (Frankfurt)

eu-central-1

Europe (Zurich)

eu-central-2

Eropa (Stockholm)

eu-north-1

Europe (Milan)

eu-south-1

Eropa (Spanyol)

eu-south-2

Eropa (Irlandia)

eu-west-1

Europe (London)

eu-west-2

Europe (Paris)

eu-west-3

Israel (Tel Aviv)

il-central-1

Timur Tengah (UAE)

me-central-1

Timur Tengah (Bahrain)

me-selatan-1

Amerika Selatan (São Paulo)

sa-east-1

Tiongkok (Beijing)

cn-north-1

China (Ningxia)

cn-northwest-1

AWSTOE referensi perintah

AWSTOE adalah aplikasi manajemen komponen baris perintah yang berjalan pada instans Amazon EC2. Saat Image Builder meluncurkan build EC2 atau instance pengujian, instans tersebut akan diinstal AWSTOE pada instans. Kemudian menjalankan AWSTOE perintah AWS CLI untuk menginstal atau memvalidasi komponen yang ditentukan dalam resep gambar atau wadah.

catatan

Beberapa modul AWSTOE tindakan memerlukan izin yang ditingkatkan untuk berjalan di server Linux. Untuk menggunakan izin yang ditingkatkan, awali sintaks perintah dengansudo, atau jalankan sudo su perintah satu kali saat Anda masuk sebelum menjalankan perintah yang ditautkan di bawah ini. Untuk informasi selengkapnya tentang modul AWSTOE tindakan, lihatModul aksi didukung oleh AWSTOE manajer komponen.

run

Gunakan run perintah untuk menjalankan skrip dokumen YAML untuk satu atau lebih dokumen komponen.

validasi

Jalankan validate perintah untuk memvalidasi sintaks dokumen YAML untuk satu atau lebih dokumen komponen.

perintah awstoe run

Perintah ini menjalankan skrip dokumen komponen YAML dalam urutan di mana mereka disertakan dalam file konfigurasi yang ditentukan oleh --config parameter, atau daftar dokumen komponen yang ditentukan oleh --documents parameter.

catatan

Anda harus menentukan dengan tepat salah satu parameter berikut, tidak pernah keduanya:

--konfigurasi

--dokumen

Sintaksis

awstoe run [--config <file path>] [--cw-ignore-failures <?>] [--cw-log-group <?>] [--cw-log-region us-west-2] [--cw-log-stream <?>] [--document-s3-bucket-owner <owner>] [--documents <file path,file path,...>] [--execution-id <?>] [--log-directory <file path>] [--log-s3-bucket-name <name>] [--log-s3-bucket-owner <owner>] [--log-s3-key-prefix <?>] [--parameters name1=value1,name2=value2...] [--phases <phase name>] [--blocked-action-modules <module,module,...>] [--state-directory <directory path>] [--version <?>] [--help] [--trace]

Parameter dan opsi

Parameter
--konfigurasi ./config-example.json

Bentuk pendek: -c ./config-example.json

File konfigurasi (kondisional). Parameter ini berisi lokasi file untuk file JSON yang berisi pengaturan konfigurasi untuk komponen yang sedang berjalan perintah ini. Jika Anda menentukan pengaturan run perintah dalam file konfigurasi, Anda tidak boleh menentukan --documents parameter. Untuk informasi selengkapnya tentang konfigurasi input, lihatKonfigurasikan masukan untuk AWSTOE jalankan perintah.

Lokasi yang valid meliputi:

  • Jalur file lokal (./config-example.json)

  • Sebuah URI S3 (s3://bucket/key)

--cw-abaikan-kegagalan

Bentuk pendek: N/A

Abaikan kegagalan pencatatan dari CloudWatch Log.

--cw-log-grup

Bentuk pendek: N/A

LogGroupNama untuk CloudWatch Log.

--cw-log-wilayah

Bentuk pendek: N/A

Wil AWS ayah yang berlaku untuk CloudWatch Log.

--cw-log-aliran

Bentuk pendek: N/A

LogStreamNama untuk CloudWatch Log, yang mengarahkan ke AWSTOE mana untuk melakukan streaming console.log file.

--dokumen-s3-pemilik ember

Bentuk pendek: N/A

ID akun pemilik bucket untuk URI-based dokumen S3.

--dokumen ./doc-1.yaml,./doc-n.yaml

Bentuk pendek: -d./doc-1.yaml, ./doc-n

Dokumen komponen (kondisional). Parameter ini berisi daftar lokasi file yang dipisahkan koma untuk dokumen komponen YAML untuk dijalankan. Jika Anda menentukan dokumen YAML untuk run perintah menggunakan --documents parameter, Anda tidak boleh menentukan --config parameter. Jangan sertakan spasi di antara item dalam daftar.

Lokasi yang valid meliputi:

  • jalur file lokal (./component-doc-example.yaml).

  • URI S3 (s3://bucket/key).

  • Versi build komponen Pembuat Gambar ARN (arn:aws:imagebuilder:us-west-//2021.12. 2:123456789012 my-example-component 02/1).

--id eksekusi

Bentuk pendek: -i

Ini adalah ID unik yang berlaku untuk eksekusi run perintah saat ini. ID ini disertakan dalam nama file output dan log, untuk mengidentifikasi file-file tersebut secara unik, dan menautkannya ke eksekusi perintah saat ini. Jika pengaturan ini ditinggalkan, AWSTOE menghasilkan GUID.

--log-direktori

Bentuk pendek: -l

Direktori tujuan tempat AWSTOE menyimpan semua file log dari eksekusi perintah ini. Secara default, direktori ini terletak di dalam direktori induk berikut:TOE_<DATETIME>_<EXECUTIONID>. Jika Anda tidak menentukan direktori log, gunakan AWSTOE direktori kerja saat ini (.).

--log-s3-nama-bucket

Bentuk pendek: -b

Jika log komponen disimpan di Amazon S3 (disarankan), mengun AWSTOE ggah log aplikasi komponen ke bucket S3 yang dinamai dalam parameter ini.

--log-s3-pemilik ember

Bentuk pendek: N/A

Jika log komponen disimpan di Amazon S3 (disarankan), ini adalah ID akun pemilik untuk bucket tempat AWSTOE menulis file log.

--log-s3-kunci-awalan

Bentuk pendek: -k

Jika log komponen disimpan di Amazon S3 (disarankan), ini adalah awalan kunci objek S3 untuk lokasi log di bucket.

--parameter name1 =value1, name2 =value2...

Bentuk pendek: N/A

Parameter adalah variabel yang dapat diubah yang didefinisikan dalam dokumen komponen, dengan pengaturan yang dapat disediakan oleh aplikasi pemanggil saat runtime.

--fase

Bentuk pendek: -p

Daftar yang dipisahkan koma yang menentukan fase mana yang akan dijalankan dari dokumen komponen YAML. Jika dokumen komponen menyertakan fase tambahan, itu tidak akan berjalan.

--direktori status

Bentuk pendek: -s

Jalur file tempat file pelacakan status disimpan.

--modul aksi yang diblokir

Bentuk pendek: N/A

Daftar modul tindakan yang dipisahkan koma yang tidak dapat berjalan di dokumen komponen. Jika dokumen berisi modul tindakan yang diblokir, validasi gagal sebelum eksekusi dimulai.

--versi

Bentuk pendek: -v

Menentukan versi aplikasi komponen.

Opsi
--help

Bentuk pendek: -h

Menampilkan manual bantuan untuk menggunakan opsi aplikasi manajemen komponen.

--jejak

Bentuk pendek: -t

Mengaktifkan log bertele-tele ke konsol.

Output

Per run intah menghasilkan ringkasan eksekusi JSON. Contoh berikut menunjukkan output dari eksekusi yang berhasil.

{ "executionId": "12345678-abcd-efgh-1234-example12345", "status": "success", "failedStepCount": 0, "executedStepCount": 3, "ignoredFailedStepCount": 0, "skippedStepCount": 0, "failureMessage": "", "logUrl": "s3://my-bucket/my-prefix/12345678-abcd-efgh-1234-example12345" }

Bid status ang melaporkan hasil eksekusi keseluruhan:

  • success— Semua fase dan langkah selesai dengan sukses.

  • failed— Satu atau lebih langkah gagal karena onFailure tindakannyaAbort.

  • timedOut— Satu atau lebih langkah melebihi nil timeoutSeconds ainya.

perintah awstoe memvalidasi

Ketika Anda menjalankan perintah ini, ia memvalidasi sintaks dokumen YAML untuk setiap dokumen komponen yang ditentukan oleh parameter. --documents

Sintaksis

awstoe validate [--blocked-action-modules <module,module,...>] [--document-s3-bucket-owner <owner>] --documents <file path,file path,...> [--help] [--trace]

Parameter dan opsi

Parameter
--modul aksi yang diblokir

Bentuk pendek: N/A

Daftar modul tindakan yang dipisahkan koma yang tidak dapat berjalan di dokumen komponen. Jika dokumen berisi modul tindakan yang diblokir, validasi gagal.

--dokumen-s3-pemilik ember

Bentuk pendek: N/A

ID akun sumber dari URI-based dokumen S3 yang disediakan.

--dokumen ./doc-1.yaml,./doc-n.yaml

Bentuk pendek: -d./doc-1.yaml, ./doc-n

Dokumen komponen (wajib). Parameter ini berisi daftar lokasi file yang dipisahkan koma untuk dokumen komponen YAML untuk dijalankan, tanpa spasi di antara item. Lokasi yang valid meliputi:

  • jalur file lokal (./component-doc-example.yaml)

  • URI S3 () s3://bucket/key

  • Versi build komponen Pembuat Gambar ARN (arn:aws:imagebuilder:us-west-//2021.12. 2:123456789012 my-example-component 02/1)

Opsi
--help

Bentuk pendek: -h

Menampilkan manual bantuan untuk menggunakan opsi aplikasi manajemen komponen.

--jejak

Bentuk pendek: -t

Mengaktifkan log bertele-tele ke konsol.

Output

Per validate intah menghasilkan hasil validasi JSON. Contoh berikut menunjukkan output dari validasi yang berhasil.

{ "validationStatus": "success", "message": "Validation successful." }

Contoh berikut menunjukkan output ketika validasi gagal.

{ "validationStatus": "failed", "message": "Document has 0 phases. Phases list must not be empty." }