具有VNet网关和P2S VPN的Azure内部负载平衡网络

时间:2019-01-30 18:33:23

标签: azure azure-virtual-network azure-load-balancer

因此,正如标题所示,我需要使用VPN创建负载平衡的内部网关。我是一名开发人员,所以网络并不是我的专长。

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

我的最终目标是允许客户端通过VPN连接到一个IP地址(在其分配的范围内),并让Azure首先将流量定向到VM1,但是如果可用区1出现故障,则将故障转移到VM2。客户端必须忽略最终连接到哪个VM。

我的问题是我无法创建一个配置,其中负载均衡器的静态IP在网关的VPN P2S地址池的地址范围内。 Azure要求P2S地址池在VNet的地址空间之外,并且Load Balancer需要使用VNet的子网(显然,该子网位于VNet的地址空间之内,所以我受阻了。

我可以使用客户端为P2S VPN指定的IP范围来创建GW-> Vnet->子网-> VM1 / VM2进行设置,但是没有负载均衡器,然后如何在VM之间定向流量?

例如(IP是假设的)

  • Vnet地址范围是172.10.0.0/16
  • 网关子网是172.10.10.0/24
  • 网关的P2S地址池是172.5.5.5/29
  • VM1的IP为172.10.10.4
  • VM2的IP为172.10.10.5

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

我曾想创建第二个VNet和相应的网关并链接网关,但是我似乎最终却陷入了困境

更新:这是我的VNet图的图像。我现在仅添加了其中一个VM(NSPHiAvail1),但是VM2将位于同一LB后端池中 enter image description here

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

2 个答案:

答案 0 :(得分:0)

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

  

我的问题是我无法创建要在其中加载的配置   平衡器的静态IP在网关的VPN P2S的地址范围内   地址池。

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

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

此外,您可能对内部负载均衡器了解limitations

答案 1 :(得分:0)

我的问题是负载均衡器规则-或缺少规则。添加端口1433(SQL Server)的规则后,就可以从本地SSMS实例查询数据库

还有另一种解决方案,它比我尝试实现的解决方案要简单得多,但是它不能正常工作,而需要一个内部负载均衡器

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

NB 此设置仅公开PUBLIC IP,并且不能与默认的公共负载平衡器一起分配内部负载平衡器

以下是一些信息:

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支付的费用,但其中包括负载平衡。因此,它比我在问题中描述的解决方案便宜。奖金!