Amazon VPC를 삭제하려고 했는데 종속성 오류가 발생했습니다. Amazon VPC를 삭제하려면 어떻게 해야 하나요?

최종 업데이트 날짜: 2022년 10월 28일

Amazon Virtual Private Cloud(VPC)를 삭제하려고 하면 종속성 오류가 발생합니다. 어떻게 삭제하나요?

간략한 설명

Amazon VPC를 삭제하면 해당 구성 요소도 모두 삭제됩니다. 이러한 구성 요소에는 서브넷, 보안 그룹, 네트워크 액세스 제어 목록(네트워크 ACL), 라우팅 테이블, 인터넷 게이트웨이 및 DHCP 옵션이 포함됩니다. 그러나 Amazon VPC를 삭제하기 전에 먼저 모든 종속 리소스를 삭제하거나 연결을 해제해야 합니다. 종속성 오류를 방지하려면 여기에 나열된 순서대로 다음 단계를 따르세요.

해결 방법

VPC를 삭제하기 전에 종속 리소스를 삭제해야 합니다.

AWS Command Line Interface(AWS CLI)의 delete-vpc 명령 또는 Amazon VPC 콘솔을 사용하여 Amazon VPC를 삭제할 수 있습니다.

참고: AWS CLI 명령을 실행할 때 오류가 발생하는 경우 최신 버전의 AWS CLI를 사용하고 있는지 확인합니다.

AWS CLI를 통해 Amazon VPC를 삭제하려고 할 때 표시되는 오류 해결

다음 오류는 Amazon VPC를 삭제하기 전에 제거해야 하는 종속성이 있음을 나타냅니다.

“DeleteVpc 작업을 호출할 때 오류(DependencyViolation)가 발생했습니다. 'vpc-id' vpc에 종속성이 있으며 삭제할 수 없습니다."

이 오류를 해결하려면 다음을 수행하세요.

1.    다음 스크립트를 실행하여 나머지 종속성을 찾습니다.

#!/bin/bash
vpc="vpc-xxxxxxxxxxxxx"
region="yy-yyyy-y"
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

참고: 이전 스크립트에서 vpc 필드에 VPC ID를 입력하고 리전 필드에 AWS 리전(예: us-east-1)을 입력합니다. 또한 적절한 권한이 있는 자격 증명을 사용하여 Describe API 호출을 실행해야 합니다.

2.    1단계에서 확인한 나머지 종속성을 삭제한 다음 Amazon VPC를 다시 삭제해 보세요.

Amazon VPC 콘솔을 통해 Amazon VPC를 삭제하려고 할 때 표시되는 오류 해결

  • 다음 오류는 Amazon VPC에 실행 중인 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스가 있음을 나타냅니다. "VPC contains one or more instances, and cannot be deleted until those instances have been terminated." 이 오류를 해결하려면 인스턴스를 종료합니다.
  • 다음 오류는 Amazon VPC에 사용 중이거나 사용 가능한 네트워크 인터페이스가 연결되어 있음을 나타냅니다. 'VPC contains one or more in-use network interfaces, and cannot be deleted until those network interfaces have been deleted.'(VPC에는 사용 중인 네트워크 인터페이스가 하나 이상 포함되어 있으며 해당 네트워크 인터페이스가 삭제될 때까지 삭제할 수 없습니다.)
  • 다음 오류는 삭제할 수 없는 요청자 관리형 네트워크 인터페이스가 있음을 나타냅니다. 'An error occurred (InvalidParameterValue) when calling the DeleteNetworkInterface operation: Network interface 'eni-aabbccdd' is currently in use.'(DeleteNetworkInterface 작업을 호출할 때 오류(InvalidParameterValue)가 발생했습니다. 네트워크 인터페이스 'eni-aabbbccdd'가 현재 사용 중입니다.) 요청자 관리형 네트워크 인터페이스를 삭제하려면 네트워크 인터페이스를 생성한 AWS 서비스를 삭제해야 합니다.

종속 서비스를 제거하려면 다음 단계를 따르세요.

1.    Amazon EC2 콘솔을 엽니다.

2.    Amazon VPC가 있는 AWS 리전을 선택합니다.

3.    탐색 창의 네트워크 인터페이스에서 삭제할 Amazon VPC의 VPC ID를 검색합니다.

4.    네트워크 인터페이스를 선택하고 Details(세부 정보) 탭을 선택합니다.

5.    Description(설명)을 검토하여 네트워크 인터페이스가 연결된 리소스를 확인합니다.

6.    관련 리소스를 삭제합니다. 예를 들어, 네트워크 인터페이스를 삭제하려는 중이며 요청자 ID가 ‘amazon-elb’라고 가정합니다. 탄력적 네트워크 인터페이스의 Description(설명) 필드에 있는 값을 사용하여 로드 밸런서를 식별합니다. 그런 다음 Amazon EC2 콘솔의 Load Balancer(로드 밸런서) 섹션으로 이동하여 로드 밸런서를 찾아 삭제합니다.

        참고: 네트워크 인터페이스가 기본 네트워크 인터페이스인 경우 인스턴스를 삭제하면 네트워크 인터페이스가 삭제됩니다.

  • 다음 오류는 Amazon VPC에 종속성이 있음을 나타냅니다. "VPC has one or more attached NAT gateways or virtual private gateways, and cannot be deleted until they are detached or deleted." 삭제하려면 NAT 게이트웨이 삭제가상 프라이빗 게이트웨이 분리 및 삭제 단계를 수행합니다.
  • 다음 오류는 Amazon VPC에 활성 VPC 피어링 연결이 있음을 나타냅니다. 'The VPC is peered as a requester with at least one other VPC through peering connections.'(VPC는 피어링 연결을 통해 하나 이상의 다른 VPC와 요청자로 피어링됩니다.) 이러한 연결을 삭제하려면 VPC 피어링 연결 삭제 단계를 수행합니다.

VPC 삭제를 차단하는 종속성이 여전히 있는 경우 다음 단계를 따르세요.

캐리어 게이트웨이 삭제

1.    Amazon VPC 콘솔을 엽니다.

2.    탐색 창에서 Carrier Gateways(Carrier Gateways)를 선택합니다.

3.    캐리어 게이트웨이를 선택한 다음 Actions(작업)를 선택합니다. 그런 다음 Delete carrier gateway(캐리어 게이트웨이 삭제)를 선택합니다.

4.    Delete carrier gateway(캐리어 게이트웨이 삭제) 대화 상자에서 Delete(삭제)를 입력한 다음 Delete(삭제)를 선택합니다.

로컬 게이트웨이 라우팅 테이블에서 VPC 연결 해제

1.    AWS Outposts 콘솔을 엽니다.

2.    탐색 창에서 Local gateway route tables(로컬 게이트웨이 라우팅 테이블)를 선택합니다.

3.    라우팅 테이블을 선택합니다.

4.    Actions(작업)를 선택한 다음 View details(세부 정보 보기)를 선택합니다.

5.    VPC associations(VPC 연결)에서, 연결 해제할 VPC를 선택한 다음 Disassociate(연결 해제)를 선택합니다.

6.    Disassociate(연결 해제)를 선택합니다.