AWS Batch di AWS Fargate - AWS Batch

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

AWS Batch di AWS Fargate

AWS Fargate adalah teknologi yang dapat Anda gunakan dengan AWS Batch untuk menjalankan kontainer tanpa harus mengelola server atau klaster instans Amazon EC2. Dengan AWS Fargate, Anda tidak perlu menyediakan, mengonfigurasi, atau menskalakan klaster mesin virtual untuk menjalankan kontainer. Anda tidak perlu memilih jenis server, memutuskan kapan akan menskalakan klaster Anda, atau mengoptimalkan paket klaster.

Ketika Anda menjalankan tugas dengan sumber daya Fargate, Anda membuat paket aplikasi Anda dalam kontainer, menentukan persyaratan CPU dan memori, menentukan jaringan dan kebijakan IAM, dan meluncurkan aplikasi. Setiap tugas Fargate memiliki batas isolasi tersendiri dan tidak berbagi inti kernel, sumber daya CPU, sumber daya memori, atau antarmuka jaringan elastis dengan tugas lain.

Kapan saatnya menggunakan Fargate

Kami merekomendasikan menggunakan Fargate di sebagian besar skenario. Fargate meluncurkan dan menskalakan komputasi agar sesuai dengan persyaratan sumber daya yang Anda tentukan untuk penampung. Dengan Fargate, Anda tidak perlu menyediakan terlalu banyak atau membayar server tambahan. Anda juga tidak perlu khawatir tentang spesifikasi parameter terkait infrastruktur seperti tipe instance. Ketika lingkungan komputasi perlu ditingkatkan, pekerjaan yang berjalan pada sumber daya Fargate dapat dimulai lebih cepat. Biasanya, dibutuhkan beberapa menit untuk memutar instans Amazon EC2 baru. Namun, pekerjaan yang berjalan di Fargate dapat disediakan dalam waktu sekitar 30 detik. Waktu yang tepat yang dibutuhkan tergantung pada beberapa faktor, termasuk ukuran gambar kontainer dan jumlah pekerjaan.

Namun, kami menyarankan Anda menggunakan Amazon EC2 jika pekerjaan Anda memerlukan salah satu dari yang berikut:

  • Lebih dari 16 vCPU

  • Lebih dari 120 gibibyte (GiB) memori

  • SEBUAH GPU

  • Gambar Mesin Amazon kustom (AMI)

  • Salah satu parameter LinuxParameters

Jika Anda memiliki banyak pekerjaan, kami sarankan Anda menggunakan infrastruktur Amazon EC2. Misalnya, jika jumlah pekerjaan yang berjalan secara bersamaan melebihi batas pelambatan Fargate. Ini karena, dengan EC2, pekerjaan dapat dikirim pada tingkat yang lebih tinggi ke sumber daya EC2 daripada ke sumber daya Fargate. Selain itu, lebih banyak pekerjaan dapat berjalan secara bersamaan saat Anda menggunakan EC2. Untuk informasi lebih lanjut, lihat Kuota layanan AWS Fargate dalam Panduan Developer Amazon Elastic Container Service.

Ketentuan tugas di Fargate

Tugas AWS Batch di Fargate tidak mendukung semua parameter ketentuan tugas yang tersedia. Beberapa parameter tidak didukung sama sekali, dan parameter lainnya memiliki perilaku yang berbeda untuk tugas Fargate.

Daftar berikut ini menjelaskan parameter ketentuan tugas yang tidak valid atau dibatasi dalam tugas Fargate.

platformCapabilities

Harus ditentukan sebagai FARGATE.

"platformCapabilities": [ "FARGATE" ]
type

Harus ditentukan sebagai container.

"type": "container"
Parameter dalam containerProperties
executionRoleArn

Harus ditentukan untuk tugas yang berjalan di sumber daya Fargate. Untuk informasi lebih lanjut, lihat IAM Role untuk Tugas dalam Panduan Developer Amazon Elastic Container Service.

"executionRoleArn": "arn:aws:iam::123456789012:role/ecsTaskExecutionRole"
fargatePlatformConfiguration

(Opsional, hanya untuk ketentuan tugas Fargate). Menentukan versi platform Fargate, atau LATEST untuk versi platform terbaru. Nilai yang mungkin untuk platformVersion adalah 1.3.0, 1.4.0, dan LATEST (default).

"fargatePlatformConfiguration": { "platformVersion": "1.4.0" }
instanceType
ulimits

Tidak berlaku untuk tugas yang berjalan di sumber daya Fargate.

memory
vcpus

Pengaturan ini harus ditentukan dalam resourceRequirements

privileged

Jangan tentukan parameter ini, atau tentukan sebagai false.

"privileged": false
resourceRequirements

Persyaratan memori dan vCPU harus ditentukan menggunakan nilai yang didukung. Sumber daya GPU tidak didukung untuk pekerjaan yang berjalan di sumber daya Fargate.

Jika Anda menggunakan GuardDuty Runtime Monitoring, ada sedikit overhead memori untuk agen GuardDuty keamanan. Oleh karena itu batas memori harus mencakup ukuran agen GuardDuty keamanan. Untuk informasi tentang batas memori agen GuardDuty keamanan, lihat batas CPU dan memori di Panduan GuardDuty Pengguna. Untuk informasi tentang praktik terbaik, lihat Bagaimana cara memperbaiki kesalahan memori pada tugas Fargate setelah mengaktifkan Runtime Monitoring di Panduan Pengembang Amazon ECS.

"resourceRequirements": [ {"type": "MEMORY", "value": "512"}, {"type": "VCPU", "value": "0.25"} ]
Parameter dalam linuxParameters
devices
maxSwap
sharedMemorySize
swappiness
tmpfs

Tidak berlaku untuk pekerjaan yang berjalan pada sumber daya Fargate.

Parameter dalam logConfiguration
logDriver

Hanya awslogs dan splunk yang didukung. Untuk informasi selengkapnya, lihat Menggunakan driver log awslogs.

Anggota di networkConfiguration
assignPublicIp

Jika subnet pribadi tidak memiliki gateway NAT yang terpasang untuk mengirim lalu lintas ke Internet, assignPublicIp harus "”ENABLED. Untuk informasi selengkapnya, lihat AWS Batch eksekusi peran IAM.

Antrean tugas di Fargate

Antrean tugas AWS Batch di Fargate pada dasarnya tidak berubah. Satu-satunya batasan adalah bahwa lingkungan komputasi yang terdaftar di semua computeEnvironmentOrder harus lingkungan komputasi Fargate (atau). FARGATE FARGATE_SPOT Lingkungan komputasi EC2 dan Fargate tidak dapat dicampur.

Lingkungan komputasi di Fargate

Lingkungan komputasi AWS Batch di Fargate tidak mendukung semua parameter lingkungan komputasi yang tersedia. Beberapa parameter tidak didukung sama sekali. Lainnya memiliki persyaratan khusus untuk Fargate.

Daftar berikut menjelaskan parameter lingkungan komputasi yang tidak valid atau dibatasi dalam pekerjaan Fargate.

type

Parameter ini harus MANAGED.

"type": "MANAGED"
Parameter di objek computeResources
allocationStrategy
bidPercentage
desiredvCpus
imageId
instanceTypes
ec2Configuration
ec2KeyPair
instanceRole
launchTemplate
minvCpus
placementGroup
spotIamFleetRole

Ini tidak berlaku untuk lingkungan komputasi Fargate dan tidak dapat disediakan.

subnets

Jika subnet yang tercantum dalam parameter ini tidak memiliki gateway NAT yang terlampir, parameter assignPublicIp dalam ketentuan tugas harus diatur ke ENABLED.

tags

Ini tidak berlaku untuk lingkungan komputasi Fargate dan tidak dapat disediakan. Untuk menentukan tanda untuk lingkungan komputasi Fargate, gunakan parameter tags yang tidak ada di objek computeResources.

type

Ini harus FARGATE atau FARGATE_SPOT.

"type": "FARGATE_SPOT"