CDK部署期间如何删除未使用资源?VPC多余路由表清理需求
在CDK部署期间删除VPC未使用的默认路由表
CDK创建VPC时,默认会为每个子网自动生成并关联专属路由表。你已经完成自定义路由表与子网的关联,现在可以通过以下方式清理那些未被使用的默认路由表:
解决方案:标记默认路由表为销毁状态
遍历VPC的公有和私有子网,获取每个子网对应的默认路由表,通过设置移除策略为DESTROY,让CDK在部署时自动删除这些未使用的资源。
示例代码:
from aws_cdk import aws_ec2 as ec2, RemovalPolicy # 处理公有子网的默认路由表 for subnet in vpc.public_subnets: subnet.route_table.apply_removal_policy(RemovalPolicy.DESTROY) # 处理私有子网的默认路由表 for subnet in vpc.private_subnets: subnet.route_table.apply_removal_policy(RemovalPolicy.DESTROY)
关键注意事项
- 必须先完成自定义路由表与子网的关联操作,再执行上述代码,防止子网出现无可用路由表的异常。
- 若仅希望将路由表从CDK栈中移除但保留AWS上的资源,可将
RemovalPolicy.DESTROY替换为RemovalPolicy.RETAIN。 - 部署前建议运行
cdk diff命令查看变更预览,确认待删除的路由表列表,避免误操作。
内容的提问来源于stack exchange,提问作者OPP
相关产品推荐
相关产品推荐

