如何通过CloudFormation删除AWS Evidently Launch?移除资源未生效
能否通过CloudFormation删除AWS Evidently Launch?
通常从CloudFormation栈中移除资源会触发删除操作,但针对AWS Evidently Launch,这个操作并未生效。本人不想使用AWS SDK的DeleteLaunch接口,因为基础设施已全部脚本化。
答案:
默认情况下,CloudFormation不支持直接删除AWS Evidently Launch资源。根据CloudFormation中AWS::Evidently::Launch的资源定义规范,该资源的默认删除行为为Retain(保留)——也就是说,当你从CloudFormation模板中移除Launch的资源定义并更新栈时,CloudFormation不会自动删除对应的Evidently Launch,只会将其从栈的管理范围内剥离。
如果想要通过CloudFormation实现删除Launch的需求,可参考以下两种方案:
- 自定义资源方案:创建CloudFormation自定义资源(Custom Resource),在自定义资源的删除回调逻辑中调用DeleteLaunch API。这种方式可以无缝集成到现有的基础设施脚本化流程中,无需单独执行SDK调用。
- 状态前置处理方案:先手动将目标Launch的状态修改为
COMPLETED,再尝试从CloudFormation栈中移除该资源定义。有用户反馈当Launch处于完成状态时,CloudFormation可能会执行删除操作(此行为未在官方文档中明确标注,建议自行测试验证)。
另外需要注意:Evidently Launch的删除操作是异步执行的,即使触发了删除指令,也需要等待一段时间才能彻底完成资源清理。
内容的提问来源于stack exchange,提问作者scw
相关产品推荐
相关产品推荐

