

# 删除您的 VPC
<a name="delete-vpc"></a>

用完 VPC 后可以将其删除。

**要求**  
在删除 VPC 之前，必须先终止或删除在 VPC 中创建了[请求者托管式网络接口](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/requester-managed-eni.html)的任何资源。例如，您必须终止 EC2 实例并删除负载均衡器、NAT 网关、中转网关 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 选项
+ 仅出口互联网网关
+ 网关端点
+ 互联网网关
+ 网络 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**（您的 VPC）。

1. 选择要删除的 VPC，然后依次选择 **Actions**（操作）、**Delete VPC**（删除 VPC）。

1. 如果存在您必须首先删除或终止的资源，然后我们才能删除 VPC，则我们会显示这些资源。请删除或终止这些资源，然后重试。否则，我们将显示除 VPC 之外还要删除的资源。检查列表，然后继续执行下一步操作。

1. （可选）如果您有 Site-to-Site VPN 连接，则可以选择此选项以将其删除。如果您计划在另一个 VPC 中使用客户网关，我们建议您保留 Site-to-Site VPN 连接和网关。否则，您必须在创建新的 Site-to-Site VPN 连接后再次配置客户网关设备。

1. 提示进行确认时，输入 **delete**，然后选择 **Delete**（删除）。

## 使用命令行删除 VPC
<a name="delete-vpc-cli"></a>

在使用命令行删除 VPC 之前，必须先终止或删除在 VPC 中创建了请求者托管式网络接口的任何资源。您还必须删除或分离您创建的所有资源，例如子网、安全组、网络 ACL、路由表、互联网网关和仅限出口的互联网网关。您无需删除默认安全组、默认路由表或默认网络 ACL。

以下过程演示了用于删除常见 VPC 资源，然后删除 VPC 的命令。您必须按照以下顺序使用这些命令。如果您创建了其他 VPC 资源，则还需要使用其相应的删除命令，然后才能删除 VPC。

**使用 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
   ```