将CloudFormation与CodePipeline一起使用时应在何处放置参数

时间:2018-08-19 01:55:12

标签: amazon-web-services amazon-cloudformation aws-codepipeline

当我使用CodePipeline部署我的CloudFormation堆栈时,它始终需要设置参数...到目前为止,我希望我是对的吗?

  

参数:[xxx,yyy,...]必须具有值(服务:AmazonCloudFormation;状态代码:400;错误代码:ValidationError;请求ID:43e9ede4-a352-11e8-bfe2-15cc69824d50)

我当前的设置类似于:

  • 用于CI / CD的1个堆栈(CodePipeline,CodeBuild和使用CloudFormation进行基础架构部署)
  • 1个用于“实际”基础设施的堆栈:数据库,ECS集群等

我需要在CI和实际堆栈中定义我的参数。这是因为CI堆栈需要将这些参数传递到实际堆栈中……这似乎是错误的。

理想情况下,我希望CI堆栈仅知道CI / CD所需的内容,而不是实际堆栈所需的环境变量?


更新:可能的解决方案?

我试图再增加一个堆栈:一个“ config”堆栈,它将所有内容存储在EC2参数存储中,但是似乎CloudFormation无法定义Secrets

  

AWS CloudFormation不支持SecureString参数类型。 (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-parameter.html

因此,也许我将实际的基础堆栈通过CodeBuild将所有参数保存到EC2参数存储中,然后我的CI堆栈将从中读取。这是正确的方法吗?

0 个答案:

没有答案