如何通过 terraform 在 ecs 任务定义中指定环境变量?
Posted
技术标签:
【中文标题】如何通过 terraform 在 ecs 任务定义中指定环境变量?【英文标题】:How can I specify environment variable on ecs task definition via terraform? 【发布时间】:2021-12-01 00:34:22 【问题描述】:我在 terraform 中有以下配置来部署 ecs 任务定义。可以创建任务并且所有配置都很好,除了环境变量。我在container_definitions
中指定了environment
,但任务仍然没有定义任何环境变量。
如何在此脚本中指定环境变量?
resource "aws_ecs_task_definition" "data-check"
family = "$var.stage-data-check"
execution_role_arn = aws_iam_role.ecs_data_check_role.arn
container_definitions = <<TASK_DEFINITION
[
"name" : "data-check-task",
"image" : "$local.image_name",
"essential" : true,
"environment" : [
"name" : "this is name"
],
"logConfiguration" :
"logDriver" : "awslogs",
"options" :
"awslogs-region" : "$var.aws_region",
"awslogs-group" : "/ecs/$local.ecs_name",
"awslogs-stream-prefix" : "ecs"
]
TASK_DEFINITION
cpu = 1024
memory = 2048
requires_compatibilities = ["FARGATE"]
network_mode = "awsvpc"
【问题讨论】:
【参考方案1】:你错过了一些东西,声明 env vars 的正确方法是:
"environment": [
"name": "VARNAME", "value": "VARVAL"
],
【讨论】:
以上是关于如何通过 terraform 在 ecs 任务定义中指定环境变量?的主要内容,如果未能解决你的问题,请参考以下文章
EFS 卷绑定在 ECS 任务定义的每个“terraform apply”上自动分离/重新附加
用于 ECS 任务/容器的 Terraform AWS CloudWatch 日志组