0

我在 Terraform 脚本上运行了 Terraform 计划以启用 Fargate,但出现以下错误:

错误:aws_ecs_task_definition.task: : 无效或未知键:requires_compatibilities

错误:aws_ecs_service.service: : 无效或未知键:launch_type

不知道为什么 Terraform 不接受密钥launch_typerequires_compatibilities启用 Fargate。

下面是我的 Terraform 任务和 ECS 服务设置:

地形

resource "aws_ecs_task_definition" "task" {
  family                   = "${var.name_prefix}_gateway"
  container_definitions    = "${template_file.task.rendered}"
  requires_compatibilities = ["FARGATE"]
  network_mode             = "bridge"

  lifecycle {
    create_before_destroy = true
  }
}

resource "aws_ecs_service" "service" {
  name                               = "${var.name_prefix}_service"
  launch_type                        = "FARGATE"
  cluster                            = "${aws_ecs_cluster.terraform_cluster.id}"
  task_definition                    = "${aws_ecs_task_definition.task.arn}"
  desired_count                      = "${var.desired_count}"
  deployment_minimum_healthy_percent = 50
  deployment_maximum_percent         = 200
  iam_role                           = "${var.ecs_service_role}"

  load_balancer {
    target_group_arn = "${aws_alb_target_group.svc.arn}"
    container_name   = "task"
    container_port   = 8000
  }

  lifecycle {
    create_before_destroy = true
  }
}
4

1 回答 1

1

requires_compatibilities在 AWS 提供商launch_type中引入。v1.6.0

将您的提供商更新为1.6.0或更高,您应该没问题。

请注意,该版本于v0.1.42017 年 8 月发布,随后于 2017v1.0.0年 9 月 27 日发布,这比 Fargate 公告早了很久。

于 2018-07-06T17:35:43.040 回答