我在 Terraform 脚本上运行了 Terraform 计划以启用 Fargate,但出现以下错误:
错误:aws_ecs_task_definition.task: : 无效或未知键:requires_compatibilities
和
错误:aws_ecs_service.service: : 无效或未知键:launch_type
不知道为什么 Terraform 不接受密钥launch_type
并requires_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
}
}