CloudFormation 参数最佳实践
CloudFormation parameters best practice
我想设置一个包含 VPC、子网、IGW 等内容的 cloudformation 堆栈...
我在网上找到的一个模板已经预先填充了这些内容,并使用 YAML 表示法。在 YAML 中,我设置了默认值,例如CIDR 块为“x.x.x.x/16”(作为示例),我保存了 YAML 文件。
我将 YAML 文件上传到 s3 存储桶,并使用 Azure DevOps 运行 管道并在我的 AWS 帐户上执行作业。堆栈创建成功。
在这种情况下,我被告知在 YAML 文件中“硬编码”参数是不好的。那么最佳做法是什么?
其次,有没有一种方法可以将参数从 azure devops 管道传递到模板文件,而不必在文件中插入参数,如果这有意义的话?
I was told that its not good to "hardcode" the parameters in the YAML file. What is the best practice then?
这真的取决于上下文。
模板是否在 CI/CD 环境中用于测试并且不需要人工干预?那么为 VPC、子网等使用硬编码变量就完全没问题了。事实上,在那种情况下,您可能一开始甚至不想使用参数。
该模板是否旨在供可能希望在不同 AWS 账户中部署该模板的不同用户使用?然后模板不应该做任何假设,你让用户根据你的堆栈需要选择每个参数。
Secondly, is there a way I can pass parameters from azure devops pipeline to the template file instead of having to insert the parameters IN the file, if that makes sense?
我想在您的管道中,您正在通过 运行 aws cloudformation create-stack...
部署模板,在这种情况下,您可以使用 --parameters
来指定参数。有关详细信息,请参阅 documentation。
我想设置一个包含 VPC、子网、IGW 等内容的 cloudformation 堆栈...
我在网上找到的一个模板已经预先填充了这些内容,并使用 YAML 表示法。在 YAML 中,我设置了默认值,例如CIDR 块为“x.x.x.x/16”(作为示例),我保存了 YAML 文件。
我将 YAML 文件上传到 s3 存储桶,并使用 Azure DevOps 运行 管道并在我的 AWS 帐户上执行作业。堆栈创建成功。
在这种情况下,我被告知在 YAML 文件中“硬编码”参数是不好的。那么最佳做法是什么?
其次,有没有一种方法可以将参数从 azure devops 管道传递到模板文件,而不必在文件中插入参数,如果这有意义的话?
I was told that its not good to "hardcode" the parameters in the YAML file. What is the best practice then?
这真的取决于上下文。
模板是否在 CI/CD 环境中用于测试并且不需要人工干预?那么为 VPC、子网等使用硬编码变量就完全没问题了。事实上,在那种情况下,您可能一开始甚至不想使用参数。
该模板是否旨在供可能希望在不同 AWS 账户中部署该模板的不同用户使用?然后模板不应该做任何假设,你让用户根据你的堆栈需要选择每个参数。
Secondly, is there a way I can pass parameters from azure devops pipeline to the template file instead of having to insert the parameters IN the file, if that makes sense?
我想在您的管道中,您正在通过 运行 aws cloudformation create-stack...
部署模板,在这种情况下,您可以使用 --parameters
来指定参数。有关详细信息,请参阅 documentation。