VPC spoke
Network Connectivity Center 支持 VPC 间的网络连接,并且支持 VPC spoke。VPC spoke 通过使用 VPC spoke 和集中式连接管理模型来降低管理一对 VPC 网络对等互连连接的操作复杂性。VPC spoke 会导出和导入来自 Network Connectivity Center hub 上其他 spoke VPC 的所有 IPv4 子网路由。这样可以确保位于所有这些 VPC 网络中的所有工作负载之间的完全 IPv4 连接。VPC 间网络流量保留在 Google Cloud 网络中,不会通过互联网传输,这有助于确保隐私和安全。
VPC spoke 可以位于同一项目和组织中,也可以与 Network Connectivity Center hub 位于不同的项目和组织中。 VPC spoke 一次只能连接到一个 hub。
如需了解如何创建 VPC spoke,请参阅创建 VPC spoke。
与 VPC 网络对等互连对比
VPC spoke 旨在满足大中型企业工作负载对位于许多不同 VPC 网络的 IPv4 子网范围中的路由连接的要求。
VPC 网络既可以是 Network Connectivity Center VPC spoke,也可以使用 VPC 网络对等互连连接到其他 VPC 网络。但是,spoke VPC 网络使用 VPC 网络对等互连导入的子网路由不会与连接到 Network Connectivity Center hub 的其他 VPC spoke 共享。因此,在默认情况下,您无法使用 Network Connectivity Center hub 的其他 VPC spoke 以传递方式访问由专用服务访问通道提供支持的托管式服务。 在这种情况下,您可以使用提供方 VPC spoke(预览版)让托管式服务可供访问。
功能 | VPC 网络对等互连 | VPC spoke |
---|---|---|
VPC 网络 |
最多 25 个(需要降低其他 VPC 配额)。 |
每个 hub 最多 250 个活跃 VPC spoke。 |
虚拟机实例 |
Network Connectivity Center 最多支持的实例数可达每个 VPC 网络的最大上限(无需单独的对等互连组配额)。 |
|
子网范围(子网路由) | ||
静态和动态路由 |
每个 hub 500 条动态路由。 不支持静态路由交换。 |
|
导出过滤条件 |
不支持特定过滤条件;请参阅 VPC 网络对等互连文档中的路由交换选项。 |
每个 VPC spoke 最多支持 16 个 CIDR 范围。 |
IP 寻址 |
内部 IP 地址,包括专用 IP 地址和以非公开方式使用的公共 IPv4 地址。请参阅有效 IPv4 范围。 |
内部 IPv4 地址,包括专用 IP 地址,不包括以非公开方式使用的公共 IPv4 地址。请参阅有效 IPv4 范围。 |
IP 地址系列 |
IPv4 和 IPv6/IPv4 双栈地址。 |
仅限 IPv4 地址。 |
性能和吞吐量(与其他 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 管理概览。
使用导出过滤条件的 VPC 连接
Network Connectivity Center 可让您将所有 spoke VPC 网络的连接限制为仅仅是 spoke VPC 中的子网的一部分。您可以通过指定要通告的 IP 地址范围并建立可从 VPC 网络通告的 CIDR 范围列表来限制连接。您还可以通过指定允许的 CIDR 范围列表来限制连接,从而阻止除允许的范围之外的所有范围。
排除导出范围
您可以使用 Google Cloud CLI 中的 --exclude-export-ranges
标志或 API 中的 excludeExportRanges
字段阻止通告 IP 地址范围。与指定范围匹配的任何子网都会从导出到 Hub 中排除。如果您的子网需要在 VPC 网络中处于不公开状态,或者可能与 hub 路由表中的其他子网重叠,则此过滤非常有用。
包含导出范围
您可以使用 API 中的 include-export-ranges
标志或 includeExportRanges
字段,确定允许从 VPC spoke 通告的 CIDR 范围列表。将此参数与排除导出过滤条件 IP 地址范围搭配使用时,可建立更精确的连接。此过滤决定了是否可以从 VPC 网络通告特定子网范围。
注意事项
使用排除和包含导出范围过滤条件时,请考虑以下事项:
包含范围必须互不相交,这意味着包含范围不得重叠。例如,假设有三个 IP 地址范围:
Range 1
:10.100.64.0/18
Range 2
:10.100.250.0/21
Range 3
:10.100.100.0/22
Range 1
和range 2
是有效的包含范围,因为这两个范围不重叠。但是,range 3
位于range 1
下,这可能会导致重叠,因此range 3
无效。由于 Network Connectivity Center 的网络配置政策中已经提供了排除导出过滤条件,因此包含和排除导出过滤条件都会影响有效的网络配置 CIDR 范围。如果同时使用包含和排除导出过滤条件,则包含 IP 地址范围必须是排除 IP 地址范围的超集。
默认情况下,所有 VPC 连接政策的包含 CIDR 范围均为
0.0.0.0/0
,这意味着如果您在创建 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
的所有内容。现有子网范围会继续按预期运行。在创建新的子网范围时,若与包含和排除范围重叠,则会导致错误。
无效的新子网范围示例
以下示例展示了无效的子网范围:
与排除范围重叠:假设存在以下 IP 地址范围。
包含范围:
10.0.0.0/8
Exclude range 4
:10.1.1.0/24
Subnet range 4
:10.1.0.0/16
在本例中,包含范围包含
subnet range 4
。不过,它是exclude range 4
的超集。因此,subnet range 4
无效。与包含范围重叠:假设存在以下 IP 地址范围。
包含范围:
10.1.1.0/24
Subnet range 5
:10.1.0.0/16
Subnet range 5
与包含范围重叠,因此无效。
如果您在创建子网过程中输入无效的子网范围,则会收到 Invalid IPCiderRange
错误,类似于以下内容:
Invalid IPCidrRange: CIDR_RANGE conflicts with existing subnetwork SUBNET_RANGE in region REGION
预设拓扑
借助 Network Connectivity Center,您可以在所有 VPC spoke 中指定所需的连接配置。您可以选择以下两个预设拓扑之一:
- 网状拓扑
- 星形拓扑
使用 gcloud network-connectivity hubs create
命令创建 hub 时,请选择预设的网状拓扑或星形拓扑。如果未指定拓扑,则默认为网格。在创建 hub 期间设置后,您将无法更改给定 hub 的拓扑。
如需更改 spoke 的拓扑设置,您可以删除 spoke,然后使用其他拓扑的新 hub 创建新的 spoke。
网状拓扑
网状拓扑可在 VPC spoke 之间提供大规模网络连接。此拓扑允许所有 spoke 相互连接和通信。除非您指定 exclude export filters
,否则这些 VPC spoke 内的子网可以完全访问。默认情况下,当两个或更多工作负载 VPC 网络配置为将 Network Connectivity Center hub 作为 spoke 加入时,Network Connectivity Center 会自动在每个网络之间构建全网状连接 spoke。
网状拓扑中的所有 spoke 都属于一个默认群组。VPC 和混合 spoke 类型支持网状拓扑。
下图展示了 Network Connectivity Center 中的网状拓扑连接。
星形拓扑
星形拓扑仅支持 VPC spoke。使用星形拓扑进行连接时,边缘 spoke 及其关联的子网只能到达指定的中心 spoke,而中心 spoke 可以到达所有其他 spoke。这有助于确保边缘 VPC 网络间的分隔和连接隔离。
由于 VPC spoke 可以连接到其他项目中的 hub,因此 VPC spoke 可以来自不同的管理域。这些 spoke 与 hub 位于不同项目中,可能不需要与 Network Connectivity Center hub 中的每个其他 spoke 进行通信。
您可以为以下用例选择星形拓扑:
在不同 VPC 网络中运行的工作负载不需要相互连接,但只需要通过中央共享服务 VPC 网络访问 VPC 网络。
对跨多个 VPC 网络的通信进行安全控制,要求流量通过一组集中式网络虚拟设备 (NVA)。
下图展示了 Network Connectivity Center 中的星形拓扑连接。center-vpc-a
和 center-vpc-b
与中心群组关联,edge-vpc-c
和 edge-vpc-d
与边缘群组关联。在这种情况下,使用星形拓扑可让 edge-vpc-c
和 edge-vpc-d
连接到 center-vpc-a
和 center-vpc-b
,并将其子网传播到中心群组,但它们之间不会互相连接(edge-vpc-c
和 edge-vpc-d
之间没有直接可达性)。同时,center-vpc-a
和 center-vpc-b
彼此相连,并与 edge-vpc-c
和 edge-vpc-d
相连,从而实现从中心群组 VPC 到边缘群组 VPC 的完全可达性。
Spoke 群组
Spoke 群组是连接到 hub 的 spoke 子集。如需使用星形拓扑配置 Network Connectivity Center,您必须将所有 VPC spoke 拆分为两个不同的群组(也称为路由网域):
- 由 spoke 组成的中心群组,可与连接到该 hub 的每个其他 spoke 通信
- 由 spoke 组成的边缘组,仅与属于中心群组的 spoke 通信
VPC spoke 一次只能属于一个群组。创建 hub 时,系统会自动创建群组。
hub 管理员可以使用 gcloud network-connectivity hubs groups update
命令更新 spoke 群组。hub 管理员可以添加项目 ID 或项目编号列表,以便为 spoke 启用自动接受功能。启用自动接受功能后,自动接受项目中的 spoke 会自动连接到 hub,而无需对各个 spoke 提案进行审核。
您可以使用 gcloud network-connectivity hubs groups list --hub
命令将中心群组和边缘群组作为特定 hub 的嵌套资源列出。对于使用网状拓扑创建的 hub,输出会返回默认群组。对于使用星形拓扑创建的集线器,输出会返回中心群组和边缘群组。
如需详细了解如何为 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 不具有传递性。
- 不支持 IPv4 静态路由在 VPC spoke 之间交换。
- 指向其他 VPC Spoke 中内部直通式网络负载均衡器虚拟 IP 地址的路由不受支持。
- 重叠的子网必须由排除导出过滤条件进行遮盖。
- 不支持在创建 VPC spoke 后更新
export range filters
。 - 对于与 hub 位于不同项目中的 spoke,在添加新的 VPC Service Controls 边界后,您无法添加违反边界的新 spoke,但现有 spoke 会继续正常运行。
- 星形拓扑连接不支持混合 spoke 或动态路由交换。
删除 VPC spoke 后的冷却期要求
对于连接到其他 Hub 的同一 VPC 网络的新 spoke,您必须等待至少 10 分钟的冷却期。如果不允许足够的冷却期,则新配置可能不会生效。如果 VPC 网络作为 spoke 添加到同一 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 和参考。