Lingkungan komputasi terkelola - AWS Batch

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

Lingkungan komputasi terkelola

Anda dapat menggunakan lingkungan komputasi terkelola untuk AWS Batch mengelola kapasitas dan jenis instans sumber daya komputasi dalam lingkungan. Ini didasarkan pada spesifikasi sumber daya komputasi yang Anda tentukan saat membuat lingkungan komputasi. Anda dapat memilih untuk menggunakan Instans EC2 Sesuai Permintaan Amazon dan Instans EC2 Spot Amazon. Selain itu, Anda dapat menggunakan kapasitas Fargate dan Fargate Spot di lingkungan komputasi terkelola Anda. Saat menggunakan Instans Spot, Anda dapat menetapkan harga maksimum secara opsional. Dengan cara ini, Instans Spot hanya diluncurkan ketika harga Instans Spot berada di bawah persentase tertentu dari harga On-Demand.

penting

Instans Fargate Spot tidak didukung pada. Windows containers on AWS Fargate Antrian pekerjaan akan diblokir jika FargateWindows pekerjaan dikirimkan ke antrian pekerjaan yang hanya menggunakan lingkungan komputasi Fargate Spot.

penting

AWS Batch membuat dan mengelola beberapa AWS sumber daya atas nama Anda dan dalam akun Anda, termasuk Templat EC2 Peluncuran Amazon, Grup EC2 Auto Scaling Amazon, Armada EC2 Spot Amazon, dan Cluster Amazon ECS. Sumber daya yang dikelola ini dikonfigurasi secara khusus untuk memastikan AWS Batch operasi yang optimal. Memodifikasi sumber daya yang dikelola Batch ini secara manual, kecuali dinyatakan secara eksplisit dalam AWS Batch dokumentasi, dapat mengakibatkan perilaku tak terduga yang mengakibatkan Lingkungan INVALID Komputasi, perilaku penskalaan instance suboptimal, pemrosesan beban kerja yang tertunda, atau biaya tak terduga. Modifikasi manual ini tidak dapat didukung secara deterministik oleh layanan. AWS Batch Selalu gunakan Batch yang didukung APIs atau konsol Batch untuk mengelola Lingkungan Komputasi Anda.

Lingkungan komputasi terkelola meluncurkan EC2 instans Amazon ke dalam VPC dan subnet yang Anda tentukan, lalu mendaftarkannya dengan kluster Amazon ECS. EC2 Instans Amazon memerlukan akses jaringan eksternal untuk berkomunikasi dengan titik akhir layanan Amazon ECS. Beberapa subnet tidak menyediakan EC2 instans Amazon dengan alamat IP publik. Jika EC2 instans Amazon Anda tidak memiliki alamat IP publik, mereka harus menggunakan terjemahan alamat jaringan (NAT) untuk mendapatkan akses ini. Untuk informasi lebih lanjut, lihat Gateway NAT dalam Panduan Pengguna Amazon VPC. Untuk informasi lebih lanjut tentang cara membuat VPC, lihat Buat virtual private cloud .

Secara default, lingkungan komputasi AWS Batch terkelola menggunakan versi terbaru yang disetujui dari Amazon ECS AMI yang dioptimalkan untuk sumber daya komputasi. Namun, Anda mungkin perlu membuat AMI Anda sendiri untuk digunakan di lingkungan komputasi terkelola Anda karena berbagai alasan. Untuk informasi selengkapnya, lihat Menghitung sumber daya AMIs.

catatan

AWS Batch tidak secara otomatis memutakhirkan AMIs di lingkungan komputasi setelah dibuat. Misalnya, AMI tidak memperbarui AMIs di lingkungan komputasi Anda saat AMI Amazon ECS yang dioptimalkan versi yang lebih baru dirilis. Anda bertanggung jawab atas manajemen sistem operasi tamu. Ini termasuk pembaruan dan patch keamanan. Anda juga bertanggung jawab atas perangkat lunak aplikasi tambahan atau utilitas yang Anda instal di sumber daya komputasi. Ada dua cara untuk menggunakan AMI baru untuk AWS Batch pekerjaan Anda. Metode asli adalah menyelesaikan langkah-langkah ini:

  1. Buat lingkungan komputasi baru dengan AMI baru.

  2. Tambahkan lingkungan komputasi ke antrean tugas yang ada.

  3. Hapus lingkungan komputasi sebelumnya dari antrean tugas Anda.

  4. Hapus lingkungan komputasi sebelumnya.

Pada April 2022, AWS Batch menambahkan dukungan yang ditingkatkan untuk memperbarui lingkungan komputasi. Untuk informasi selengkapnya, lihat Memperbarui lingkungan komputasi. Untuk menggunakan pembaruan lingkungan komputasi yang disempurnakan untuk memperbarui AMIs, ikuti aturan berikut:

  • Jangan menyetel parameter service role (serviceRole) atau setel ke peran AWSServiceRoleForBatchterkait layanan.

  • Tetapkan parameter strategi alokasi (allocationStrategy) keBEST_FIT_PROGRESSIVE, SPOT_CAPACITY_OPTIMIZED atauSPOT_PRICE_CAPACITY_OPTIMIZED.

  • Setel pembaruan ke parameter versi gambar terbaru (updateToLatestImageVersion) ketrue.

  • Jangan tentukan ID AMI di imageId, imageIdOverride(in ec2Configuration), atau di template peluncuran (launchTemplate). Dalam hal ini, AWS Batch pilih AMI Amazon ECS terbaru yang dioptimalkan yang didukung AWS Batch pada saat pembaruan infrastruktur dimulai. Atau, Anda dapat menentukan ID AMI di imageIdOverride parameter imageId atau, atau template peluncuran yang diidentifikasi oleh LaunchTemplate properti. Mengubah salah satu properti ini memulai pembaruan infrastruktur. Jika ID AMI ditentukan dalam template peluncuran, ID AMI tidak dapat diganti dengan menentukan ID AMI baik di imageId atau imageIdOverride parameter. Itu hanya dapat diganti dengan menentukan template peluncuran yang berbeda. Atau, jika versi template peluncuran disetel ke $Default atau$Latest, dengan menyetel versi default baru untuk template peluncuran (jika ada$Default) atau dengan menambahkan versi baru ke templat peluncuran (jika ada$Latest).

Jika aturan ini diikuti, pembaruan apa pun yang memulai pembaruan infrastruktur akan menyebabkan ID AMI dipilih ulang. Jika versionpengaturan dalam template peluncuran (launchTemplate) disetel ke $Latest atau$Default, versi terbaru atau default dari template peluncuran dievaluasi pada saat pembaruan infrastruktur, meskipun tidak launchTemplatediperbarui.

Pertimbangan saat membuat pekerjaan paralel multi-node

AWS Batch merekomendasikan pembuatan lingkungan komputasi khusus untuk menjalankan pekerjaan multi-node parallel (MNP) dan pekerjaan non-MNP. Hal ini disebabkan oleh cara kapasitas komputasi dibuat di lingkungan komputasi terkelola Anda. Saat membuat lingkungan komputasi terkelola baru, jika Anda menentukan minvCpu nilai yang lebih besar dari nol maka buat kumpulan AWS Batch instance untuk digunakan dengan pekerjaan non-MNP saja. Jika pekerjaan paralel multi-node dikirimkan, AWS Batch buat kapasitas instance baru untuk menjalankan pekerjaan paralel multi-node. Dalam kasus di mana ada pekerjaan paralel single-node dan multi-node yang berjalan di lingkungan komputasi yang sama di mana maxvCpus nilai minvCpus atau ditetapkan, jika sumber daya komputasi yang diperlukan tidak tersedia AWS Batch akan menunggu pekerjaan saat ini selesai sebelum membuat sumber daya komputasi yang diperlukan untuk menjalankan pekerjaan baru.