

# VPC の削除
<a name="delete-vpc"></a>

不要になった VPC は、削除することができます。

**要件**  
VPC を削除する前に、まず VPC で[リクエスタマネージドネットワークインターフェイス](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/requester-managed-eni.html)を作成したリソースを終了または削除する必要があります。例えば、EC2 インスタンスを終了し、ロードバランサー、NAT ゲートウェイ、Transit Gateway の VPC アタッチメント、およびインターフェイス VPC エンドポイントを削除する必要があります。

**注記**  
削除する VPC の[フローログ](flow-logs.md)を作成した場合、削除された VPC のフローログは最終的に自動削除されることに留意してください。

**Topics**
+ [コンソールを使用して VPC を削除する](#delete-vpc-console)
+ [コマンドラインを使用して VPC を削除する](#delete-vpc-cli)

## コンソールを使用して VPC を削除する
<a name="delete-vpc-console"></a>

Amazon VPC コンソールを使用して VPC を削除すると、次の VPC コンポーネントも削除されます。
+ DHCP オプション
+ Egress-Only インターネットゲートウェイ
+ ゲートウェイエンドポイント
+ インターネットゲートウェイ
+ ネットワーク ACL
+ ルートテーブル
+ セキュリティグループ
+ サブネット

**コンソールを使用して VPC を削除するには**

1. Amazon EC2 コンソール ([https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)) を開きます。

1. VPC のすべてのインスタンスを終了します。詳細については、「Amazon EC2 ユーザーガイド」の「[インスタンスの終了](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html)」を参照してください。

1. Amazon VPC コンソール ([https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)) を開きます。

1. 画面左枠のナビゲーションペインで、[**Your VPCs**] を選択します。

1. 削除する VPC を選択し、[**Actions**]、[**Delete VPC**] の順に選択します。

1. VPC を削除する前に削除または終了する必要があるリソースがある場合は、それらが表示されます。これらのリソースを削除または終了後、もう一度お試しください。そのようなリソースがない場合は、VPC に加えて削除するリソースが表示されます。リストを確認して、次のステップに進みます。

1. (オプション) Site-to-Site VPN 接続がある場合は、それを削除するオプションを選択します。他の VPC でカスタマーゲートウェイを使用する予定がある場合は、Site-to-Site VPN 接続とゲートウェイを保持することをお勧めします。そうしないと、新しい Site-to-Site VPN 接続を作成した後で、カスタマーゲートウェイデバイスを再度設定する必要があります。

1. 確認を求められたら、**delete**と入力し、[**削除**] を選択します。

## コマンドラインを使用して VPC を削除する
<a name="delete-vpc-cli"></a>

コマンドラインを使って VPC を削除する前に、VPC でリクエスタマネージドネットワークインターフェイスを作成したリソースを、終了または削除します。また、サブネット、セキュリティグループ、ネットワーク ACL、ルートテーブル、インターネットゲートウェイ、エグレス専用インターネットゲートウェイなど、自分で作成したすべての VPC リソースも、削除またはデタッチします。デフォルトのセキュリティグループ、デフォルトのルートテーブル、デフォルトのネットワーク ACL は、削除する必要はありません。

以下の手順は、一般的な VPC リソースを削除した後に VPC を削除する場合のコマンドを示したものです。これらのコマンドは、次の順序で使用する必要があります。追加の VPC リソースを作成した場合は、その VPC を削除する前に、対応する delete コマンドも使用する必要があります。

**AWS CLI を使用して VPC を削除するには**

1. 以下の [delete-security-group](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-security-group.html) コマンドを使用して、セキュリティグループを削除します。

   ```
   aws ec2 delete-security-group --group-id sg-id
   ```

1. 以下の [delete-network-acl](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-network-acl.html) コマンドを使用して、各ネットワーク ACL を削除します。

   ```
   aws ec2 delete-network-acl --network-acl-id acl-id
   ```

1. 以下の [delete-subnet](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-subnet.html) コマンドを使用して、各サブネットを削除します。

   ```
   aws ec2 delete-subnet --subnet-id subnet-id
   ```

1. 以下の [delete-route-table](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-route-table.html) コマンドを使用して、各カスタムルートテーブルを削除します。

   ```
   aws ec2 delete-route-table --route-table-id rtb-id
   ```

1. 以下の [detach-internet-gateway](https://docs.aws.amazon.com/cli/latest/reference/ec2/detach-internet-gateway.html) コマンドを使用して、インターネットゲートウェイを VPC からデタッチします。

   ```
   aws ec2 detach-internet-gateway --internet-gateway-id igw-id --vpc-id vpc-id
   ```

1. 以下の [delete-internet-gateway](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-internet-gateway.html) コマンドを使用して、インターネットゲートウェイを削除します。

   ```
   aws ec2 delete-internet-gateway --internet-gateway-id igw-id
   ```

1. [デュアルスタック VPC] 以下の [delete-egress-only-internet-gateway](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-egress-only-internet-gateway.html) コマンドを使用して、エグレス専用インターネットゲートウェイを削除します。

   ```
   aws ec2 delete-egress-only-internet-gateway --egress-only-internet-gateway-id eigw-id
   ```

1. 以下の [delete-vpc](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-vpc.html) コマンドを使用して、VPC を削除します。

   ```
   aws ec2 delete-vpc --vpc-id vpc-id
   ```