You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Terraform创建ECS Fargate集群时遇容器实例未找到错误求助

问题原因与修复方案

核心错误

你的aws_ecs_service资源未指定Fargate启动类型,ECS服务默认使用EC2启动类型,这会导致AWS尝试在集群中寻找已注册的EC2容器实例,但你使用的是Fargate类型的任务定义(requires_compatibilities = ["FARGATE"]),两者模式不匹配,因此抛出"No container instances were found in your cluster"错误。

修复步骤

  1. 在aws_ecs_service中添加launch_type = "FARGATE"配置,明确指定使用Fargate无服务器模式。
  2. (可选优化)移除容器定义中的network_mode字段,Fargate任务的网络模式固定为awsvpc,容器会自动继承该配置,无需单独声明。
  3. (可选优化)在portMappings中移除hostPort字段(或设为0),awsvpc模式下Fargate会自动处理端口映射,指定hostPort=80在Fargate环境中无实际意义。

修改后的完整配置

# Define each task
resource "aws_ecs_task_definition" "my_task_definition" {
  family                   = "${var.service_name}-task"
  requires_compatibilities = ["FARGATE"]
  network_mode             = "awsvpc"
  memory                   = "512"
  cpu                      = "256"
  container_definitions = jsonencode([
    {
      name         = "${var.service_name}-task"
      image        = "ealen/echo-server"
      portMappings = [
        {
          containerPort = 80
        }
      ]
    }
  ])
}

# Create a service that manages the tasks
resource "aws_ecs_service" "my_service" {
  name            = "${var.service_name}-service"
  cluster         = aws_ecs_cluster.my_cluster.id
  task_definition = aws_ecs_task_definition.my_task_definition.arn
  desired_count   = 1
  # 新增:指定Fargate启动类型
  launch_type     = "FARGATE"

  load_balancer {
    target_group_arn = aws_lb_target_group.my_ecs_targetgroup.arn
    container_name   = "${var.service_name}-task"
    container_port   = 80
  }

  network_configuration {
    security_groups = [aws_security_group.my_ecs_security_group.id]
    subnets         = aws_subnet.my_private_subnet.*.id
    # 若私有子网未配置NAT网关,需设为ENABLED让任务获取公网IP拉取镜像
    assign_public_ip = "ENABLED"
  }

  depends_on = [aws_lb_listener.my_lb_listener]
}

额外注意事项

如果任务部署在私有子网中,需确保子网配置了NAT网关,否则任务无法拉取公网镜像;若未配置NAT网关,必须将assign_public_ip设为ENABLED,让任务通过公网IP获取镜像。

内容的提问来源于stack exchange,提问作者VBoi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 15:47:24