内部范围概览
内部范围可让您预留内部 IP 地址块,并指定这些地址的使用方式。随着网络由于 VPC 网络对等互连、共享 VPC、Cloud VPN 和 Cloud 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/25
、10.2.0.0/16
和 10.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/24
、10.2.1.0/24
和10.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 文档中每个项目的配额。