小编san*_*rma的帖子

如何通过 ECS ContainerDefinitions 中的 CloudFormation 从 AWS 参数存储注入值

我正在创建云形成代码来构建 ECS 集群。我需要从 AWS 参数存储中获取一些值。我没有找到任何相同的示例代码示例。看起来cloudFormation中的“ValueFrom”不支持!

有人能证实吗?

下面我尝试使用:

  ContainerDefinitions:
    - Name: !Ref ServiceName
      Image: !Ref Image
      PortMappings:
        - ContainerPort: !Ref ContainerPort
      Environment:
      - Name: DB_HOST
        Value: arn:aws:ssm:us-east-2:111111111111:parameter/dev/rds/DB_HOST
      - Name: DB_PASSWORD
        Value: arn:aws:ssm:us-east-2:111111111111:parameter/dev/rds/DB_PASSWORD
      - Name: DB_PORT
        Value: 5432
Run Code Online (Sandbox Code Playgroud)

在上述情况下,CloudFormation 代码执行时没有错误,但将 DB_HOST 和 DB_PASSWORD 视为简单/直接文本,不采用表单参数存储,请检查突出显示的屏幕截图:

在此输入图像描述

因此,它仅适用于 DB_PORT,不适用于 DB_HOST 和 DB_PASSWORD,直到我手动将“value”(在屏幕截图中突出显示)更改为“valueFrom”,如下图所示:

在此输入图像描述

基本上我想通过 CloudFormation 使用“valueFrom”选项!

我也尝试过:

     Environment:
      - Name: DB_HOST
        ValueFrom: arn:aws:ssm:us-east-2:111111111111:parameter/dev/rds/DB_HOST
Run Code Online (Sandbox Code Playgroud)

但它不被云形成和错误所支持!

amazon-web-services amazon-ecs aws-cloudformation devops

3
推荐指数
1
解决办法
1449
查看次数