小编Has*_*hmi的帖子

如何使用 CloudFormation 覆盖容器环境变量来运行 AWS ECS 任务

我正在寻找一种运行 ecs 任务的方法。我已经有了集群和任务定义设置。我只是想使用 CloudFormation 模板触发任务。我知道我可以通过单击控制台来运行任务并且它工作正常。对于 cfn,需要正确定义方法。

检查所附的屏幕截图。我想使用 CloudFormation 运行该任务并传递容器覆盖环境变量。根据我当前的模板,它不允许我做与使用控制台相同的事情。使用控制台我只需要选择以下选项

  1. Launch type 
  2. Task Definition 
              Family
              Revision 
  3. VPC and security groups 
  4. Environment variable overrides rest of the things automatically selected
Run Code Online (Sandbox Code Playgroud)

它开始使用控制台,但使用 cloudformaton 模板,我们该如何做到这一点。可以做或者没有这样的功能吗?

      "taskdefinition": {
    "Type" : "AWS::ECS::TaskDefinition",
    "DependsOn": "DatabaseMaster",
    "Properties" : {
        "ContainerDefinitions" : [{
            "Environment" : [
              {
                 "Name" : "TARGET_DATABASE",
                 "Value" : {"Ref":"DBName"}
              },
              {
                 "Name" : "TARGET_HOST",
                 "Value" : {"Fn::GetAtt": ["DatabaseMaster", "Endpoint.Address"]}
              }
            ]
          }],
        "ExecutionRoleArn" : "arn:aws:iam::xxxxxxxxxx:role/ecsTaskExecutionRole",
        "Family" : "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
        "TaskRoleArn" : "arn:aws:iam::xxxxxxxxxxxxxxx:role/xxxxxxxxxxxxxxx-XXXXXXXXX" …
Run Code Online (Sandbox Code Playgroud)

json amazon-web-services amazon-ecs aws-cloudformation

6
推荐指数
1
解决办法
5860
查看次数