Amazon VPC を削除しようとしたのですが、依存関係エラーが発生しました。Amazon VPC を削除するにはどうすればよいですか?

最終更新日: 2021 年 2 月 15 日

Amazon Virtual Private Cloud (Amazon VPC) を削除しようとする時に依存関係エラーが発生しました。Amazon VPC を削除するにはどうすればよいですか?

簡単な説明

AWS コマンドラインインターフェイス (AWS CLI) を使用して Amazon VPC を削除する場合は、まず以下を実行する必要があります。

  • すべてのインスタンスを終了する
  • すべてのサブネットを削除する
  • カスタムセキュリティグループとカスタムルートテーブルを削除する
  • インターネットゲートウェイまたは仮想プライベートゲートウェイをデタッチする

Amazon VPC コンソールを使用して Amazon VPC を削除すると、そのすべてのコンポーネントも削除されます。これらのコンポーネントには、サブネット、セキュリティグループ、ネットワークアクセスコントロールリスト (ACL)、ルートテーブル、インターネットゲートウェイ、仮想プライベートゲートウェイ、VPC ピア接続、DHCP オプションが含まれる場合があります。ただし、Amazon VPC を削除する前に依存リソースを削除しない場合、以下のいずれか 1 つの依存関係エラーが表示されます。

解決方法

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

AWS CLI を使用して Amazon VPC を削除しようとしたときに表示されるエラーを解決する

次のエラーは、Amazon VPC を削除する前に、削除する必要がある依存関係があることを示します。"An error occurred (DependencyViolation) when calling the DeleteVpc operation: The vpc <vpc-id> has dependencies and cannot be deleted." (DeleteVpc オペレーションを呼び出すときにエラー (DependencyViolation) が発生しました: vpc<vpc-id> には依存関係があり、削除できません。) 

このエラーを解決するには:

1.    次のスクリプトを実行して、残りの依存関係を見つけます。vpc-id は必ず VPC ID に置き換えてください。

#!/bin/bash
vpc="vpc-xxxxxxxxxxxxx" 
aws ec2 describe-internet-gateways --filters 'Name=attachment.vpc-id,Values='$vpc | grep InternetGatewayId
aws ec2 describe-subnets --filters 'Name=vpc-id,Values='$vpc | grep SubnetId
aws ec2 describe-route-tables --filters 'Name=vpc-id,Values='$vpc | grep RouteTableId
aws ec2 describe-network-acls --filters 'Name=vpc-id,Values='$vpc | grep NetworkAclId
aws ec2 describe-vpc-peering-connections --filters 'Name=requester-vpc-info.vpc-id,Values='$vpc | grep VpcPeeringConnectionId
aws ec2 describe-vpc-endpoints --filters 'Name=vpc-id,Values='$vpc | grep VpcEndpointId
aws ec2 describe-nat-gateways --filter 'Name=vpc-id,Values='$vpc | grep NatGatewayId
aws ec2 describe-security-groups --filters 'Name=vpc-id,Values='$vpc | grep GroupId
aws ec2 describe-instances --filters 'Name=vpc-id,Values='$vpc | grep InstanceId
aws ec2 describe-vpn-connections --filters 'Name=vpc-id,Values='$vpc | grep VpnConnectionId
aws ec2 describe-vpn-gateways --filters 'Name=attachment.vpc-id,Values='$vpc | grep VpnGatewayId
aws ec2 describe-network-interfaces --filters 'Name=vpc-id,Values='$vpc | grep NetworkInterfaceId

2.    ステップ 1 で特定した残りの依存関係を削除し、Amazon VPC の削除を再試行します。

Amazon VPC コンソールから Amazon VPC を削除しようとしたときに表示されるエラーを解決する

次のエラーは、Amazon VPC で実行中の Amazon EC2 インスタンスがあることを示します。 「VPC contains one or more instances, and cannot be deleted until those instances have been terminated. (VPC に 1 つ以上のインスタンスが含まれており、それらのインスタンスが終了されるまで削除できません。)」 このエラーを解決するには、インスタンスを終了してから、Amazon VPC の削除を再試行してください。

次のエラーは、Amazon VPC に他の AWS のサービスのネットワークインターフェイスがアタッチされていることを示します。「VPC contains one or more in-use network interfaces, and cannot be deleted until those network interfaces have been deleted. (VPC には使用中のネットワークインターフェイスが 1 つ以上含まれており、それらのネットワークインターフェイスが削除されるまで削除できません。) 」

以下の手順に従って依存サービスを削除し、Amazon VPC の削除を再試行します。

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

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

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

4.    Elastic Network Interfaceを選択して、[詳細] タブをクリックします。

5.    [説明] で、インターフェイスがアタッチされているリソースを確認します。

6.    関連付けられたリソースを削除します。
: ネットワークインターフェイスがプライマリネットワークインターフェイスである場合、インスタンスを削除すると削除されます。

以下のエラーは、Amazon VPC に依存関係があることを示します。

  • 「Network has some mapped public address(es). (ネットワークにはいくつかのマッピングされたパブリックアドレスがあります。)ゲートウェイをデタッチする前に、それらのパブリックアドレス (複数) のマップを解除してください。」
  • 「Please unmap those public address(es) before detaching the gateway. (VPC には 1 つ以上のインターネットゲートウェイまたは仮想プライベートゲートウェイがアタッチされており、デタッチまたは削除されるまで削除できません。) 」 

以下の手順に従って依存関係を削除し、Amazon VPC の削除を再試行します。

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

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

3.    ナビゲーションペインで、NAT ゲートウェイまたは 仮想プライベートゲートウェイを選択します。

4.    NAT ゲートウェイまたは仮想プライベートゲートウェイを選択します。

5.    [説明] で、インターフェイスがアタッチされているリソースを確認します。

6.    Actions で、 [NAT ゲートウェイの削除] (インターネットゲートウェイの場合) または [VPC からデタッチ] (仮想プライベートゲートウェイの場合) を選択します。


この記事は役に立ちましたか?


請求に関するサポートまたは技術サポートが必要ですか?