作为DevOps的人,我想使用相同的模板来配置Dev和Prod堆栈... dev堆栈不应具有任何DeletionPolicy
,而Prod堆栈应使用DeletionPolicy
因此,乍一看,CFT为此提供了一个好的工具,但是....无法对S3 DeletionPolicy
进行参数设置(至少我已经能够找到)...
这是我挖的一些线程
AWS的建议的解决方法是使整个资源有条件,这导致我们复制资源并为其创建„Deletable
和„Undeletable
版本以及所有资源应处理该情况...
这似乎很浮肿,有什么方法可以对此参数进行参数化或更好的方法来实现我的最终目标?
答案 0 :(得分:1)
除了资源重复,CFT似乎没有其他选择。
您可以做的是使用Python脚本创建Lambda,该脚本将设置S3删除策略。可以在CloudFormation堆栈创建过程中通过SNS触发Lambda函数。这里描述了如何配置它: Is it possible to trigger a lambda on creation from CloudFormation template
但是在您的特殊情况下,我会在同一CFT中进行资源重复。