首页 > 解决方案 > 使用 Terraform 订购 AWS ECS Fargate 容器

问题描述

我需要使用 AWS 容器排序在同一个 AWS Fargate 任务中配置 2 个容器,以便控制容器的启动顺序。

有没有办法在指定容器名称和条件的同时使用 Terraform 配置容器排序?

我们dependsOn在 AWS 上的任务定义中使用的方式相同:

 "dependsOn": [    {
       "containerName": "foo",
       "condition": "START"    } ]

更多细节:给定同一个 Fargate 任务中的 2 个容器,我需要指定其中一个容器依赖于另一个已经启动的容器。代码片段显示了 AWS 上所需的配置。我需要完全相同的配置,但使用 Terraform 代替。

这是我的配置的样子:

      dummy-task = {
    tasks = {
      container-a= {
        port = 5000
      }
      container-b = {
        port            = 8080
         dependsOn = {
          container-a: "START"
        }
        }
      }
   }

标签: amazon-web-servicesterraformamazon-ecsterraform-provider-awsaws-fargate

解决方案


您将aws_ecs_task_definition在 Terraform 中使用资源,尝试像往常一样在 json 定义中指定“dependsOn”:

container_definitions = "${file("task-definitions/service.json")}"

除非 Terraform 正在做一些花哨的事情,否则它应该可以工作。


推荐阅读