AWS CloudFormation回滚(例如,UPDATE_ROLLBACK_IN_PROGRESS)一直在进行中,比如超过一个半小时。我想完全删除堆栈或强制停止任何活动。这可能吗?
谢谢!
答案 0 :(得分:24)
阻止堆栈更新/回滚的另一个常见原因是ECS :: Service资源更新中的错误:它看起来不像当前检测到的那样(在某些情况下?)。 Cloudformation正在等待服务的服务事件达到稳定状态,因此简单地将服务更新为有效的事物(例如,期望的任务为0)将解除阻塞。但是,在发送更多更新以避免问题之前,尝试让状态回到Cloudformation所期望的状态。
答案 1 :(得分:4)
我猜您的堆栈资源会被外部更改或删除。 您可以在下面找到官方指南。
手动同步资源,使其与原始堆栈的模板匹配,然后继续回滚更新。例如,如果您手动删除了AWS CloudFormation尝试回滚的资源,则必须手动创建具有相同名称的资源及其在原始堆栈中具有的属性。
或(如@talentedmrjones所说)
要修复堆栈,请联系AWS客户支持。
就我而言,我可以通过重新创建已删除的资源来阻止相同的情况。
答案 2 :(得分:1)
您需要调查为什么回滚花费这么长时间(例如,如果它是由于在CloudFormation堆栈之外修改了缺少的资源,或者是无法返回预期信号的自定义资源)。
答案 3 :(得分:1)
就我而言,这是一个EC2安全组,因为它是从另一个EC2安全组引用的,所以无法删除。
答案 4 :(得分:0)
如果您的用户角色缺少删除角色的权限,有时会发生这种情况。可以通过尝试手动删除由CloudFormation堆栈创建的角色或用户来测试此问题。
答案 5 :(得分:0)
我曾经发生过类似的事情,并且堆栈似乎永远停留在UPDATE_ROLLBACK_IN_PROGRESS状态。我建议向AWS支持提交一张票。这是我能够解决它的唯一方法。
答案 6 :(得分:0)
在处理自定义资源时,可以构建返回URL的模拟版本。
最简单的方法是获取创建过程中使用的url。如果您可以开始使用它,请使用“客户端请求令牌”替换最后一个%2F之后的部分,您可以从事件日志中获取该数据。
如果没有,那么这里是您必须构建的网址格式。
https://{region}.console.aws.amazon.com/cloudformation/home?region={region}#/stacks?filter=active&tab=events&stackId={stack arn}%2F{stack name}%2F{client request token}
将该url作为get运行,这将导致资源无法回滚或删除。
答案 7 :(得分:0)
能够通过AWS仪表板手动删除所有内容来删除我的。我最终有几个悬空的角色,只需要删除即可。
答案 8 :(得分:0)
我遇到同样的问题。 控制台告诉我某些资源依赖于另一个资源,因此无法删除。在这种状态下,回滚不可用。 我只是删除整个VPC和该VPC中的资源。 因为cloudformation将每10-20分钟重试删除资源。因此,当重试时,它将发现资源已被删除,并且只是跳过了删除操作,此后一切都很顺利。
答案 9 :(得分:0)
是的,使用此命令删除卡在“DELETE_IN_PROGRESS”状态的堆栈。 您也可以在 AWS CloudShell 中轻松运行它。
转至 Lambda 函数->监控->CloudWatch 日志。查找“RequestType”为“Delete”的日志并将必要的字段复制到下面的命令
curl -H 'Content-Type: ''' -X PUT -d '{"Status": "SUCCESS","PhysicalResourceId": "Add your physical resource ID", "StackId": "Add your StackId","RequestId": "Add your RequestID","LogicalResourceId": "LambdaFunction"}' 'Add your ResponseURL Here'
示例:
curl -H 'Content-Type: ''' -X PUT -d '{"Status": "SUCCESS","PhysicalResourceId": "cutomRes-LambdaFunction-1NC1ORF", "StackId": "arn:aws:cloudformation:us-east-1:3343:stack/cutomRes/f52a-11eb-b5df-0a5c2cc1","RequestId": "d70931a2-364b-413e-a2","LogicalResourceId": "LambdaFunction"}' 'https://cloudformation-custom-resource-response-useast1.s3.amazonaws.com/arn%3Aaws%/cutomRes/f5466f6Expires=7200&X-Amz-Credential=AKIA6L7Q4OWT3GW5BT7K%2F20210330%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=1db1f83f'
请注意,示例包含的 URL 可能被修改为无法用于安全目的。仅用于演示目的。
答案 10 :(得分:-1)
您可以尝试删除资源,然后更新回滚将成功完成。