Solución de errores de CPU o memoria no válidos en la definición de tareas de Amazon ECS - Amazon Elastic Container Service

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 256unidades 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)

nota

Esta opción requiere una plataforma Linux 1.4.0 o posterior.

Entre 16 GB y 60 GB en incrementos de 4 GB

Linux

16 384 (16 vCPU)

nota

Esta opción requiere una plataforma Linux 1.4.0 o posterior.

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.