IBM Cloud Docs
删除 VPC 时的注意事项

删除 VPC 时的注意事项

如果 IBM Cloud® Virtual Private Cloud 资源包含其他资源,或者已连接到其他资源,那么无法删除该资源。 本文档描述了 VPC 资源之间的关系,并提供了有关删除 VPC 的信息。

下表概述了 VPC 资源的类型以及删除这些资源时要考虑的关系。

影响删除的资源类型和关系
资源 删除之前... 删除之后...
VPC 必须删除该 VPC 中的所有子网和公共网关。 将自动删除所有安全组和地址前缀。
Subnet 必须删除该子网中的所有实例和任何网络接口。 将拆离为子网提供服务的任何公共网关。 将拆离与子网关联的任何网络 ACL。
实例
将自动删除所有网络接口,并且引导卷会随实例一起删除。 除非将缺省设置更改为自动删除,否则将保留辅助数据卷。 在删除实例之前,必须取消关联或释放浮动 IP 地址。
网络接口
将释放连接到该网络接口的任何浮动 IP。

删除密钥后,该密钥就不能再用于配置新实例或在现有实例上执行操作系统重载。 不过,该密钥仍可用于您使用它配置的任何实例,您可以继续使用它登录。
图像
该映像无法用于供应新实例,但该映像的现有实例不受影响。
必须从所有实例拆离该卷。
Network ACL 网络 ACL 必须与所有子网分离。 无法删除 VPC 的缺省网络 ACL。
安全组 必须从所有网络接口拆离该安全组。 无法删除 VPC 的缺省安全组。
浮动 IP 必须从任何网络接口拆离该浮动 IP。
公共网关 必须从所有子网拆离该公共网关。
负载均衡器

VPN 网关
由于可以在网关之间共享 IKE 和 IPsec 策略,因此删除 VPN 网关时不会删除这些策略。 必须手动除去这些策略。

无法删除处于瞬态状态的 VPC 资源

VPC 资源处于瞬态状态(例如,pending)时,无法删除这些资源。 所有资源都必须处于“最终”状态(例如,availablefailed)后,才能将其删除。 必须等待资源达到 availablefailed 状态之后,才能尝试删除该资源。 如果资源在 30 分钟内未显示 availablefailed 状态,请联系支持部门

请求删除资源后,该资源即会进入瞬态状态 deleting。 等待资源从列表中消失,然后再尝试删除父资源或连接的资源。 在某些情况下,删除操作可能会失败,并且资源在几分钟内会进入 failed 状态。 如果资源在您提出删除请求后 30 分钟内没有消失或显示 failed 状态,请联系支持部门。 资源处于 failed 状态后,可以再次尝试将其删除。 如果无法删除处于 failed 状态的资源,请联系支持部门

删除 VPC 时遵循以下顺序

VPC 包含子网和公共网关。 公共网关可以连接到 VPC 中的一个或多个子网。 子网还可以包含虚拟服务器实例,一个虚拟服务器实例可以在 VPC 内的不同子网中拥有多个网络接口。 删除子网之前,必须先删除该子网中的任何网络接口。 VPC 还包含安全组,但删除 VPC 时会自动删除这些安全组。 地址前缀是 VPC 的属性,在删除 VPC 时会自动删除这些属性。

删除 VPC 时,请遵循以下顺序:

  1. 删除在 VPC 的任何子网中供应的所有 VPN 网关。
  2. 拆离在 VPC 的任何子网中供应的所有负载均衡器。
  3. 删除在 VPC 的任何子网中具有网络接口的所有实例。 删除实例时,会从网络接口自动拆离与该网络接口关联的任何浮动 IP。
  4. 删除 VPC 中的所有子网。 删除子网时,会从该子网自动拆离连接到该子网的任何公共网关。
  5. 删除 VPC 中的所有公共网关。
  6. VPC 没有子网,也没有公共网关时,可以删除该 VPC。 删除 VPC 时,会自动删除该 VPC 中的所有地址前缀。

VPC 资源关系

某些 VPC 资源包含在其他 VPC 资源中(作为“子代”),但这些其他 VPC 资源是在帐户级别包含的,存在于任何特定 VPC 外部。 必须先删除所有子 VPC 资源,然后才能删除父资源。 对于帐户级别的 VPC 资源,必须先删除现有资源的所有链接,然后才能删除帐户资源。

在某些情况下,删除 VPC 资源会自动除去现有资源的链接。 表 2 和表 3 描述了预期行为。

VPC

VPC 包含子网和公共网关。 负载均衡器、VPN 网关和实例在子网中供应。 必须先删除 VPC 中的所有子网和公共网关,然后才能删除该 VPC。 换句话说,必须首先删除 VPC 中的所有公共网关、负载均衡器、VPN 网关和实例。

VPC 还包含地址前缀和安全组,但删除 VPC 时会自动删除这些资源。

VPC 必须具有缺省安全组和缺省网络 ACL。 如果创建 VPC 时没有指定默认安全组和网络 ACL,则会自动为 VPC 创建默认安全组和网络 ACL。 无法删除缺省安全组和缺省网络 ACL。 删除 VPC 时,会自动删除缺省网络 ACL。 此外,删除 VPC 时,还将自动删除该 VPC 中的所有安全组。

删除子网、公共网关和安全组的要求
在 VPC 中 可以包含 可以连接到 是否具有状态? 删除 VPC 时自动删除 删除时自动拆离
Subnet 实例、负载均衡器和 VPN 网关 公共网关和网络 ACL
公共网关
子网和浮动 IP 对于子网为否,对于浮动 IP 为是
安全组
实例 (NIC) 和 VPC(缺省设置)

Subnet

必须先删除子网中的所有资源,然后才能删除该子网。 子网包含实例的网络接口、负载均衡器和 VPN 网关。 在删除子网之前,必须先删除与子网关联的网络接口,以及子网中配置的任何负载平衡器或 VPN 网关。

实例可以有多个网络接口,这些网络接口可以属于 VPC 的多个子网。 删除子网之前,必须先删除该子网中的任何网络接口。 无法删除实例的主网络接口或将其移至其他子网。 必须先删除子网中具有主网络接口的所有实例,然后才能删除该子网。

删除网络接口的要求
在子网中 可以包含 可以连接到 是否具有状态? 删除子网时自动删除 删除时自动拆离
实例(网络接口) 多个网络接口 卷连接和安全组
VPN


负载均衡器


实例

删除实例不需要先决条件。 删除实例时,会自动删除其所有网络接口。 还将删除实例的引导卷及其所有卷连接。 连接到其任何网络接口的浮动 IP 地址都会自动释放。 如果创建卷时标志 delete_volume_on_instance_delete 设置为 true,那么会自动删除连接到实例的任何块存储卷。 否则,将从卷拆离实例,但卷会保留。 如果任何安全组连接到实例的任何网络接口,那么删除这些网络接口时,还会自动拆离该安全组。

删除实例的信息
在实例中 可以包含 可以连接到 是否具有状态? 删除实例时自动删除 删除时自动拆离
网络接口
子网、浮动 IP 和安全组

负载均衡器

删除负载平衡器不需要先决条件。 删除负载平衡器时,作为负载平衡器一部分的所有侦听器、池和池成员都会自动删除。

删除负载均衡器最长可能需要 30 分钟。 删除请求会立即将负载均衡器的供应状态更改为 deleting。 但是,直到负载均衡器从列表查询中消失之后,才会将其删除。

VPN

删除 VPN 网关不需要先决条件。 删除 VPN 网关时,其相关连接也会自动删除。 删除 VPN 网关时不会删除 IKE 和 IPsec 策略。

删除 VPN 网关最长可能需要 30 分钟。 删除请求会立即将 VPN 网关的供应状态更改为 deleting。 但是,直到 VPN 网关从列表查询中消失后,才会将其删除。

浮动 IP

浮动 IP 存在于 VPC 外部且处于帐户级别。 如果浮动 IP 绑定到实例,那么必须释放该浮动 IP 后,才能删除该浮动 IP。

如果删除绑定了浮动 IP 的资源(例如,实例的网络接口),那么会自动释放该浮动 IP。

VPC 中可以存在两种类型的卷:块存储器引导卷和块存储器数据卷。 这两种卷的删除方式不同。

删除引导卷

引导卷存在于实例中,并且这些卷不会被视为是独立于该实例的实体。 创建实例时,还会创建引导卷并将其连接到该实例。 删除实例时,会自动删除引导卷。 无法在不删除实例的情况下,单独删除引导卷。

删除数据卷

块存储器数据卷可以独立于其关联的虚拟服务器实例进行供应和管理。 您可以将数据卷作为辅助存储附加到一个虚拟服务器实例。 无法删除连接到实例的数据卷(即,如果卷处于“active”状态)。 必须先从实例拆离卷,然后才能删除该卷。

数据卷在 API 中具有名为 delete_volume_on_instance_delete 的属性(或标志),在 CLI 和 UI 中具有名为 Auto Delete 的属性(或标志)。 如果该标志设置为 true ( 控制台中为 Enabled ),则在删除带有所附加密卷的实例时,加密卷会自动脱离并删除。 如果卷的标志设置为 false ( 控制台中为 Disabled ),则实例会从卷中分离,但在删除所附实例时,卷不会被删除。 该卷可以连接到其他实例。

块存储卷一次只能连接到一个虚拟服务器。

安全组

如果网络接口正在使用安全组,或者如果安全组是 VPC 的缺省安全组,那么无法删除该安全组。 删除安全组之前,请先从该安全组中除去所有网络接口。 此外,确保该安全组未用作 VPC 的缺省安全组。

删除 VPC 将自动删除该 VPC 中的所有安全组。

网络 ACL

如果子网正在使用网络 ACL,或者网络 ACL 是 VPC 的默认网络 ACL,则不能删除该网络 ACL。 删除网络 ACL 之前,请从所有子网中分离网络 ACL,并确保该网络 ACL 未被用作 VPC 的默认网络 ACL。

创建任何 VPC 时,它都需要缺省网络 ACL。 如果在创建 VPC 时未将现有网络 ACL 指定为缺省值,那么会创建新的网络 ACL 并将其设置为缺省值。 删除 VPC 时,会自动删除此缺省网络 ACL(如果该 ACL 未在其他任何位置使用)。

与安全组不同,网络 ACL 可以跨 VPC 分配。 因此,删除 VPC 不会删除网络 ACL。

后续步骤

以下主题提供了有关如何使用 IBM Cloud 控制台、CLI 或 API 来删除 VPC 资源的更多示例。