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 AWS Task Orchestrator and Executor aplikasi AWSTOE() untuk mengatur alur kerja yang kompleks, memodifikasi konfigurasi sistem, dan menguji gambar Anda tanpa perlu 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 build dan instance pengujiannya 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.

AWSTOE mengunduh

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

penting

AWS menghapus dukungan untuk TLS versi 1.0 dan 1.1 secara bertahap. Untuk mengakses bucket S3 untuk AWSTOE unduhan, perangkat lunak klien Anda harus menggunakan TLS versi 1.2 atau yang lebih baru. Untuk informasi lebih lanjut, 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

CentOS Aliran 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

CentOS Aliran 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 atau instance pengujian EC2, Image Builder akan diinstal AWSTOE pada instance. Kemudian menjalankan AWSTOE perintah di AWS CLI untuk menginstal atau memvalidasi komponen yang ditentukan dalam resep gambar atau wadah.

catatan

Beberapa modul AWSTOE tindakan memerlukan izin tinggi untuk berjalan di server Linux. Untuk menggunakan izin yang ditinggikan, awali sintaks perintah dengansudo, atau jalankan sudo su perintah satu kali ketika 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 YAMAL untuk satu atau beberapa dokumen komponen.

validasi

Jalankan validate perintah untuk memvalidasi sintaks dokumen YAMAL untuk satu atau beberapa dokumen komponen.

awstoe jalankan perintah

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

catatan

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

--config

--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
--config ./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 dijalankan 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)

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

--cw-ignore-kegagalan

Bentuk pendek: N/A

Abaikan kegagalan logging dari CloudWatch Log.

--cw-log-grup

Bentuk pendek: N/A

LogGroupNama untuk CloudWatch Log.

--cw-log-wilayah

Bentuk pendek: N/A

AWS Wilayah yang berlaku untuk CloudWatch Log.

--cw-log-aliran

Bentuk pendek: N/A

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

--dokumen-s3-bucket-pemilik

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 menjalankan dokumen komponen YAMAL. Jika Anda menentukan dokumen YAMAL untuk run perintah menggunakan --documents parameter, Anda tidak boleh menentukan --config parameternya. Jangan sertakan spasi di antara item dalam daftar.

Lokasi yang valid meliputi:

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

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

  • Arn versi pembuatan komponen Image Builder (arn:aws:imagebuilder:us-west-:component/ /2021.12. 2:123456789012 my-example-component 02/1).

--eksekusi-id

Bentuk pendek: -i

Ini adalah ID unik yang berlaku untuk eksekusi run perintah saat ini. ID ini disertakan dalam nama file keluaran dan log, untuk mengidentifikasi file-file tersebut secara unik, dan menautkannya ke eksekusi perintah saat ini. Jika pengaturan ini ditinggalkan, buat AWSTOE 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, AWSTOE gunakan direktori kerja saat ini (.).

--log-s3-nama-ember

Bentuk pendek: -b

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

--log-s3-bucket-pemilik

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-key-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 berubah yang didefinisikan dalam dokumen komponen, dengan pengaturan yang dapat disediakan oleh aplikasi pemanggilan saat runtime.

--fase

Bentuk pendek: -p

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

--state-direktori

Bentuk pendek: -s

Jalur file tempat file pelacakan negara disimpan.

--diblokir-tindakan-modul

Bentuk pendek: N/A

Daftar modul tindakan yang dipisahkan koma yang tidak dapat dijalankan dalam 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 pencatatan verbose ke konsol.

Output

runPerintah 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" }

statusBidang melaporkan hasil eksekusi secara keseluruhan:

  • success— Semua fase dan langkah diselesaikan dengan sukses.

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

  • timedOut— Satu atau lebih langkah melebihi timeoutSeconds nilainya.

awstoe memvalidasi perintah

Ketika Anda menjalankan perintah ini, itu memvalidasi sintaks dokumen YAMAL 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
--diblokir-tindakan-modul

Bentuk pendek: N/A

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

--dokumen-s3-bucket-pemilik

Bentuk pendek: N/A

ID akun sumber 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 menjalankan dokumen komponen YAMAL, tanpa spasi di antara item. Lokasi yang valid meliputi:

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

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

  • Arn versi pembuatan komponen Image Builder (arn:aws:imagebuilder:us-west-:component/ /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 pencatatan verbose ke konsol.

Output

validatePerintah 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." }