Terraform配置ECS Task Definition时CPU设置无效报错求助
AWS ECS Fargate任务定义CPU配置无效问题排查与解决
使用Terraform配置AWS ECS Fargate任务定义时,遇到CPU设置无效的报错,错误信息如下:
Error: creating ECS Task Definition (wb_td): ClientException: Invalid 'cpu' setting for task.
对应的Terraform配置代码:
resource "aws_ecs_task_definition" "this" { family = var.ecs_task_name network_mode = "awsvpc" requires_compatibilities = ["FARGATE"] cpu = 1 memory = 512 #execution_role_arn = aws_iam_role.ecs_execution.arn #task_role_arn = aws_iam_role.ecs_task.arn container_definitions = jsonencode([{ name = "first" image = "service-first" memory = 128 essential = true portMappings = [ { containerPort = 80 hostPort = 80 } ] }, { name = "second" image = "service-second" memory = 128 essential = true portMappings = [ { containerPort = 443 hostPort = 443 } ] } ]) tags = { Name = var.ecs_task_name } }
问题原因
Fargate模式下,CPU和内存配置必须遵循AWS规定的固定组合,不能随意设置。当前配置中cpu = 1不符合Fargate的CPU规格要求,且与memory = 512的组合不合法。
修正方案
- 调整CPU值为合法规格:Fargate的CPU取值只能是256、512、1024、2048、4096、8192、16384、32768(这些数值对应AWS定义的vCPU容量,例如256=0.25vCPU)。
- 确保CPU与内存组合合法:比如内存设为512时,CPU只能是256。
修正后的配置示例:
resource "aws_ecs_task_definition" "this" { family = var.ecs_task_name network_mode = "awsvpc" requires_compatibilities = ["FARGATE"] cpu = 256 # 修正为与512内存匹配的合法CPU规格 memory = 512 #execution_role_arn = aws_iam_role.ecs_execution.arn #task_role_arn = aws_iam_role.ecs_task.arn container_definitions = jsonencode([{ name = "first" image = "service-first" memory = 128 essential = true portMappings = [ { containerPort = 80 hostPort = 80 } ] }, { name = "second" image = "service-second" memory = 128 essential = true portMappings = [ { containerPort = 443 hostPort = 443 } ] } ]) tags = { Name = var.ecs_task_name } }
Fargate CPU与内存组合规则
- 0.25vCPU(256):内存范围512 - 2048
- 0.5vCPU(512):内存范围1024 - 4096
- 1vCPU(1024):内存范围2048 - 8192
- 2vCPU(2048):内存范围4096 - 16384
- 4vCPU(4096):内存范围8192 - 32768
- 8vCPU(8192):内存范围16384 - 65536
- 16vCPU(16384):内存范围32768 - 131072
- 32vCPU(32768):内存范围65536 - 262144
配置时需确保CPU和内存组合落在对应范围内,避免触发配置错误。
内容的提问来源于stack exchange,提问作者whitebear
相关产品推荐
相关产品推荐

