Amazon VPC を削除しようとしましたが、依存関係エラーが発生しました。Amazon VPC を削除する方法を教えてください。

所要時間2分
0

Amazon Virtual Private Cloud (Amazon VPC) を削除しようとすると、依存関係エラーが表示されます。

簡単な説明

Amazon VPC を削除すると、そのコンポーネントもすべて削除されます。これらのコンポーネントには、サブネット、セキュリティグループ、ネットワークアクセスコントロールリスト (ネットワーク ACL)、ルートテーブル、インターネットゲートウェイ、DHCP オプションが含まれます。ただし、Amazon VPC を削除する前に、まず依存リソースをすべて削除するか、その関連付けを解除する必要があります。依存関係のエラーを避けるため、次の手順を記載順序のとおりに実行してください。

解決策

Amazon VPC を削除する前に、依存リソースを削除する必要があります。

Amazon VPC は、AWS コマンドラインインターフェイス (AWS CLI) delete-vpc コマンドまたは Amazon VPC コンソールで削除できます。

注: AWS CLI コマンドの実行中にエラーが発生した場合は、使用しているのが最新バージョンの AWS CLI バージョンであることを確認してください

AWS CLI で Amazon VPC を削除しようとして表示されるエラーを解決する

次のエラーは、Amazon VPC を削除する前に削除する必要がある依存関係があることを示しています。

「DeleteVpc オペレーションを呼び出しているときにエラー (DependencyViolation) が発生しました: vpc「vpc-id」には依存関係があり、削除できません。」

このエラーを解決するには、次の手順を実行してください。

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 を削除しようとしたときに表示されるエラーを解決する

「VPC には 1 つ以上のインスタンスが含まれており、それらのインスタンスが終了するまで VPC は削除できません。」

このエラーは、Amazon VPC で Amazon Elastic Compute Cloud (Amazon EC2) インスタンスが実行されていることを示しています。このエラーを解決するには、インスタンスを終了します。

「VPC には使用中のネットワークインターフェースが 1 つ以上含まれており、それらのネットワークインターフェースを削除するまで VPC は削除できません。」

このエラーは、Amazon VPC に使用中または使用可能なネットワークインターフェースがあることを示しています。

「DeleteNetworkInterface オペレーションを呼び出しているときに、エラー (InvalidParameterValue) が発生しました: ネットワークインターフェース「eni-aabbccdd」は現在使用中です。」

このエラーは、削除できないリクエスタ管理のネットワークインターフェースがあることを示しています。リクエスタが管理するネットワークインターフェイスを削除するには、ネットワークインターフェイスを作成した AWS サービスを削除する必要があります。

次の手順に従って、依存サービスを削除します。

1.    Amazon EC2 コンソールを開きます。

2.    Amazon VPC がある AWS リージョンを選択します。

3.    ナビゲーションペインの **[ネットワークインターフェイス] **で、削除する Amazon VPC の VPC ID を検索します。

4.    ネットワークインターフェースを選択し、[詳細] タブを選択します。

5.    [説明] で、ネットワークインターフェースがどのリソースにアタッチされているかを確認してください。

6.    関連するリソースを削除します。たとえば、ネットワークインターフェイスを削除しようとしていて、リクエスタ ID が amazon-elb であるとします。Elastic Network Interface の [説明] フィールドの値を使用して、ロードバランサーを識別します。次に、Amazon EC2 コンソールの [Load Balancer] セクションに移動して、ロードバランサーを探して削除します。**
注:** ネットワークインターフェースが一次インターフェースの場合、インスタンスを削除すると削除されます。

「VPC には 1 つ以上の NAT ゲートウェイまたは仮想プライベートゲートウェイがアタッチされており、それらをデタッチするか、削除するまで削除することはできません。」

このエラーは、Amazon VPC に依存関係があることを示しています。それらを削除するには、「NAT ゲートウェイの削除」および「仮想プライベートゲートウェイのデタッチと削除」の手順に従ってください。

「VPC は、ピアリング接続で少なくとも 1 つの他の VPC とリクエスタとしてピアリングされています。」

このエラーは、Amazon VPC にアクティブな VPC ピアリング接続があることを示しています。これらを削除するには、「VPC ピアリング接続を削除する」の手順に従ってください。

Amazon VPC の削除を妨げている依存関係がまだ残っている場合は、次の手順を使用してください。

キャリアゲートウェイを削除するには:

1.    [AWS VPC コンソール] を開きます。

2.    ナビゲーションペインで [キャリアゲートウェイ] を選択します。

3.    キャリアゲートウェイを選択し、[アクション] を選択します。次に、[キャリアゲートウェイを削除] を選択します。

4.    [キャリアゲートウェイを削除] ダイアログボックスで、[削除] と入力し、[削除] を選択します。

ローカル ゲートウェイ ルートテーブルから VPC の関連付けを解除するには、次の手順を実行します。

1.    [AWS Outposts コンソール] を開きます。

2.    ナビゲーションペインで、[ローカルゲートウェイルートテーブル] を選択します。

3.    ルートテーブルを選択します。

4.    [アクション] を選択し、[詳細の表示] を選択します。

5.    [VPC アソシエーション] で、アソシエーションを解除する VPC を選択し、次に [アソシエーション解除] を選択します。

6.    [関連付け解除] を選択します。

関連情報

Lambda で作成した Elastic ネットワークインターフェイスのデタッチや削除ができないのはなぜですか。

別の AWS アカウントと共有している VPC を削除する方法を教えてください。

リクエスタが管理する VPC エンドポイントを削除できないのはなぜですか。

AWS公式
AWS公式更新しました 1年前
コメントはありません

関連するコンテンツ