gpt4 book ai didi

amazon-web-services - EFS 卷绑定(bind)在每个 `terraform apply` 上自动分离/重新附加,用于 ECS 任务定义

转载 作者:行者123 更新时间:2023-12-04 14:51:03 25 4
gpt4 key购买 nike

我目前正在使用 AWS ECS 进行服务部署。对于共享卷,我绑定(bind)了一些 EFS 卷。
这是我的任务定义:

resource "aws_ecs_task_definition" "ecs-fargate" {
family = var.ecs_task_definition_name
container_definitions = var.container_definitions
requires_compatibilities = ["FARGATE"]
network_mode = "awsvpc"
cpu = var.ecs_task_cpu
memory = var.ecs_task_memory
execution_role_arn = var.ecs_task_execution_role_arn
task_role_arn = var.ecs_task_role_arn

dynamic "volume" {
for_each = var.volumes
content {
name = volume.value["name"]
efs_volume_configuration {
file_system_id = volume.value["file_system_id"]
}
}
}
}

var "volumes" {
default = [
{
name = "vol1"
file_system_id = "fs-xxxxxxxx"
},
{
name = "vol2"
file_system_id = "fs-xxxxxxxx"
}
]
}
上面的 Terraform 代码也运行良好。
但是当我做 terraform apply每次,任务定义都会先分离 EFS 卷,然后再次重新附加它。这是问题的屏幕截图:
     - volume {
- name = "vol1" -> null

- efs_volume_configuration {
- file_system_id = "fs-xxxxxxx" -> null
- root_directory = "/" -> null
}
}
+ volume {
+ name = "vol1"

+ efs_volume_configuration {
+ file_system_id = "fs-xxxxxx"
+ root_directory = "/"
}
}
对于上述问题,我是否在这里缺少一些额外的 Terraform 配置?

最佳答案

如果您 apply你的 TF 配置你应该看到 实际未执行任何更改 .如果您查看 efs_volume_configuration 的 TF 文档你会看到它有很多属性。其中一些将是 默认 ,例如您的 root_directory你没有指定。 TF 可能需要在初始 apply 之后选择这些默认值。 .因此,稍后您可能会在随后的 terraform plan 中看到它们。 .

关于amazon-web-services - EFS 卷绑定(bind)在每个 `terraform apply` 上自动分离/重新附加,用于 ECS 任务定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69103478/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com