VPC を削除しようとすると発生する、依存関係エラーを解決する方法を教えてください。
VPC を削除しようとすると、依存関係のエラーが発生します。
簡単な説明
VPC を削除する際は、そのコンポーネントもすべて削除する必要があります。該当するコンポーネントには、サブネット、セキュリティグループ、ネットワークアクセスコントロールリスト (ACL)、ルートテーブル、インターネットゲートウェイ、DHCP オプションがあります。
解決策
注: AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、「AWS CLI で発生したエラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。
VPC を削除する前に、関連するリソースと依存リソースをすべて削除する必要があります。VPC は、Amazon Virtual Private Cloud (Amazon VPC) コンソールまたは AWS CLI を使用して削除できます。Amazon VPC コンソールから VPC を削除すると、サブネット、インターネットゲートウェイなどの特定の依存関係も自動的に削除されます。ただし、AWS CLI を使用する場合は、VPC 自体を削除する前に、最初にすべての依存リソースを手動で削除する必要があります。
AWS CLI
"DeleteVpc 操作の呼び出し時にエラー (DependencyViolation) が発生しました: vpc 'vpc-id' には依存関係があり、削除できません。"
このエラーは、VPC を削除する前に削除しなければならない依存関係がある場合に発生します。このエラーを解決するには、次の手順を実行します。
- 次のスクリプトを実行して、残りの依存関係を探します:
注: 次のスクリプトで、VPC_ID を実際の VPC ID 値に置き換えてください。さらに、AWS_REGION をお使いの AWS リージョンに置き換えてください。適切なアクセス許可を持つ認証情報を使用して、Describe API コールを実行します。#!/bin/bashvpc="vpc-#############"region="yy-yyyy-y" aws ec2 describe-internet-gateways --region AWS_REGION --filters 'Name=attachment.vpc-id,Values='VPC_ID | grep InternetGatewayId aws ec2 describe-subnets --region AWS_REGION --filters 'Name=vpc-id,Values='VPC_ID | grep SubnetId aws ec2 describe-route-tables --region AWS_REGION --filters 'Name=vpc-id,Values='VPC_ID | grep RouteTableId aws ec2 describe-network-acls --region AWS_REGION --filters 'Name=vpc-id,Values='VPC_ID | grep NetworkAclId aws ec2 describe-vpc-peering-connections --region AWS_REGION --filters 'Name=requester-vpc-info.vpc-id,Values='VPC_ID | grep VpcPeeringConnectionId aws ec2 describe-vpc-endpoints --region AWS_REGION --filters 'Name=vpc-id,Values='VPC_ID | grep VpcEndpointId aws ec2 describe-nat-gateways --region AWS_REGION --filter 'Name=vpc-id,Values='VPC_ID | grep NatGatewayId aws ec2 describe-security-groups --region AWS_REGION --filters 'Name=vpc-id,Values='VPC_ID | grep GroupId aws ec2 describe-instances --region AWS_REGION --filters 'Name=vpc-id,Values='VPC_ID | grep InstanceId aws ec2 describe-vpn-gateways --region AWS_REGION --filters 'Name=attachment.vpc-id,Values='VPC_ID | grep VpnGatewayId aws ec2 describe-network-interfaces --region AWS_REGION --filters 'Name=vpc-id,Values='VPC_ID | grep NetworkInterfaceId aws ec2 describe-carrier-gateways --region AWS_REGION --filters 'Name=vpc-id,Values=VPC_ID' | grep CarrierGatewayId aws ec2 describe-local-gateway-route-table-vpc-associations --region AWS_REGION --filters Name=vpc-id,Values=VPC_ID | grep LocalGatewayRouteTableVpcAssociationId aws ec2 describe-vpc-peering-connections --region AWS_REGION --filters 'Name=accepter-vpc-info.vpc-id,Values='VPC_ID | grep VpcPeeringConnectionId - ステップ 1 で特定した依存関係をすべて削除します。
- VPC を削除します。
Amazon VPC コンソール
コンソールから VPC を削除する際に発生する可能性のある一般的な依存関係のエラーを次に示します。
"VPC に 1 つ以上のインスタンスが含まれており、それらのインスタンスが終了するまで VPC を削除できません。"
このエラーは、VPC 上で実行している Amazon Elastic Compute Cloud (Amazon EC2) インスタンスがある場合に発生します。
このエラーを解決するには、Amazon EC2 インスタンスを終了させます。
"VPC には使用中のネットワークインターフェイスが 1 つ以上含まれており、それらのネットワークインターフェイスを削除するまで VPC を削除できません。"
このエラーは、VPC に使用中または使用可能なネットワークインターフェイスがある場合に発生します。
"DeleteNetworkInterface 操作の呼び出し時に、エラー (InvalidParameterValue) が発生しました: ネットワークインターフェイス 'eni-aabbccdd' は現在使用中です。"
このエラーは、削除できないリクエスタマネージドネットワークインターフェイスがある場合に発生します。リクエスタマネージドネットワークインターフェイスを削除するには、そのネットワークインターフェイスを作成した AWS サービスを削除する必要があります。
依存サービスを削除するには、次の手順を実行します。
- Amazon EC2 コンソールを開きます。
- VPC があるリージョンを選択します。
- ナビゲーションペインの **[ネットワークインターフェイス] **で、削除する VPC の VPC ID を検索します。
- ネットワークインターフェイスを選択し、[詳細] タブを選択します。
- [説明] で、ネットワークインターフェイスの接続先リソースを確認します。
- 関連するリソースを削除します。
注: ネットワークインターフェイスがプライマリインターフェイスの場合、インスタンスを削除すると、リソースも削除されます。
"VPC には 1 つ以上の NAT ゲートウェイまたは仮想プライベートゲートウェイがアタッチされており、それらをデタッチするか削除するまで削除することはできません。"
このエラーは、VPC に依存するゲートウェイがある場合に発生します。このエラーを解決するには、「NAT ゲートウェイを削除する」と「AWS Site-to-Site VPN 接続とゲートウェイを削除する」の手順を実行します。
"VPC はピアリング接続経由で、1 つ以上の他の VPC に対してリクエスタとしてピアリングされています。"
このエラーは、アクティブな VPC ピアリング接続がある場合に発生します。このエラーを解決するには、「VPC のピアリング接続を削除する」の手順に従ってください。
その他の依存関係エラー
VPC を削除できない原因となる依存関係がまだ残っている場合は、まずキャリアゲートウェイを削除します。次に、ローカルゲートウェイのルートテーブルから VPC の関連付けを解除します。
キャリアゲートウェイを削除するには、次の手順を実行します。
- Amazon VPC コンソールを開きます。
- ナビゲーションペインで [キャリアゲートウェイ] を選択します。
- キャリアゲートウェイを選択し、[アクション] を選択し、[キャリアゲートウェイを削除] を選択します。
- [キャリアゲートウェイを削除] ダイアログボックスで Delete と入力し、[削除] を選択します。
VPC のローカルゲートウェイルートテーブルとの関連付けを解除するには、次の手順を実行します。
- AWS Outposts コンソール を開きます。
- ナビゲーションペインで、[ローカルゲートウェイルートテーブル] を選択します。
- ルートテーブルを選択します。
- [アクション] を選択し、[詳細の表示] を選択します。
- [VPC の関連付け] で、関連付けを解除する VPC を選択し、[関連付け解除] を選択します。
関連情報
Lambda で作成した Elastic ネットワークインターフェイスをデタッチしたり削除したりできない理由を知りたいです
別の AWS アカウントと共有している VPC を削除する方法を教えてください
- 言語
- 日本語

関連するコンテンツ
質問済み 2年前
質問済み 2年前
