Terraform Fargate ECS выдает неверный или неизвестный ключ: requires_compatibilities

Я запустил план Terraform в скрипте Terraform, чтобы включить Fargate, но получаю следующую ошибку:

Ошибка: aws_ecs_task_definition.task:: неверный или неизвестный ключ: requires_compatibilities

а также

Ошибка: aws_ecs_service.service:: неверный или неизвестный ключ: launch_type

Не уверен, почему Terraform не принимает ключи launch_type и requires_compatibilities для включения Fargate.

Ниже представлена ​​моя задача и настройка сервиса ECS для Terraform:

Terraform

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
  }
}

person governingcloud    schedule 05.07.2018    source источник
comment
Какую версию Terraform и поставщика AWS вы используете?   -  person ydaetskcoR    schedule 06.07.2018
comment
Terraform v0.11.7 + provider.aws v0.1.4 + provider.template v0.1.1   -  person governingcloud    schedule 06.07.2018
comment
Не ответ на ваш вопрос, но актуальный, вы не можете использовать bridge сеть с Fargate; Только awsvpc.   -  person bluescores    schedule 09.07.2018


Ответы (1)


requires_compatibilities и launch_type были представлены в v1.6.0 поставщика AWS.

Обновите своего провайдера до 1.6.0 или выше, и все будет в порядке.

Обратите внимание, что v0.1.4 вышел в августе 2017 года, а за ним последовал релиз v1.0.0 27 сентября 2017 года, что было задолго до объявления Fargate.

person ydaetskcoR    schedule 06.07.2018
comment
Я думал, что у меня последняя версия, ошибся. Как упоминалось выше, обновление aws.provider до последней версии устранило проблему. Спасибо. - person governingcloud; 11.07.2018