我必须提供 API_URL 作为 ECS 容器的环境变量。我创建了
Task Definition
并将 API_URL 环境变量提供为 http://production.api.com
。
工作正常,但现在我们必须创建临时环境,并且需要将不同的值传递给
API_URL
。
我正在关注 https://docs.aws.amazon.com/AmazonECS/latest/developerguide/taskdef-envfiles.html docs。
我的想法是,我们必须为生产和登台创建不同的任务定义。
是否有其他方法可以使用相同的任务定义并以不同的方式传递 API_URL 值?
如果您正在运行 ECS 服务,那么创建单独的任务定义是使用不同环境变量部署 ECS 服务的正确方法。如果您使用的是基础设施即代码 (IaC) 工具,例如 CloudFormation 或 Terraform,那么这应该是微不足道的。如果您不使用 IaC,那么我强烈建议您考虑它。
如果您直接通过 RunTask API 运行 ECS 任务,而不是 ECS 服务,则存在传递容器覆盖设置的概念。即使如此,最好使用 IaC 工具而不是手动配置来管理此类事情。