作为一名 DevOps 人员,我想使用相同的模板来配置开发和生产堆栈...其中开发堆栈不应具有任何 DeletionPolicy
,但生产堆栈应使用 DeletionPolicy
所以,乍一看,CFT 为此提供了一个不错的工具,但是......不可能参数化 S3 DeletionPolicy
(至少我已经能够找到)......
这是我挖掘的一些线索
- https://forums.aws.amazon.com/message.jspa?messageID=560586
- https://www.unixdaemon.net/cloud/cloudformation-annoyance-deletion-policy-parameters/
AWS 建议的解决方法是使整个资源有条件,这导致我们复制资源并创建“可删除”和“不可删除” > 它的版本和所有依赖的资源应该处理该条件...
这看起来很奇怪和臃肿,有没有办法参数化这个或更好的方法来实现我的最终目标?
最佳答案
除了资源复制之外,CFT 中似乎没有其他选项。
您可以做的是使用Python脚本创建一个Lambda来设置S3删除策略。该 Lambda 函数可以在 CloudFormation 堆栈创建期间通过 SNS 触发。下面描述了如何配置: Is it possible to trigger a lambda on creation from CloudFormation template
但在您的特定情况下,我会在同一个 CFT 中进行资源复制。
关于amazon-web-services - 使用相同的 CloudFormation 模板来参数化 DeletionPolicy?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51974113/