我是aws cloudformation的新手,想知道是否有办法强制删除无法删除的堆栈。它会出现以下错误:
Failed to delete stack: Role arn:aws:iam::role/CloudFormationRole-NestedCFN-CodePipeline is invalid or cannot be assumed
当我尝试删除嵌套子堆栈而不是先删除父堆栈时,通常会出现此错误。如果我意外删除了父堆栈,是否有任何方法可以删除嵌套堆栈?
我是aws cloudformation的新手,想知道是否有办法强制删除无法删除的堆栈。它会出现以下错误:
Failed to delete stack: Role arn:aws:iam::role/CloudFormationRole-NestedCFN-CodePipeline is invalid or cannot be assumed
当我尝试删除嵌套子堆栈而不是先删除父堆栈时,通常会出现此错误。如果我意外删除了父堆栈,是否有任何方法可以删除嵌套堆栈?
我遇到了同样的问题,唯一删除堆栈的方法是使用AWS CLI并执行以下命令:
aws cloudformation delete-stack --role-arn arn:aws:iam::xxxx:role/anyrolewithpermissions --stack-name StuckStack
确保使用足够权限的另一个角色。
CloudFormationRole-NestedCFN-CodePipeline
的新角色。在创建此角色时,您可能需要在它要求您“选择将使用此角色的服务”和“附加权限策略”时选择CloudFormation
服务。一旦角色创建完成,请再次尝试删除堆栈。当需要删除堆栈的角色被意外删除时,通常会发生这种情况。您可能会收到错误消息
Role arn:aws:iam::<account>:role/<role name> is invalid or cannot be assumed
前往 IAM
> 角色
> 创建角色
> 点击 云形成
服务 > 确保为其赋予正确的 权限
,以便云形成可以删除栈。(在我的情况下,我给它了管理员权限,因为我计划在删除栈后立即删除该角色)> 对于角色名称
,请使用错误消息中相同的角色名称。
现在您应该能够删除栈了。
权限
,以便CloudFormation可以删除堆栈。” ……删除堆栈所需的权限名称是什么?每页大约包含20个策略,总共有34页。 - Sebastian Nielsen然后您可以相应地删除堆栈
很遗憾,无法强制删除CF Stack。
你可以尝试以下方法:
对于那些可能错过了的人,我发现删除CDKToolkit堆栈并再次运行cdk boostrap
可以解决这个问题。
CloudformationServiceRole:
Type: AWS::IAM::Role
Properties:
AssumeRolePolicyDocument:
Statement:
- Action:
- sts:AssumeRole
Effect: Allow
Principal:
Service:
- cloudformation.amazonaws.com
Version: '2012-10-17'
Path: "/"
Policies:
- PolicyName: DeployCloudformationStack
PolicyDocument:
Version: '2012-10-17'
Statement:
- Resource: "*"
Effect: Allow
Action:
- "*"
之后可能还要进行其他修复!