我在 Terraform脚本上运行 Terraform 计划以启用 Fargate,但出现以下错误:
错误: aws_ecs_task_definition.task: : 无效或未知的键: requires_compatibilities
和
错误: aws_ecs_service.服务: : 无效或未知的密钥: launch_type
不知道为什么 Terraform 不接受启用 Fargate 的密钥launch_type
和requires_compatibilities
。
以下是我的任务和 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
}
}
requires_compatibilities
和launch_type
是在AWS提供商v1.6.0
引入的。
将您的提供商更新为1.6.0
或更高版本,您应该没问题。
v0.1.4
于 2017 年8 月发布,随后于 2017 年 9 月 27 日发布v1.0.0
,这早在 Fargate 公告之前。