VPC spoke
Network Connectivity Center 支持 VPC 间的网络连接,并且支持 VPC spoke。VPC spoke 通过使用 VPC spoke 和集中式连接管理模型来降低管理一对 VPC 网络对等互连连接的操作复杂性。VPC spoke 可以导出和导入来自 Network Connectivity Center hub 上其他 spoke VPC 的所有子网路由。这样可以确保位于所有这些 VPC 网络中的所有工作负载之间的完全连接。VPC 间网络流量保留在 Google Cloud 网络中,不会通过互联网传输,这有助于确保隐私和安全。
VPC spoke 可以位于同一项目和组织中,也可以与 Network Connectivity Center hub 位于不同的项目和组织中。 VPC spoke 一次只能连接到一个 hub。
如需了解如何创建 VPC spoke,请参阅创建 VPC spoke。
与 VPC 网络对等互连对比
VPC spoke 通过使用混合 spoke 提供 IPv4 和 IPv6 子网路由连接以及 IPv4 动态路由连接来支持大中型企业要求。
VPC 网络可以同时是 Network Connectivity Center VPC spoke,也可以使用 VPC 网络对等互连连接到另一个 VPC 网络,前提是对等互连的 VPC 网络不是 VPC spoke 本身。
使用 Network Connectivity Center VPC spoke 和 VPC 网络对等互连时,请注意以下事项:
VPC spoke 中的对等互连子网路由不会导出到 hub。
Network Connectivity Center 不会提供与使用 VPC 网络对等互连连接到一个 VPC spoke 的 VPC 网络中的资源的连接,但以下情况除外:
- 对于专用服务访问通道,对等互连的服务提供方 VPC 网络可以添加为提供方 VPC spoke。
功能 | VPC 网络对等互连 | VPC spoke |
---|---|---|
VPC 网络 | ||
子网范围(子网路由) | ||
静态和动态路由 |
不支持静态路由交换。 |
|
导出过滤条件 |
不支持特定过滤条件;请参阅 VPC 网络对等互连文档中的路由交换选项。 |
每个 VPC spoke 最多支持 16 个 CIDR 范围。 |
Inter-VPC NAT |
不支持 |
支持 |
Private Service Connect 连接传播 |
不支持 |
支持 |
来自其他 VPC 网络的提供方 VPC spoke 连接 |
不支持 |
支持 |
IP 寻址 |
内部 IPv4 地址,包括专用 IPv4 地址和以非公开方式使用的公共 IPv4 地址。请参阅有效 IPv4 范围。 内部和外部 IPv6 地址。 |
仅限专用内部 IPv4 地址,不包括以非公开方式使用的公共 IPv4 地址。请参阅有效 IPv4 范围。 内部和外部 IPv6 地址。 |
IP 地址系列 |
支持的配置:
|
支持的配置:
|
性能和吞吐量(与其他 VPC 连接机制相比) |
低延迟、最高吞吐量(等效虚拟机)。 |
低延迟、最高吞吐量(等效虚拟机)。 |
VPC spoke 位于与 hub 不同的项目
通过使用 Network Connectivity Center,您可以将 VPC 网络(表示 VPC spoke)连接到其他项目中的单个 hub,包括其他组织中的项目。这样您就可以跨多个项目和组织大规模连接您的 VPC 网络。
您可以是以下类型的用户之一:
- 在一个项目中拥有 Hub 的 Hub 管理员
- 希望将其他 VPC 网络中的 VPC 网络作为 spoke 添加到 hub 的 VPC 网络 spoke 管理员或网络管理员
Hub 管理员可以使用 Identity and Access Management (IAM) 权限控制谁可以在与其 Hub 关联的其他项目中创建 VPC Spoke。VPC 网络 spoke 管理员在与 hub 不同的项目中创建 spoke。这些 spoke 在创建后处于非活跃状态。Hub 管理员必须审核这些 Spoke,并接受或拒绝该 Spoke。 如果 hub 管理员接受 spoke,它将变为活跃状态。
Network Connectivity Center 始终会自动接受在该 Hub 所在项目中创建的 Spoke。
如需详细了解如何管理 VPC spoke 与 Hub 位于不同项目中的 Hub,请参阅 Hub 管理概览。如需详细了解 Spoke 管理员,请参阅 Spoke 管理概览。
Spoke 与 VPC Service Controls 的交互
Network Connectivity Center 支持 VPC Service Controls 用于跨项目和组织 spoke。对于与 hub 位于不同项目中的 spoke,在添加新的 VPC Service Controls 边界后,您无法添加违反边界的新 spoke。不过,在添加 VPC Service Controls 边界之前添加的现有 spoke 会继续正常运行。
使用导出过滤条件的 VPC 连接
Network Connectivity Center 可让您将所有 spoke VPC 网络的连接限制为仅仅是 spoke VPC 中的子网的一部分。您可以按如下所示限制连接:
- 您可以将 spoke 配置为通告其所有子网范围或不通告任何子网范围。
- 您可以更改导出的子网地址范围(预览版)。
- 您可以指定要阻止通告的地址范围,并建立可从 VPC 网络通告的 CIDR 范围列表。或者,您也可以仅指定允许的 CIDR 范围列表,从而阻止除允许的范围之外的所有范围。
您可以使用导出过滤条件将 VPC spoke 配置为仅交换 IPv4 子网范围、仅交换 IPv6 子网范围,或者同时交换 IPv4 和 IPv6 子网范围。假设某个 spoke 的 VPC 网络混合使用子网栈类型。如果您将该 spoke 配置为仅导出 IPv6 子网范围,则双栈子网和仅 IPv6 子网中的 IPv6 范围会进行交换,但仅 IPv4 子网和双栈子网中的 IPv4 子网范围不会进行交换。
排除导出范围
您可以使用 Google Cloud CLI 中的 --exclude-export-ranges
标志或 API 中的 excludeExportRanges
字段阻止通告 IP 地址范围。任何与指定范围匹配的 IP 地址范围都不会导出到 hub。如果您的子网需要在 VPC 网络中处于不公开状态,或者可能与 hub 路由表中的其他子网重叠,则此过滤非常有用。
包含导出范围
您可以使用 API 中的 --include-export-ranges
标志或 includeExportRanges
字段,确定允许从 VPC spoke 通告的 IP 地址范围。您可以指定以下内容:
- 如需通告所有 IPv4 子网范围,您可以指定
ALL_PRIVATE_IPV4_RANGES
。 - 如需仅通告特定子网范围,您可以指定 CIDR 范围列表。
- 如需通告所有 IPv6 子网范围,您可以指定
ALL_IPV6_RANGES
。
通过将包含导出过滤条件与排除导出过滤条件搭配使用,可建立更精确的连接。此过滤决定了是否可以从 VPC 网络通告特定子网范围。
注意事项
使用排除和包含导出范围过滤条件时,请考虑以下事项:
包含范围必须互不相交,这意味着包含范围不得重叠。例如,假设有三个 IPv4 地址范围:
范围 1:10.100.64.0/18
范围 2:10.100.250.0/21
范围 3:10.100.100.0/22
范围 1 和范围 2 是有效的包含范围,因为这两个范围不重叠。但是,范围 3 包含在范围 1 中,因此范围 3 无效。
如果您使用 IPv6,假设您有以下三个 IPv6 地址范围:
范围 1:2001:db8::/32
范围 2:2001:db9::/32
范围 3:2001:db8:1000::/48
范围 1 和范围 2 是有效的包含范围,因为这两个范围不重叠。但是,范围 3 包含在范围 1 中,因此范围 3 无效。
由于 Network Connectivity Center 的网络配置政策中已经提供了排除导出过滤条件,因此包含和排除导出过滤条件都会影响有效的网络配置 CIDR 范围。如果同时使用包含和排除导出过滤条件,则包含 IP 地址范围必须是排除 IP 地址范围的超集。
如果在创建 VPC spoke 时未指定包含过滤条件,则 Network Connectivity Center 会将默认包含范围设置为有效 IPv4 范围中定义的所有有效专用 IPv4 地址。
要优化包含范围,您可以添加多个排除范围。例如,如果指定 10.1.0.0/16 作为包含范围,并指定 10.1.100.0/24 和 10.1.200.0/24 作为排除范围,则结果是结合包含和排除过滤条件的优化连接。此包含范围包括 10.1.0.0/24 到 10.1.99.0/24、10.1.101.0/24 到 10.1.199.0/24 以及 10.1.201.0/24 到 10.1.255.0/24 的所有地址。
现有子网范围会继续按预期运行。在创建新的子网范围时,若与包含和排除范围重叠,则会导致错误。
无效的新子网范围示例
以下示例展示了无效的子网范围:
与排除范围重叠
在本例中,以下包含范围包含子网范围 4,后者是排除范围 4 的超集。这意味着子网范围 4 无效。
包含范围:10.0.0.0/8
排除范围 4:10.1.1.0/24
子网范围 4:10.1.0.0/16
与包含范围重叠
子网范围 5 与包含范围重叠,因此无效。
包含范围:10.1.1.0/24
子网范围 5:10.1.0.0/16
如果您在创建子网过程中输入无效的子网范围,则会收到
Invalid IPCidrRange
错误,类似于以下内容:Invalid IPCidrRange: CIDR_RANGE conflicts with existing subnetwork SUBNET_RANGE in region REGION
预设拓扑
借助 Network Connectivity Center,您可以在所有 VPC spoke 中指定所需的连接配置。您可以选择以下两个预设拓扑之一:
如需详细了解连接拓扑,请参阅预设连接拓扑。
如需详细了解如何为 VPC spoke 配置网状拓扑或星形拓扑,请参阅配置 hub。
限制
本部分介绍 VPC Spoke 的一般限制以及它们连接到其他项目中的 Hub 时的限制。 这些限制也适用于提供方 VPC spoke。
VPC Spoke 的限制
- VPC 网络可以通过 Network Connectivity Center hub 或 VPC 网络对等互连以专有方式相互连接。
- 您不能在连接到同一 Network Connectivity Center hub 的两个 VPC spoke 之间使用 VPC 网络对等互连。然而,请考虑以下因素:
- 提供方 VPC spoke 需要与同一 hub 上的 VPC spoke 建立对等互连连接。在提供方 VPC spoke 和其对等互连的 VPC spoke 之间未建立通过 Network Connectivity Center 的连接。
- 连接到 Network Connectivity Center 的 VPC spoke 可以通过 VPC 网络对等互连与不属于 Network Connectivity Center 的单独 VPC 对等互连。
- 使用 Network Connectivity Center 和 VPC 网络对等互连以任意组合连接在一起的 VPC 不具有传递性。
- 不支持静态路由在 VPC spoke 之间交换。
- 指向其他 VPC spoke 中的内部直通式网络负载均衡器虚拟 IP 地址的路由不受支持。
- 基于 IPv6 的内部直通式网络负载均衡器无法在 VPC spoke 中访问。
- 不支持 IPv6 动态路由交换。
- 不支持将自动模式 VPC 网络用作 VPC spoke。您可以从自动模式切换到自定义 VPC 网络,以便为 VPC 网络中的每个区域手动定义子网前缀。更新后,您将无法撤消此操作。
动态路由交换的限制
仅 IPv4:Network Connectivity Center 仅支持交换 IPv4 动态路由。不支持交换 IPv6 动态路由。
混合 spoke 与星形拓扑的兼容性:配置为使用星形拓扑的 hub 对其混合 spoke 强制实施以下限制:
- 仅中心 spoke 组支持启用了站点到站点数据传输的混合 spoke。
- 未启用站点到站点数据传输的混合 spoke 可位于中心 spoke 组或边缘 spoke 组中。
同时是 VPC spoke 的路由 VPC 网络:仅当所有路由 VPC 网络都不是 VPC spoke 时,Network Connectivity Center 才支持在同一 hub 上使用两个或更多路由 VPC 网络。如果 Network Connectivity Center hub 只有一个路由 VPC 网络,则该路由 VPC 网络也可以根据需要作为 VPC spoke:
如果您需要通过 hub 的混合 spoke 使传播的 Private Service Connect 连接可供本地网络使用,则还必须连接 hub 的单个路由 VPC 网络作为 VPC spoke。
如果您不需要通过 hub 的混合 spoke 使传播的 Private Service Connect 连接可供本地网络使用,建议不要将路由 VPC 网络配置为 VPC spoke,以便 hub 可以支持两个或更多路由 VPC 网络。
动态路由交互规则:在路由 VPC 网络中,对于混合 spoke 中每个具有下一个跃点的唯一动态路由目的地,您必须确保所有其他动态路由(无论优先级如何)的目的地与该唯一动态路由目的地完全匹配或在该唯一动态路由目的地范围内,并且这些动态路由的下一个跃点 Cloud VPN 隧道或 VLAN 连接也位于混合 spoke 中。此外,您必须确保这些混合 spoke 使用相同的站点到站点数据传输设置(启用或停用)。
如果具有共同目的地的动态路由只有部分下一个跃点位于混合 spoke 中,则 Network Connectivity Center 无法可靠地与 hub 上的 VPC spoke 交换使用该目的地的动态路由。因此,VPC spoke 可能不会收到这些动态路由。
如果部分混合 spoke 启用了站点到站点数据传输,而其他混合 spoke 停用了站点到站点数据传输,则 Network Connectivity Center 不会在混合 spoke 动态路由的所有下一个跃点之间执行 ECMP。如果具有共同目的地的动态路由位于混合 spoke 中,但没有匹配的站点到站点数据传输设置,则站点到站点数据传输或 VPC spoke 与本地网络之间连接的下一个跃点可能不是您预期的那样。
动态路由和静态路由交互规则:在路由 VPC 网络中,对于每个在混合 spoke 中具有下一个跃点的唯一动态路由目的地,您必须确保不存在任何本地静态路由(无论优先级如何),其目的地与动态路由目的地完全匹配或在其范围内。
如果路由 VPC 网络中的本地静态路由与混合 spoke 动态路由具有相同的目的地,则 VPC spoke 可能会断开与动态路由目的地的连接。
如果路由 VPC 网络中的本地静态路由的目的地在混合 spoke 动态路由的目的地范围内,则 VPC spoke 会断开与静态路由目的地的连接。
删除 VPC spoke 后的冷却期
对于连接到其他 Hub 的同一 VPC 网络的新 spoke,您必须等待至少 10 分钟的冷却期。如果不允许足够的冷却期,则新配置可能不会生效。如果 VPC 网络作为 spoke 添加到同一 hub,则不需要此冷却期。
配额和限制
使用动态路由交换时,请仔细监控每个 hub 的动态路由数用量。此配额仅按目的地(前缀)统计用量,而不考虑动态路由的优先级或下一个跃点。当此配额的用量超过其限制时,Network Connectivity Center 会按目的地丢弃路由。如果某个目的地被丢弃,则具有该目的地的所有动态路由(无论优先级或下一个跃点如何)都不再发送到 hub。
如需详细了解配额,请参阅配额和限制。
结算
Spoke 小时数
Spoke 小时数计入 Spoke 资源所在的项目,并遵循标准的 Spoke 小时数价格。Spoke 小时数仅在 Spoke 处于 ACTIVE
状态时才会收费。
出站流量
出站流量计入流量来源的 spoke 资源的项目。无论流量是否跨项目边界,价格都是相同的。
服务等级协议
如需了解 Network Connectivity Center 服务等级协议,请参阅 Network Connectivity Center 服务等级协议 (SLA)。
价格
如需了解价格,请参阅 Network Connectivity Center 价格。
后续步骤
- 如要创建 Hub 和 Spoke,请参阅使用 Hub 和 Spoke。
- 如需查看其解决方案已与 Network Connectivity Center 集成的合作伙伴列表,请参阅 Network Connectivity Center 合作伙伴。
- 如需查找常见问题的解决方案,请参阅问题排查。
- 如需获取有关 API 和
gcloud
命令的详细信息,请参阅 API 和参考。