Memecahkan masalah kesalahan kesalahan CPU atau memori Amazon ECS definisi tugas yang tidak valid - Amazon Elastic Container Service

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

Memecahkan masalah kesalahan kesalahan CPU atau memori Amazon ECS definisi tugas yang tidak valid

Saat mendaftarkan definisi tugas menggunakan Amazon ECS API atau AWS CLI, jika Anda menentukan memory nilai cpu atau tidak valid, kesalahan berikut akan ditampilkan.

An error occurred (ClientException) when calling the RegisterTaskDefinition operation: Invalid 'cpu' setting for task.
catatan

Saat menggunakan Terraform, kesalahan berikut mungkin dikembalikan.

Error: ClientException: No Fargate configuration exists for given values.

Untuk mengatasi masalah ini, Anda harus menentukan nilai yang didukung untuk tugas CPU serta memori dalam ketentuan tugas Anda. cpuNilai dapat dinyatakan dalam unit CPU atau v CPUs dalam definisi tugas. Ini dikonversi ke bilangan bulat yang menunjukkan unit CPU ketika definisi tugas terdaftar. memoryNilai dapat dinyatakan dalam MiB atau GB dalam definisi tugas. Ini dikonversi ke bilangan bulat yang menunjukkan MiB ketika definisi tugas terdaftar.

Untuk definisi tugas yang menentukan FARGATE requiresCompatibilities parameter (bahkan jika juga EC2 ditentukan), Anda harus menggunakan salah satu nilai dalam tabel berikut. Nilai-nilai ini menentukan rentang nilai yang didukung untuk CPU dan parameter memori.

Untuk tugas yang dihosting di Fargate, tabel berikut menunjukkan kombinasi CPU dan memori yang valid. Nilai memori dalam file JSON ditentukan dalam MiB. Anda dapat mengonversi nilai GB ke MiB dengan mengalikan nilainya dengan 1024. Misalnya 1 GB = 1024 MiB.

Nilai CPU Nilai memori Sistem operasi yang didukung untuk AWS Fargate
256 (.25 vCPU) 512 MiB, 1 GB, 2 GB Linux
512 (.5 vCPU) 1 GB, 2 GB, 3 GB, 4 GB Linux
1024 (1 vCPU) 2 GB, 3 GB, 4 GB, 5 GB, 6 GB, 7 GB, 8 GB Linux, Windows
2048 (2 vCPU) Antara 4 GB dan 16 GB dalam peningkatan 1 GB Linux, Windows
4096 (4 vCPU) Antara 8 GB dan 30 GB dalam peningkatan 1 GB Linux, Windows
8192 (8 vCPU)
catatan

Opsi ini membutuhkan platform Linux 1.4.0 atau yang lebih baru.

Antara 16 GB dan 60 GB dalam peningkatan 4 GB Linux
16384 (16vCPU)
catatan

Opsi ini membutuhkan platform Linux 1.4.0 atau yang lebih baru.

Antara 32 GB dan 120 GB dalam peningkatan 8 GB Linux

Untuk tugas yang dihosting di Amazon EC2, nilai CPU tugas yang didukung adalah antara 0,25 v CPUs dan 192 v. CPUs

Amazon ECS menggunakan periode CPU dan kuota CPU untuk mengontrol batas keras CPU ukuran tugas. Saat Anda menentukan vCPU dalam definisi tugas, Amazon ECS menerjemahkan nilai ke periode CPU dan setelan kuota CPU yang berlaku untuk. cgroup

Kuota CPU mengontrol jumlah waktu CPU yang diberikan kepada a cgroup selama periode CPU tertentu. Kedua pengaturan dinyatakan dalam mikrodetik. Ketika kuota CPU sama dengan periode CPU berarti cgroup dapat mengeksekusi hingga 100% pada satu vCPU (atau fraksi lain yang totalnya 100% untuk beberapa v). CPUs Kuota CPU memiliki maksimum 1000000us dan periode CPU minimal 1ms. Anda dapat menggunakan nilai-nilai ini untuk menetapkan batas jumlah CPU Anda. Ketika Anda mengubah periode CPU tanpa mengubah kuota CPU, Anda memiliki batas efektif yang berbeda dari yang telah Anda tentukan dalam definisi tugas Anda.

Periode 100ms memungkinkan v CPUs mulai dari 0,125 hingga 10.

catatan

Tingkat tugas CPU dan memori parameter diabaikan untuk Windows kontainer.