Amazon ECS 작업 정의 잘못된 CPU 또는 메모리 오류 문제 해결 - Amazon Elastic Container Service

Amazon ECS 작업 정의 잘못된 CPU 또는 메모리 오류 문제 해결

Amazon ECS API 또는 AWS CLI를 사용하여 태스크 정의를 등록할 때 잘못된 cpu 또는 memory 값을 지정하면 다음 오류가 반환됩니다.

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

Terraform을 사용할 때 다음 오류가 반환될 수 있습니다.

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

이 문제를 해결하려면 태스크 정의에서 작업 CPU 및 메모리에 지원되는 값을 지정해야 합니다. cpu 값은 작업 정의에서 CPU 단위 또는 vCPU로 표현될 수 있습니다. 작업 정의를 등록할 때 CPU 단위를 나타내는 정수로 변환됩니다. memory 값은 작업 정의에서 MiB 또는 GB로 표현될 수 있습니다. 작업 정의를 등록할 때 MiB를 나타내는 정수로 변환됩니다.

requiresCompatibilities 파라미터에 EC2만을 지정하는 태스크 정의의 경우 지원되는 CPU 값은 256 CPU 단위(0.25 vCPU)~16384 CPU 단위(16 vCPU)입니다. 메모리 값은 정수여야 하며, 제한은 사용하는 기본 Amazon EC2 인스턴스에서 사용 가능한 메모리 크기에 따라 달라집니다.

requiresCompatibilities 파라미터에 FARGATE를 지정하는 작업 정의의 경우(EC2도 함께 지정되는 경우라도) 다음 테이블에 나오는 값 중 하나를 사용해야 합니다. 이 값에 따라 CPU 및 메모리 파라미터에 지원되는 값의 범위가 결정됩니다.

다음 표에서는 Fargate에서 호스팅되는 태스크에 대해 유효한 CPU와 메모리 조합을 보여줍니다. JSON 파일의 메모리 값은 MiB 단위로 지정됩니다. 값에 1024를 곱하여 GB 값을 MiB로 변환할 수 있습니다. 예를 들어 1GB는 1024MiB입니다.

CPU 값

메모리 값

AWS Fargate에 지원되는 운영 체제

256(.25 vCPU)

512MiB, 1GB, 2GB

Linux

512(.5 vCPU)

1GB, 2GB, 3GB, 4GB

Linux

1024(1 vCPU)

2GB, 3GB, 4GB, 5GB, 6GB, 7GB, 8GB

Linux, Windows

2048(2 vCPU)

4~16GB(1GB 증분)

Linux, Windows

4096(4 vCPU)

8~30GB(1GB 증분)

Linux, Windows

8192 (8 vCPU)

참고

이 옵션은 Linux 플랫폼 1.4.0 이상이 필요합니다.

16~60GB(4GB 증분)

Linux

16384 (16vCPU)

참고

이 옵션은 Linux 플랫폼 1.4.0 이상이 필요합니다.

32~120GB(8GB 증분)

Linux

Amazon EC2에서 호스팅되는 작업의 경우 지원되는 작업 CPU 값은 0.25 vCPU에서 192 vCPU 사이입니다.

참고

Windows 컨테이너에 대해서는 태스크 레벨 CPU와 메모리 파라미터가 무시됩니다.