Luncurkan dukungan templat - AWS Batch

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

Luncurkan dukungan templat

AWS Batch mendukung penggunaan templat peluncuran Amazon EC2 dengan lingkungan komputasi EC2 Anda. Dengan template peluncuran, Anda dapat memodifikasi konfigurasi default sumber daya AWS Batch komputasi Anda tanpa perlu membuat AMI yang disesuaikan.

catatan

Templat peluncuran tidak didukung pada sumber daya AWS Fargate.

Anda harus membuat templat peluncuran sebelum dapat mengaitkannya dengan lingkungan komputasi. Anda dapat membuat template peluncuran di konsol Amazon EC2. Atau, Anda dapat menggunakan AWS CLI atau AWS SDK. Misalnya, file JSON berikut mewakili template peluncuran yang mengubah ukuran volume data Docker untuk sumber daya AWS Batch komputasi default AMI dan juga menyetelnya untuk dienkripsi.

{ "LaunchTemplateName": "increase-container-volume-encrypt", "LaunchTemplateData": { "BlockDeviceMappings": [ { "DeviceName": "/dev/xvda", "Ebs": { "Encrypted": true, "VolumeSize": 100, "VolumeType": "gp2" } } ] } }

Anda dapat membuat template peluncuran sebelumnya dengan menyimpan JSON ke file yang dipanggil lt-data.json dan menjalankan AWS CLI perintah berikut.

aws ec2 --region <region> create-launch-template --cli-input-json file://lt-data.json

Untuk informasi selengkapnya tentang template peluncuran, lihat Meluncurkan Instans dari Template Peluncuran di Panduan Pengguna Amazon EC2.

Jika Anda menggunakan templat peluncuran untuk membuat lingkungan komputasi, Anda dapat memindahkan parameter lingkungan komputasi yang sudah ada berikut ini ke templat peluncuran Anda:

catatan

Misalkan salah satu parameter ini (kecuali tag Amazon EC2) ditentukan baik dalam template peluncuran maupun dalam konfigurasi lingkungan komputasi. Kemudian, parameter lingkungan komputasi diutamakan. Tanda Amazon EC2 digabung antara templat peluncuran dan konfigurasi lingkungan komputasi. Jika ada tabrakan pada kunci tag, nilai dalam konfigurasi lingkungan komputasi akan diutamakan.

  • Pasangan kunci Amazon EC2

  • ID AMI Amazon EC2

  • ID grup keamanan

  • Tanda Amazon EC2

Parameter template peluncuran berikut diabaikan oleh AWS Batch:

  • Tipe instans (tentukan tipe instans yang Anda inginkan ketika membuat lingkungan komputasi)

  • Peran instans (tentukan peran instans yang Anda inginkan ketika membuat lingkungan komputasi)

  • Subnet antarmuka jaringan (tentukan subnet yang Anda inginkan saat membuat lingkungan komputasi)

  • Opsi pasar instans (AWS Batch harus mengontrol konfigurasi Instans Spot)

  • Nonaktifkan penghentian API (AWS Batch harus mengontrol siklus hidup instance)

AWS Batch hanya memperbarui template peluncuran dengan versi template peluncuran baru selama pembaruan infrastruktur. Untuk informasi selengkapnya, lihat Memperbarui lingkungan komputasi.

Data pengguna Amazon EC2 dalam templat peluncuran

Anda dapat memberikan data pengguna Amazon EC2 dalam templat peluncuran Anda yang dijalankan oleh cloud-init saat instans Anda diluncurkan. Data pengguna Anda dapat melakukan skenario konfigurasi umum, termasuk namun tidak terbatas pada hal-hal berikut:

Data pengguna Amazon EC2 dalam templat peluncuran harus memiliki format arsip multibagian MIME. Ini karena data pengguna Anda digabungkan dengan data AWS Batch pengguna lain yang diperlukan untuk mengonfigurasi sumber daya komputasi Anda. Anda dapat menggabungkan beberapa blok data pengguna menjadi satu file multi-bagian MIME. Misalnya, Anda mungkin perlu menggabungkan boothook cloud yang mengonfigurasi daemon Docker dengan skrip shell data pengguna yang menulis informasi konfigurasi untuk agen kontainer Amazon ECS.

Jika Anda menggunakan AWS CloudFormation, AWS::CloudFormation::Inittipe dapat digunakan dengan skrip pembantu cfn-init untuk melakukan skenario konfigurasi umum.

File multi-bagian MIME terdiri dari komponen berikut:

  • Jenis konten dan deklarasi batas bagian: Content-Type: multipart/mixed; boundary="==BOUNDARY=="

  • Deklarasi versi MIME: MIME-Version: 1.0

  • Satu atau beberapa blok data pengguna yang berisi komponen berikut:

    • Batas pembuka yang menandakan awal dari blok data pengguna:. --==BOUNDARY== Anda harus menjaga garis sebelum batas ini kosong.

    • Deklarasi tipe konten untuk blok: Content-Type: text/cloud-config; charset="us-ascii". Untuk informasi lebih lanjut tentang tipe konten, lihat Dokumentasi Cloud-Init. Anda harus menjaga baris setelah deklarasi tipe konten kosong.

    • Isi data pengguna, seperti daftar perintah atau cloud-init arahan shell.

  • Batas penutupan yang menandakan akhir file multi-bagian MIME:. --==BOUNDARY==-- Anda harus menjaga garis sebelum batas penutupan kosong.

Berikut ini adalah contoh file multi-bagian MIME yang dapat Anda gunakan untuk membuat file Anda sendiri.

catatan

Jika Anda menambahkan data pengguna ke template peluncuran di konsol Amazon EC2, Anda dapat menempelkannya sebagai teks biasa. Atau, Anda dapat mengunggahnya dari file. Jika Anda menggunakan AWS CLI atau AWS SDK, Anda harus terlebih dahulu base64 menyandikan data pengguna dan mengirimkan string itu sebagai nilai UserData parameter saat Anda memanggil CreateLaunchTemplate, seperti yang ditunjukkan dalam file JSON ini.

{ "LaunchTemplateName": "base64-user-data", "LaunchTemplateData": { "UserData": "ewogICAgIkxhdW5jaFRlbXBsYXRlTmFtZSI6ICJpbmNyZWFzZS1jb250YWluZXItdm9sdW..." } }

Contoh: Memasang sistem file Amazon EFS

Contoh file multi-bagian MIME ini mengonfigurasi sumber daya komputasi untuk menginstal paket amazon-efs-utils dan memasang sistem file Amazon EFS yang sudah ada di /mnt/efs.

MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="==MYBOUNDARY==" --==MYBOUNDARY== Content-Type: text/cloud-config; charset="us-ascii" packages: - amazon-efs-utils runcmd: - file_system_id_01=fs-abcdef123 - efs_directory=/mnt/efs - mkdir -p ${efs_directory} - echo "${file_system_id_01}:/ ${efs_directory} efs tls,_netdev" >> /etc/fstab - mount -a -t efs defaults --==MYBOUNDARY==--

Contoh: Menimpa konfigurasi agen kontainer Amazon ECS default

Contoh file multi-bagian MIME ini menimpa pengaturan pembersihan gambar Docker default untuk suatu sumber daya komputasi.

MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="==MYBOUNDARY==" --==MYBOUNDARY== Content-Type: text/x-shellscript; charset="us-ascii" #!/bin/bash echo ECS_IMAGE_CLEANUP_INTERVAL=60m >> /etc/ecs/ecs.config echo ECS_IMAGE_MINIMUM_CLEANUP_AGE=60m >> /etc/ecs/ecs.config --==MYBOUNDARY==--

Contoh: Memasang sistem file Amazon FSx for Lustre yang sudah ada

Contoh file multi-bagian MIME ini mengonfigurasi sumber daya komputasi untuk menginstal lustre2.10 paket dari Perpustakaan Ekstra dan memasang sistem file FSx for Lustre yang ada di dan nama mount dari. /scratch fsx Contoh ini untuk Amazon Linux 2. Untuk petunjuk instalasi distribusi Linux yang lain, lihat Memasang Klien Lustre dalam Panduan Pengguna Amazon FSx for Lustre. Untuk informasi selengkapnya, lihat Memasang sistem file Amazon FSx Anda secara otomatis di Panduan Pengguna Amazon FSx for Lustre.

MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="==MYBOUNDARY==" --==MYBOUNDARY== Content-Type: text/cloud-config; charset="us-ascii" runcmd: - file_system_id_01=fs-0abcdef1234567890 - region=us-east-2 - fsx_directory=/scratch - amazon-linux-extras install -y lustre2.10 - mkdir -p ${fsx_directory} - mount -t lustre ${file_system_id_01}.fsx.${region}.amazonaws.com@tcp:fsx ${fsx_directory} --==MYBOUNDARY==--

Titik pemasangan harus dipetakan ke dalam kontainer di anggota volumes dan mountPoints properti kontainer.

{ "volumes": [ { "host": { "sourcePath": "/scratch" }, "name": "Scratch" } ], "mountPoints": [ { "containerPath": "/scratch", "sourceVolume": "Scratch" } ], }