欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 养生 > aws 把vpc残留删除干净

aws 把vpc残留删除干净

2024/10/24 17:51:50 来源:https://blog.csdn.net/u011564831/article/details/142984159  浏览:    关键词:aws 把vpc残留删除干净

最近忘了把vpc 删干净导致又被收了冤大头钱

在删除vpc 的收发现又eni在使用,但是忘了是哪个资源在占用

先用命令行把占用的资源找出来停掉

使用 AWS 命令行界面(CLI)来查看 VPC 的使用情况

  • 列出子网

    aws ec2 describe-subnets --filters "Name=vpc-id,Values=<your-vpc-id>"
    
  • 列出安全组

    aws ec2 describe-security-groups --filters "Name=vpc-id,Values=<your-vpc-id>"
    
  • 列出网络接口

    aws ec2 describe-network-interfaces --filters "Name=vpc-id,Values=<your-vpc-id>"

添加下面脚本彻底删除所有vpc资源

#!/bin/bash# 设置要删除的网络接口 ID
ENI_ID="eni-0650500227c9ffa7a"# 函数:检查并解除与 ENI 关联的实例
terminate_instances() {echo "查找与 ENI 关联的实例..."INSTANCE_IDS=$(aws ec2 describe-instances --filters "Name=network-interface.id,Values=$ENI_ID" --query "Reservations[].Instances[].InstanceId" --output text)if [ -n "$INSTANCE_IDS" ]; thenecho "终止以下实例: $INSTANCE_IDS"aws ec2 terminate-instances --instance-ids $INSTANCE_IDSecho "正在等待实例终止..."aws ec2 wait instance-terminated --instance-ids $INSTANCE_IDSelseecho "没有找到与 ENI 关联的实例。"fi
}# 函数:解除与 ENI 关联的弹性 IP
disassociate_elastic_ips() {echo "解除与 ENI 关联的弹性 IP..."ALLOC_IDS=$(aws ec2 describe-addresses --filters "Name=network-interface-id,Values=$ENI_ID" --query "Addresses[].AllocationId" --output text)for ALLOC_ID in $ALLOC_IDS; doecho "解除弹性 IP: $ALLOC_ID"aws ec2 disassociate-address --allocation-id $ALLOC_IDdone
}# 函数:查找并处理与 ENI 关联的负载均衡器
detach_from_load_balancers() {echo "查找与 ENI 关联的负载均衡器..."LOAD_BALANCERS=$(aws elbv2 describe-load-balancers --query "LoadBalancers[?contains(NetworkInterfaces[].NetworkInterfaceId, '$ENI_ID')].LoadBalancerArn" --output text)if [ -n "$LOAD_BALANCERS" ]; thenecho "找到关联的负载均衡器: $LOAD_BALANCERS"for LB in $LOAD_BALANCERS; do# 这里需要根据负载均衡器的类型和配置来具体实现echo "请手动从负载均衡器 $LB 中移除网络接口。"doneelseecho "没有找到与 ENI 关联的负载均衡器。"fi
}# 函数:删除网络接口
delete_network_interface() {echo "删除网络接口 $ENI_ID..."aws ec2 delete-network-interface --network-interface-id $ENI_IDif [ $? -eq 0 ]; thenecho "网络接口 $ENI_ID 删除完成。"elseecho "删除网络接口时发生错误。请检查是否还有其他依赖。"fi
}# 主程序
terminate_instances
disassociate_elastic_ips
detach_from_load_balancers
delete_network_interface

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com