带有 VNet 网关和 P2S VPN 的 Azure 内部 load-balanced 网络

Azure internal load-balanced network with VNet Gateway with P2S VPN

因此,正如标题所示,我需要制作一个带有 VPN 的 load-balanced 内部网关。我是一名开发人员,所以网络不是我的强项。

我有两个相同的虚拟机(可用区 1 中的 VM1 和可用区 2 中的 VM2),我需要在它们之间共享 VPN 流量。我的客户提供了将在他们的防火墙上配置的 5 个地址范围,因此我会选择一个供他们使用,然后他们需要忘记内部路由。

我的最终目标是允许客户端通过 VPN 连接到一个 IP 地址(在他们分配的范围内)并让 Azure 将流量主要定向到 VM1,但如果可用区 1 出现故障则故障转移到 VM2 .客户端必须不知道他们最终连接到哪个虚拟机。

我的问题是我无法创建负载平衡器的静态 IP 在网关的 VPN P2S 地址池的地址范围内的配置。 Azure 要求 P2S 地址池在 VNet 地址 space 之外,负载均衡器需要使用 VNet 的子网(这显然在 VNet 地址 space 内部,所以我卡住了。

我可以创建 GW -> Vnet -> 子网 -> VM1/VM2 使用客户端为 P2S VPN 指定的 IP 范围设置没有问题,但没有负载均衡器,我该如何引导虚拟机之间的流量?

例如(IP 是假设的)

我可以创建一个负载均衡器来使用 Vnet(以及后端池中的 VM),但是它的静态 IP 必须位于 VNet 的子网中,因此位于 P2S 地址池之外。那么我该如何实现呢?

我想创建第二个 VNet 和相应的 Gateway 并链接 Gateways,但我似乎以同一条船结束

更新:这是我的 VNet 图的图像。我现在只添加了一个 VM (NSPHiAvail1),但是 VM2 将在同一个 LB 后端池中

NSP_Address_Range 是 VNet 的子网范围,并且是客户端指定的范围。负载均衡器的前端 IP 在此范围内

首先,Azure 负载均衡器为新传入的 TCP 连接执行循环负载均衡,您不能将其用于故障转移。

My problem is that I cannot create a configuration where the Load Balancer's static IP is in the address range of the Gateway's VPN P2S address pool.

您不需要在P2S 地址池中添加负载均衡器前端IP,该地址池用于连接到您的Azure VNet 的客户端。

通常,您可以配置 P2S VPN 网关,创建网关子网和 vmsubnet,并在 vmsubnet 中创建一个内部标准 SKU 负载均衡器,然后您可以在 vmsubnet 中添加 VM进入后端池作为负载均衡器的后端目标,并为负载均衡流量配置 healthpro 和负载均衡器规则。如果是这样,您可以通过负载均衡器前端私有 IP 从客户端访问后端虚拟机。

此外,您可以limitations了解一些关于内部负载均衡器的知识。

我的问题是负载平衡器规则 - 或者缺少规则。一旦我为端口 1433(SQL 服务器)添加了规则,我就能够从我的本地 SSMS 实例

查询数据库

有另一种解决方案比我尝试实施的解决方案简单很多,但它不能工作允许内部负载平衡器

Azure 虚拟机规模集实现了我指定的尽可能多的 VM,如果一个出现故障,它会自动切换到另一个区域。我不需要可伸缩性方面,所以我禁用了它,我只使用负载平衡方面。

NB 此设置仅公开一个 PUBLIC IP,您不能将内部负载均衡器与默认 public 负载均衡器[=14] 一起分配=]

这里有一些信息:

Quickstart: Create a virtual machine scale set in the Azure portal

Create a virtual machine scale set that uses Availability Zones

Networking for Azure virtual machine scale sets

Virtual Machine Scale Sets

费用正是您为单个 VM 支付的费用,但包括负载平衡。所以它比我在问题中描述的解决方案便宜。奖金!