Memperbarui lingkungan komputasi - AWS Batch

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

Memperbarui lingkungan komputasi

Setelah membuat lingkungan komputasi yang menggunakan EC2 sumber daya, Anda dapat memperbarui banyak pengaturan lingkungan komputasi secara langsung. Namun, mengubah beberapa pengaturan mengharuskan AWS Batch penggantian instance di lingkungan komputasi.

Memperbarui AWS Fargate lingkungan komputasi

Untuk lingkungan komputasi yang menggunakan sumber daya Fargate, Anda dapat memperbarui yang berikut ini.

  • securityGroupIds

  • subnets

  • desiredvCpus

  • maxvCpus

  • minvCpus

AWS Batch memiliki dua mekanisme pembaruan. Yang pertama adalah pembaruan penskalaan di mana instance ditambahkan atau dihapus dari lingkungan komputasi. Yang kedua adalah pembaruan infrastruktur di mana instance di lingkungan komputasi diganti. Pembaruan infrastruktur membutuhkan waktu lebih lama daripada pembaruan penskalaan.

Jika Anda memperbarui lingkungan komputasi dengan AWS Batch, mengubah hanya setelan ini akan menyebabkan pembaruan penskalaan: diinginkan vCPUs (desiredvCpus), maksimum vCPUs (maxvCpus), minimum vCPUs (minvCpus), peran layanan (serviceRole), dan status (state).

catatan

Saat Anda memperbarui desiredvCpus pengaturan, nilainya harus berada di antara maxvCpus nilai minvCpus dan.

Selain itu, desiredvCpus nilai yang diperbarui harus lebih besar dari atau sama dengan desiredvCpus nilai saat ini. Untuk informasi selengkapnya, lihat Pesan galat saat Anda memperbarui desiredvCpus pengaturan.

Jika salah satu pengaturan berikut diubah dalam UpdateComputeEnvironmentAPItindakan, AWS Batch memulai pembaruan infrastruktur. Pembaruan infrastruktur mengharuskan peran layanan disetel ke AWSServiceRoleForBatch(default) dan strategi alokasi adalahBEST_FIT_PROGRESSIVE,SPOT_CAPACITY_OPTIMIZED, atauSPOT_PRICE_CAPACITY_OPTIMIZED. BEST_FITtidak didukung. Kecuali untuk peran layanan, semua pengaturan yang dapat diubah untuk pembaruan penskalaan juga dapat diubah untuk pembaruan infrastruktur.

catatan

Kami menyarankan Anda menggunakan SPOT_PRICE_CAPACITY_OPTIMIZED bukan SPOT_CAPACITY_OPTIMIZED n dalam banyak kasus.

Selama pembaruan infrastruktur, status lingkungan komputasi berubah menjadiUPDATING. Instans baru diluncurkan menggunakan pengaturan yang diperbarui. Pekerjaan baru dijadwalkan pada contoh baru. Pekerjaan yang sedang berjalan dikirim sesuai dengan kebijakan pembaruan infrastruktur. Untuk informasi lebih lanjut, lihat UpdateComputeEnvironmentdan UpdatePolicydi AWS Batch APIReferensi.

Dalam tipe UpdatePolicy data, pertimbangkan skenario berikut:

catatan

Dalam skenario ini, berikut ini benar. Ketika sebuah instance dihentikan, pekerjaan yang sedang berjalan dihentikan. Secara default, pekerjaan ini tidak dicoba lagi. Untuk mencoba kembali salah satu pekerjaan ini setelah instance dihentikan, konfigurasikan strategi coba ulang pekerjaan. Untuk informasi selengkapnya, lihat Percobaan kembali tugas secara otomatis di AWS Batch Panduan Pengguna.

  • Jika terminateJobsOnUpdate pengaturan disetel ketrue, pekerjaan yang sedang berjalan dihentikan selama pembaruan infrastruktur. jobExecutionTimeoutMinutesPengaturan diabaikan.

  • Jika terminateJobsOnUpdate pengaturan disetel kefalse, pekerjaan dapat berjalan untuk waktu tambahan setelah pembaruan infrastruktur terjadi. Waktu tambahan ini dikonfigurasi dalam jobExecutionTimeoutMinutes pengaturan. Secara default, jobExecutionTimeoutMinutes pengaturannya adalah 30 menit.

Saat kapasitas tersedia di lingkungan komputasi, instans baru diluncurkan dengan pengaturan yang diperbarui dan pekerjaan dimulai pada instans baru. Karena semua pekerjaan selesai pada instance dengan pengaturan lama, instance lama dihentikan. Kapasitas apa yang tersedia berarti bahwa jumlah yang diinginkan vCPUs berada di bawah jumlah maksimum setidaknya vCPUs vCPUs sebanyak yang dipersyaratkan oleh jenis instans terkecil.

Pembaruan infrastruktur

Pembaruan infrastruktur diperlukan untuk mengubah beberapa pengaturan untuk lingkungan komputasi. Jika salah satu pengaturan berikut diubah, pembaruan infrastruktur dimulai:

penting

Lingkungan komputasi harus menggunakan peran AWSServiceRoleForBatchterkait layanan untuk membuat perubahan yang memerlukan pembaruan infrastruktur.

Jika lingkungan komputasi menggunakan peran terkait layanan, itu tidak dapat diubah untuk menggunakan peran reguler. IAM Demikian juga, jika lingkungan komputasi memiliki IAM peran reguler, itu tidak dapat diubah untuk menggunakan peran terkait layanan. Oleh karena itu, Anda hanya dapat melakukan pembaruan infrastruktur pada lingkungan komputasi yang dibuat menggunakan peran terkait layanan.

  • Strategi alokasi (allocationStrategy, harus salah satuBEST_FIT_PROGRESSIVE,SPOT_CAPACITY_OPTIMIZED, atauSPOT_PRICE_CAPACITY_OPTIMIZED. Jika strategi alokasi asli adalahBEST_FIT, pembaruan infrastruktur tidak didukung.)

    catatan

    Kami menyarankan Anda menggunakan SPOT_PRICE_CAPACITY_OPTIMIZED bukan SPOT_CAPACITY_OPTIMIZED n dalam banyak kasus.

  • Persentase penawaran (bidPercentage)

  • EC2konfigurasi (ec2Configuration)

  • Pasangan kunci (ec2KeyPair)

  • ID Gambar (imageId)

  • Peran contoh (instanceRole)

  • Jenis contoh (instanceTypes)

  • Luncurkan template (launchTemplate)

  • Grup penempatan (placementGroup)

  • Grup keamanan (securityGroupIds)

  • VPCsubnet () subnets

  • EC2tag (tags)

  • Jenis lingkungan komputasi (type, bisa salah satu dari EC2 atauSPOT)

  • Apakah akan memperbarui ke AMI yang terbaru yang didukung oleh AWS Batch selama pembaruan infrastruktur updateToLatestImageVersion

Memperbarui AMI ID

Selama pembaruan infrastruktur, AMI ID lingkungan komputasi mungkin berubah, tergantung pada AMIs apakah ditentukan dalam salah satu dari tiga pengaturan ini. AMIsditentukan dalam imageId (incomputeResources), imageIdOverride (inec2Configuration), atau template peluncuran yang ditentukan dalamlaunchTemplate. Misalkan tidak AMI IDs ada yang ditentukan dalam pengaturan itu dan updateToLatestImageVersion pengaturannyatrue. Kemudian, Amazon terbaru yang ECS dioptimalkan AMI didukung oleh AWS Batch digunakan untuk pembaruan infrastruktur apa pun.

Jika AMI ID ditentukan dalam setidaknya satu pengaturan ini, pembaruan tergantung pada pengaturan mana yang diberikan AMI ID yang digunakan sebelum pembaruan. Saat Anda membuat lingkungan komputasi, prioritas untuk memilih AMI ID adalah pertama template peluncuran, lalu imageId pengaturan, dan terakhir imageIdOverride pengaturan. Namun, jika AMI ID yang digunakan berasal dari template peluncuran, memperbarui imageIdOverride pengaturan imageId atau tidak memperbarui AMI ID. Satu-satunya cara untuk memperbarui AMI ID yang dipilih dari template peluncuran adalah dengan memperbarui template peluncuran. Jika parameter versi template peluncuran adalah $Default atau$Latest, versi default atau terbaru dari template peluncuran yang ditentukan dievaluasi. Jika AMI ID yang berbeda dipilih secara default atau versi terbaru dari template peluncuran dipilih, AMI ID tersebut akan digunakan dalam pembaruan.

Jika template peluncuran tidak digunakan untuk memilih AMI ID, AMI ID yang ditentukan dalam imageIdOverride parameter imageId atau digunakan. Jika keduanya ditentukan, AMI ID yang ditentukan dalam imageIdOverride parameter digunakan.

Misalkan lingkungan komputasi menggunakan AMI ID yang ditentukan olehimageId,, atau launchTemplate parameterimageIdOverride, dan Anda ingin menggunakan Amazon terbaru yang ECS dioptimalkan AMI didukung oleh AWS Batch. Kemudian, pembaruan harus menghapus pengaturan yang disediakan AMIIDs. UntukimageId, ini membutuhkan menentukan string kosong untuk parameter itu. UntukimageIdOverride, ini membutuhkan menentukan string kosong untuk ec2Configuration parameter.

Jika AMI ID berasal dari template peluncuran, Anda dapat mengubah ke Amazon terbaru AMI yang ECS dioptimalkan yang didukung AWS Batch oleh salah satu cara berikut:

  • Hapus template peluncuran dengan menentukan string kosong untuk launchTemplateName parameter launchTemplateId or. Ini menghapus seluruh template peluncuran, bukan AMI ID saja.

  • Jika versi terbaru dari template peluncuran tidak menentukan AMI ID, updateToLatestImageVersion parameter harus disetel ketrue.