-
DependencyViolation: Network vpc-xxx has some mapped public address(es). Please unmap those public address(es) before detaching the gateway 에러Tips 2022. 12. 3. 19:40728x90반응형
VPC에 종속적으로 붙어있는 다른 네트워크 아이템이 있어 삭제되지 않는 문제이다.
- Security Group
- EIP
- NAT Gateway
- Subnet
등을 확인해야한다. AWS 공식문서를 확인하면 다음 방법을 통해 VPC의 종속성을 확인할 수 있다.
1. 쉘 스크립트 작성 (이름은 임의로 아무거나 해도 된다. 나는 check.sh로 했다)
#!/bin/bash vpc="vpc-{에러메세지에 뜬 VPC#}" region="{리전 코드 e.g.ap-northeast-3}" aws ec2 describe-internet-gateways --region $region --filters 'Name=attachment.vpc-id,Values='$vpc | grep InternetGatewayId aws ec2 describe-subnets --region $region --filters 'Name=vpc-id,Values='$vpc | grep SubnetId aws ec2 describe-route-tables --region $region --filters 'Name=vpc-id,Values='$vpc | grep RouteTableId aws ec2 describe-network-acls --region $region --filters 'Name=vpc-id,Values='$vpc | grep NetworkAclId aws ec2 describe-vpc-peering-connections --region $region --filters 'Name=requester-vpc-info.vpc-id,Values='$vpc | grep VpcPeeringConnectionId aws ec2 describe-vpc-endpoints --region $region --filters 'Name=vpc-id,Values='$vpc | grep VpcEndpointId aws ec2 describe-nat-gateways --region $region --filter 'Name=vpc-id,Values='$vpc | grep NatGatewayId aws ec2 describe-security-groups --region $region --filters 'Name=vpc-id,Values='$vpc | grep GroupId aws ec2 describe-instances --region $region --filters 'Name=vpc-id,Values='$vpc | grep InstanceId aws ec2 describe-vpn-connections --region $region --filters 'Name=vpc-id,Values='$vpc | grep VpnConnectionId aws ec2 describe-vpn-gateways --region $region --filters 'Name=attachment.vpc-id,Values='$vpc | grep VpnGatewayId aws ec2 describe-network-interfaces --region $region --filters 'Name=vpc-id,Values='$vpc | grep NetworkInterfaceId aws ec2 describe-carrier-gateways --region $region --filters Name=vpc-id,Values=$vpc | grep CarrierGatewayId aws ec2 describe-local-gateway-route-table-vpc-associations --region $region --filters Name=vpc-id,Values=$vpc | grep LocalGatewayRouteTableVpcAssociationId
2. 위 스크립트 실행
bash check.sh
나 같은 경우, 테라폼에서 destroy할 때 발생했는데, 테라폼으로 빌드한 리소스들을 콘솔로 삭제하고 다시 테라폼으로 빌드해서 두 번째로 빌드 된 테라폼에 첫 번째에 빌드할 때 생성된 security group이 연결되었고, 두 번째 빌드한 리소스들을 destroy명령으로 삭제하려고 하자 해당 security group에 대해서 정보가 없는 두 번째 .terraform이 에러를 뱉은 것이다.
해당 security group을 삭제하고 다시 terraform destory를 수행하자 문제없이 삭제가 되었다.
728x90반응형'Tips' 카테고리의 다른 글