使用cloudformation模板,我能够在堆栈中创建两个存储桶和一个存储桶策略。原来我的存储桶策略权限错误,所以我决定删除存储桶,并使用新模板重新创建它们。
cloudformation似乎检测不到我已删除的s3存储桶。这些存储桶仍显示在我的堆栈资源中,但标记为“已删除”
我的堆栈也被标记为已漂移。当我尝试通过cloudformation中的链接访问s3存储桶时,出现“找不到错误数据”
我的堆栈已处于此状态约16个小时。关于如何使cloudformation与s3同步有任何想法吗?
答案 0 :(得分:2)
您的模板没有告诉CloudFormation要创建什么资源,而是告诉CloudFormation所需的状态。
听起来像您使用模板创建了一个堆栈,该模板包含用于存储桶的资源。 然后,您意识到了一个问题,并手动删除了存储桶。 然后,您使用具有相同存储桶资源(但具有正确权限)的更新模板来更新堆栈
CloudFormation处理此更新的模板时,它确定它已经创建了存储桶,因此没有重新创建它。
只要不更新模板就可以删除存储桶,就可以达到预期的效果。
由于您删除了存储桶,因此堆栈处于错误状态。如果您有这样做的灵活性,则可以删除堆栈并重新创建它。删除它时,它可能会抱怨无法删除该存储桶,您可能不得不重试一次,然后选择忽略它。