Azure 负载均衡器 支持跨订阅负载均衡,前端 IP 和后端池实例可以与 Azure 负载均衡器 分属不同的订阅。
本文概述了使用 Azure 负载均衡器进行的跨订阅负载均衡及其支持的方案。
什么是跨订阅负载均衡?
跨订阅负载均衡允许跨多个订阅部署 Azure 负载均衡器资源。 使用此功能,你可以在一个订阅中部署负载均衡器,并在另一个订阅中部署前端 IP 和后端池实例。 此功能对于拥有单独的网络和应用程序资源订阅的组织非常有用。
本表介绍了跨订阅负载均衡支持的一些可能方案。
| 订阅 1 | 订阅 2 |
|---|---|
| 负载均衡器 | 后端池资源和前端 IP 地址 |
| 负载均衡器和后端池资源 | 前端 IP 地址 |
| 负载均衡器和前端 IP 地址 | 后端池资源 |
跨订阅前端 IP 配置
跨订阅前端允许前端 IP 配置驻留在负载均衡器订阅以外的其他订阅中。 若要启用跨订阅前端 IP 配置,所有后端池都需要进行 SyncMode 属性配置。
公共前端 IP 配置
Azure 负载均衡器使用的公共IP地址可以存在于与负载均衡器不同的订阅中。 如果你给负载均衡器附加多个公共IP地址,每个IP地址都可以来自不同的订阅。 例如,如果你有一个负载均衡器(部署在订阅C中),有两个前端IP,第一个IP地址可以位于订阅B,第二个IP地址可以位于订阅A。
你设置好前端IP配置后,就无法更改订阅。 不过,你可以在同一订阅内用不同的IP地址更新前端IP配置。 例如,如果某个前端 IP 配置关联到订阅 1 中的 IP 地址 A,则可以将其更新为同样位于订阅 1 中的 IP 地址 B。 跨订阅公共IP地址仅支持区域级标准负载均衡器。
内部前端 IP 配置
与公共负载均衡器一样,内部负载均衡器也可以具有跨订阅前端 IP 配置。 在这种情况下,子网和虚拟网络可以位于与负载均衡器不同的订阅中。 然而,与公共前端不同,所有内部前端配置必须来自同一个子网和虚拟网络。 此外,必须将所有后端池配置为与前端 IP 配置相同的虚拟网络。
跨订阅后端池
跨订阅后端允许后端实例驻留在负载均衡器订阅以外的其他订阅中。 例如,负载均衡器可以位于订阅 1 中,我的后端 VM 可以位于订阅 2 中。 后端实例可以与其引用的虚拟网络位于不同的订阅中。 跨订阅后端池必须使用一个称为“同步模式”的新属性。
什么是“同步模式”
“同步模式”属性是一个参数,你可以在使用 IP 地址和虚拟网络 ID 创建后端池时指定该参数。 使用跨订阅前端或后端时,必须设置该属性。 它有两个可能的值:“自动”或“手动”。
此外,此属性替代了基于 NIC 或基于 IP 的后端池的概念。 因此,配置了“同步模式”属性的后端池是一种不同类型的后端池,与基于 NIC 或 IP 的后端池不同。 后端池可以是以下三种类型之一:基于 NIC、基于 IP,或启用了“同步模式”。
何时应使用“自动”同步模式
当你将SyncMode配置为 自动时,你会将后端池实例与负载均衡器的配置同步。 因此,对后端池实例的更改会自动反映在负载均衡器的后端池配置中。 当在后端池中使用虚拟机规模集时,此更改很有意义。 当虚拟机规模集缩容或扩容时,后端池成员会相应地自动添加到池中或从池中移除。 与基于 NIC(网络接口卡)的后端池一样,如果将 SyncMode 设置为 “自动”,则每个后端实例的 NIC 还必须引用负载均衡器后端池。 因此,通过更新 NIC 资源的对负载均衡器的引用,将后端实例添加到 自动 SyncMode 后端池。
何时应使用手动 SyncMode
当你将SyncMode设置为 手动时,后端池实例并不会与负载均衡器配置同步。 该模式允许您创建带有预设私有IP地址的后端池,可用于灾难恢复、主动被动或动态配置等场景。 使用“手动”同步模式的后端池时,你负责在后端实例发生任何更改时更新后端池,例如使用规模集自动缩放。
跨订阅全局负载均衡器
此外,Azure 全球 负载均衡器 支持跨订阅负载均衡。 通过使用跨订阅全球负载均衡器,后端区域负载均衡器可以分别位于不同的订阅中。 全局负载均衡器上的跨订阅后端不需要其他参数,也不需要更改后端池。
注释
Azure 全局负载均衡器目前不支持跨订阅前端。
授权
为了实现跨订阅负载均衡,请为两个订阅的用户分配网络 贡献 者角色或自定义角色,并按照下表列出的相应操作:
跨订阅前端
公共前端
Microsoft.Network/loadBalancers/frontendIPConfigurations/join/actionMicrosoft.Network/publicIPAddresses/join/action
内部前端
Microsoft.Network/loadBalancers/frontendIPConfigurations/join/action
跨订阅后端
Microsoft.Network/loadBalancers/backendAddressPools/writeMicrosoft.Network/loadBalancers/backendAddressPools/join/actionMicrosoft.Network/virtualNetworks/writeMicrosoft.Network/networkInterfaces/write
跨租户
进行跨租户操作时,在两个订阅中都分配 Network Contributor 角色,或分配包含对跨订阅前端执行相应操作所需权限的自定义角色。 有关跨租户链接的更多信息,请参见 “跨租户认证请求”。
局限性
- 你不能在已具有后端地址的后端池上设置
SyncMode。 如果你尝试设置,会出现错误SyncModePropertyCannotBetSetWithLoadBalancerBackendAddressesPresent。 实际上,必须先配置SyncMode,然后才能将后端地址添加到池中。- 必须显式设置
SyncMode属性 - 默认情况下,该SyncMode属性未指定。
- 必须显式设置
- 你需要使用 2023-04-01 或更高版本的 API 来部署或更新负载均衡器。
- 设置后,您无法更改后台池的
SyncMode属性。 - 配置
SyncMode属性时,必须指定虚拟网络。 你设置虚拟网络后无法更新后端池的虚拟网络。 - 跨订阅负载均衡器不支持入站 NAT 池。 改用入站NAT规则。
- 你必须将所有资源部署在与负载均衡器相同的区域内。
- 该
SyncMode属性在跨区域负载均衡后台池中不被支持。 - 不能将跨订阅负载均衡器链接到网关负载均衡器。
- Gateway 负载均衡器不能有跨订阅组件。