【发布时间】:2020-10-15 11:03:05
【问题描述】:
我在 DevOps 生活中迈出了第一步,在尝试在 ECS 上使用 Terraform 的标签时遇到了一个相当烦人的问题。
我已经尝试在任务定义模板上使用标签,但它们什么也没做。
我已经能够正确标记 ECS 集群和服务......但我似乎无法标记实际任务
谢谢!
【问题讨论】:
-
你能分享你的脚本吗?
标签: terraform amazon-ecs
我在 DevOps 生活中迈出了第一步,在尝试在 ECS 上使用 Terraform 的标签时遇到了一个相当烦人的问题。
我已经尝试在任务定义模板上使用标签,但它们什么也没做。
我已经能够正确标记 ECS 集群和服务......但我似乎无法标记实际任务
谢谢!
【问题讨论】:
标签: terraform amazon-ecs
ECS 任务定义可以标记:
resource "aws_ecs_task_definition" "task" {
# ...
tags = {
ImATag = "yes indeed"
AnotherTag = "another one"
}
# ...
}
ECS 服务也可以标记并配置为propagate their tags to tasks:
resource "aws_ecs_service" "service_with_auto_scaling" {
# ...
tags = {
ImATag = "yes indeed"
AnotherTag = "another one"
}
propagate_tags = "SERVICE"
# ...
}
如果您希望 ECS 任务定义中的任务传播到 ECS 任务本身,您可以这样做(感谢@williamfalconeruk 在这里提供更多信息!):
resource "aws_ecs_service" "service_with_auto_scaling" {
# ...
tags = {
ImATag = "yes indeed"
AnotherTag = "another one"
}
propagate_tags = "TASK_DEFINITION"
# ...
}
您需要log in as root and go to the ECS service settings and enable the new resource IDs 才能使propagate_tags 工作。
【讨论】:
propagate_tags = "TASK_DEFINITION"