内部范围概览

内部范围可让您预留内部 IP 地址块,并指定这些地址的使用方式。随着网络由于 VPC 网络对等互连共享 VPCCloud VPNCloud Interconnect 等功能变得越来越复杂,您可以使用内部范围来帮助您管理虚拟私有云 (VPC) 网络拓扑。

规格

  • 内部范围资源表示从 VPC 网络中分配的内部 IPv4 或 IPv6 CIDR 地址块。
  • 预留内部范围时,您可以配置以下内容:
    • 该范围是否可以由其 VPC 网络中的 Google Cloud 资源使用,或者预留给外部使用。
    • 如果配置了 VPC 网络对等互连,如何使用此范围。
    • 该范围是否可以与其父级 VPC 网络中的子网或路由重叠。
    • 是否可以修改该范围的地址块或重叠行为。
  • 默认情况下,您预留的内部范围不能包含由该范围 VPC 网络中其他 Google Cloud 资源使用的 IP 地址。
  • 如果您启用可与子网、路由或两者重叠的功能,则创建的内部范围可以具有与指定资源类型的 IP 地址范围重叠的 CIDR 地址块。
  • 除非将资源与内部范围明确关联(对于子网)或允许重叠(对于路由),否则您无法创建使用现有内部范围内的 IP 地址的 Google Cloud 资源。
  • 如果内部范围不可变,您只能修改范围的说明。如果范围可变(默认),您可以修改范围的 CIDR 地址块、重叠行为和说明。创建范围后,便无法更改不变性。

例如,假设 10.0.0.0/24 的内部范围可变且未指定重叠。

如果您尝试在同一 VPC 网络中创建使用范围 10.0.0.0/25 的子网,则子网创建将失败,除非您将该子网与内部范围关联

如果您尝试在同一 VPC 网络中创建使用范围 10.0.0.0/25 的路由,则路由创建将失败,除非您通过overlaps 属性设置OVERLAP_ROUTE_RANGE 来更新内部范围。

对等互连类型

内部范围的对等互连类型指定该范围相对于 VPC 网络对等互连的行为。对等互连类型可以是以下类型之一:

  • FOR_SELF:内部范围只能在创建它的 VPC 网络中使用。您可以从其关联的 VPC 网络和该 VPC 网络的对等网络访问该范围。但是,对等网络的对等方不能使用此范围。这是默认设置。

  • FOR_PEER:内部范围只能与对等网络中的资源关联。范围的父级 VPC 网络中没有资源可以与范围关联,但对等网络中的资源可以关联。

  • NOT_SHARED:内部范围只能与创建该范围所在的网络中的资源关联,而不与对等方共享该范围。对等互连网络无法以对父级 VPC 网络可见的方式使用内部范围。如果两个网络中的对等互连类型均为 NOT_SHARED,则对等互连网络可以使用同一范围。

使用类型

内部范围资源的使用类型指定分配的 CIDR 地址块是否可以与其父级 VPC 网络中的其他 Google Cloud 资源相关联。内部范围的使用类型可以是以下类型之一:

  • FOR_VPC:该范围可以与其父 VPC 网络中的其他 Google Cloud资源相关联。这是默认设置。

  • EXTERNAL_TO_VPC:该范围不能与其父级 VPC 网络中的其他Google Cloud 资源相关联。

  • FOR_MIGRATION:该范围可用于迁移子网范围,包括从一个对等互连 VPC 网络迁移到另一个对等互连 VPC 网络。

迁移 IPv4 子网范围

如需将 CIDR 范围从一个子网迁移到另一个子网,您必须先删除子网,然后再重新创建子网。通常,当您删除子网时,其 CIDR 范围会被释放,并且可以供任何其他资源使用。如需在迁移期间预留 CIDR 范围(在删除原始子网之后,但尚未创建新子网之前),您可以预留具有 FOR_MIGRATION 使用类型的 IPv4 内部范围

用于迁移的内部范围会指定 CIDR 范围、来源子网和目标子网。

  • IPv4 CIDR 范围必须与来源子网范围匹配或包含来源子网范围。
  • 来源子网和目标子网可以位于同一项目中,也可以位于不同项目中。
  • 来源子网必须与内部范围资源位于同一项目中。
  • 创建内部范围时,目标子网无需存在。

删除来源子网后,CIDR 范围只能分配给与目标子网匹配的子网。

迁移子网后,您可以删除内部范围。

使用类型为 FOR_MIGRATION 的内部范围必须具有对等互连类型 FOR_SELF

应用场景示例

下表介绍了具有不同用途和对等互连组合的内部范围的应用场景。IPv6 内部范围具有特定用途和对等互连要求,并不支持此处列出的所有应用场景。

用途 使用类型 对等互连类型 IP 版本
预留一个范围,仅供在该范围的 VPC 网络中使用。 FOR_VPC NOT_SHARED IPv4
预留一个范围以专门用于对等 VPC 网络,禁止本地 VPC 网络中的资源使用该范围。 FOR_VPC FOR_PEER IPv4
预留一个范围以在该范围的 VPC 网络外部使用,禁止该范围的 VPC 网络中的资源使用这些 IP 地址。对于 IPv6 地址范围,禁止将该地址范围的 IP 地址自动分配给新的仅限 IPv6 的子网或双栈子网。 EXTERNAL_TO_VPC FOR_SELF IPv4 或 IPv6
预留一个范围仅供本地使用,禁止该范围的 VPC 网络中的资源使用这些 IP 地址。 EXTERNAL_TO_VPC NOT_SHARED IPv4
临时预留一个范围,以便将子网从一个 VPC 网络迁移到另一个 VPC 网络。 FOR_MIGRATION FOR_SELF IPv4

IPv4 地址分配策略

预留 IPv4 内部范围时,您可以指定 CIDR 地址块,也可以让 Google Cloud 自动分配一个 CIDR 地址块。对于自动分配,您需要指定前缀长度和可选的目标 CIDR 地址块。 Google Cloud会考虑现有的 IP 地址分配,并从目标或默认 CIDR 地址块中为内部范围分配具有所选大小的可用 CIDR 地址块。

如果您使用自动分配,可以指定 Google Cloud 用于选择可用地址块的分配策略。分配策略仅适用于自动分配的 IPv4 内部范围。下表介绍了可供选择的分配策略:

策略 说明 优点和缺点
RANDOM 随机分配可用 CIDR 地址块。这是默认策略。

在同时预留具有相同前缀长度的多个 CIDR 地址块时速度最快。

可能会导致 IP 地址空间碎片化。

FIRST_AVAILABLE 分配起始 IP 地址数值最低的可用 CIDR 地址块。

可预测性最高的 IP 地址范围分配。可最大限度地扩大目标 CIDR 地址块中剩余的连续未使用 IP 地址空间。

在同时预留内部范围时会导致争用,从而导致分配时间较长。

RANDOM_FIRST_N_AVAILABLE 您可以指定一个数字 N。 Google Cloud 会查找具有所请求前缀长度的 N 个可用 CIDR 地址块,并优先考虑起始 IP 地址最低的地址块。从该集合中分配一个随机 CIDR 地址块。

最适合在并发分配期间减少争用,同时保持连续的未使用 IP 地址空间。

您可以通过增大 N 来提高并发分配的性能。不过,这可能会导致 IP 地址空间碎片化程度增加。

FIRST_SMALLEST_FITTING 查找可包含所请求前缀长度的最小可用 CIDR 地址块(前缀长度最长)。从该集合中,分配起始 IP 地址最低的地址块。

最适合最大限度地减少 IP 地址碎片化。

会遇到最严重的并发预留争用情况,从而导致分配时间较长。

例如,假设您想从目标地址块 10.0.0.0/8 中预留 /24 CIDR 地址块。在目标地址块中,只有以下 IP 地址范围可用:10.1.0.0/2510.2.0.0/1610.3.0.0/23。下表介绍了每种分配策略可能选择的地址块:

  • RANDOM: Google Cloud 会随机确定任何可用的 /24 地址块,例如 10.2.179.0/24
  • FIRST_AVAILABLE: Google Cloud 会查找最低的可用 /24 地址块,即 10.2.0.0/24
  • RANDOM_FIRST_N_AVAILABLE:假设您将 N 指定为 3。Google Cloud 会创建由三个最低的可用 /24 地址块组成的集合:10.2.0.0/2410.2.1.0/2410.2.2.0/24。Google Cloud 会从该集合中随机选择三个地址块之一,例如 10.2.2.0/24
  • FIRST_SMALLEST_FITTING: Google Cloud 会查找可包含指定前缀 /24 的最小可用地址块(前缀最长)。最小可用地址块为 10.3.0.0/23。 Google Cloud会从该范围中分配最低的地址块,即 10.3.0.0/24

配额

单个项目中可以创建的内部范围资源有限制。如需了解详情,请参阅 VPC 文档中每个项目的配额

后续步骤