Solución de errores de CPU o memoria no válidos en la definición de tareas de Amazon ECS
Al registrar una definición de tareas mediante la API de Amazon ECS o la AWS CLI, si especifica un valor de cpu
o memory
no válido, se devuelve el siguiente error.
An error occurred (ClientException) when calling the RegisterTaskDefinition operation: Invalid 'cpu' setting for task.
nota
Cuando se utiliza Terraform, se puede devolver el siguiente error.
Error: ClientException: No Fargate configuration exists for given values.
Para solucionar este problema, debe especificar un valor admitido para la CPU y la memoria de la tarea en la definición de esta. El valor cpu
se puede expresar en unidades de CPU o vCPU en una definición de tarea. Cuando se registra la definición de tarea, se convierte en un entero que indica las unidades de CPU. El valor memory
se puede expresar en unidades de MiB o GB en una definición de tarea. Cuando se registra la definición de tarea, se convierte en un entero que indica los MiB.
Para las definiciones de tareas en las que solo se especifica EC2
para el parámetro requiresCompatibilities
, los valores de CPU admitidos están entre 256
unidades de CPU (0.25
vCPU) y 16384
unidades de CPU (16
vCPU). El valor de memoria debe ser un entero, y el límite depende de la cantidad de memoria disponible en la instancia de Amazon EC2 subyacente que utilice.
Para las definiciones de tareas en las que se especifica FARGATE
para el parámetro requiresCompatibilities
(incluso si también se especifica EC2
), debe utilizar uno de los valores que se indican en la siguiente tabla. Estos valores determinan el rango de valores admitidos para el parámetro de CPU y memoria.
Para las tareas alojadas en Fargate, en la siguiente tabla, se muestran las combinaciones de CPU y memoria válidas. Los valores de memoria del archivo JSON se especifican en MiB. Puede convertir el valor de GB a MiB multiplicando el valor por 1024. Por ejemplo, 1 GB = 1024 MiB.
Valor de CPU |
Valor de memoria |
Sistemas operativos admitidos por AWS Fargate |
---|---|---|
256 (0,25 vCPU) |
512 MiB, 1 GB, 2 GB |
Linux |
512 (0,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) |
Entre 4 GB y 16 GB en incrementos de 1 GB |
Linux, Windows |
4096 (4 vCPU) |
Entre 8 GB y 30 GB en incrementos de 1 GB |
Linux, Windows |
8192 (8 vCPU) notaEsta opción requiere una plataforma Linux |
Entre 16 GB y 60 GB en incrementos de 4 GB |
Linux |
16 384 (16 vCPU) notaEsta opción requiere una plataforma Linux |
Entre 32 GB y 120 GB en incrementos de 8 GB |
Linux |
Para las tareas alojadas en Amazon EC2, los valores admitidos de CPU para tareas están entre 0,25 vCPU y 192 vCPU.
nota
Los parámetros de CPU y memoria de nivel de tarea se omiten para los contenedores de Windows.