代码之家  ›  专栏  ›  技术社区  ›  Adam Hey

带有VNET网关和P2S VPN的Azure内部负载平衡网络

  •  0
  • Adam Hey  · 技术社区  · 6 年前

    因此,正如标题所暗示的,我需要用一个VPN构建一个负载平衡的内部网关。我是一个开发者,所以网络不是我的强项。

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

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

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

    我可以创建gw->vnet->子网->vm1/vm2使用客户端为p2s vpn指定的IP范围设置没有问题,但如果没有负载平衡器,那么如何在vms之间引导流量?

    例如(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(以及后端池中的vms),但是它的静态IP必须落在vnet的子网中,从而落在p2s地址池之外。那么,我如何实现这一点呢?

    我想创建第二个VNET和相应的网关,并连接这些网关,但我最终似乎是在同一条船上。

    更新 :这是我的VNET图的图像。我现在只添加了一个vms(nsphiavail1),但vm2将位于同一个lb后端池中。 enter image description here

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

    2 回复  |  直到 6 年前
        1
  •  0
  •   Nancy Xiong    6 年前

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

    我的问题是我无法在加载 Balancer的静态IP在网关的VPN P2S的地址范围内 地址池。

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

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

    而且,你可以知道一些 limitations 关于内部负载平衡器。

        2
  •  0
  •   Adam Hey    6 年前

    我的问题是负载均衡器规则——或者说缺乏。在为端口1433(SQL Server)添加了一个规则之后,我就可以从本地的ssms实例查询db了。

    还有一个解决方案比我试图实现的解决方案简单得多,但是它不工作,允许使用内部负载平衡器

    Azure虚拟机比例集实现我指定的任意多个虚拟机,如果某个虚拟机停机,它将自动切换到另一个区域。我不需要可伸缩性方面,所以我禁用了它,只使用负载平衡方面。

    此安装程序只公开公共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

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

    推荐文章