删除 AWS Cloudformation 堆栈及其创建的资源

Delete AWS Cloud formation stack with resources created by it

基于this页面我可以做的:

aws cloudformation delete-stack \
    --stack-name my-stack

它说我可以附加命令: [--retain-resources <value>]

这是否意味着如果我不指定那一行,堆栈创建的所有资源都将被删除?我正在尝试删除堆栈生成的所有内容,这很多。

我怎样才能做到这一点?

谢谢

是的,如果您指定 [--retain-resources <value>],这些资源将被保留,如果您不指定,Cloudformation 将删除您提供的堆栈名称中的所有资源(包括嵌套堆栈),前提是您有权限去做。如果 cloudformation 堆栈中的任何资源设置了保留策略,它们将不会被删除。

During deletion, AWS CloudFormation deletes the stack but does not delete the retained resources.

来自同一页面aws cloudformation delete-stack

你可能也想读这个How do I retain some of my resources when I delete an AWS CloudFormation stack?

您也可以在 cloudformation 模板中指定 retain policy

在花瓶中,如果你想删除帐户中创建的所有 CFN 堆栈,我写了一个小 bash 脚本来提供:

#!/bin/bash
STACKS=$(aws cloudformation list-stacks --stack-status-filter CREATE_IN_PROGRESS CREATE_COMPLETE ROLLBACK_IN_PROGRESS ROLLBACK_FAILED ROLLBACK_COMPLETE DELETE_IN_PROGRESS DELETE_FAILED UPDATE_IN_PROGRESS UPDATE_COMPLETE_CLEANUP_IN_PROGRESS UPDATE_COMPLETE UPDATE_ROLLBACK_IN_PROGRESS UPDATE_ROLLBACK_FAILED UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS UPDATE_ROLLBACK_COMPLETE REVIEW_IN_PROGRESS --query "StackSummaries[*].StackName" --output text)

for stack in $STACKS
do
    aws cloudformation delete-stack --stack-name $stack
done