我正在创建一个多区域AlwaysOn Sql Availabilty组。我在东方拥有2个虚拟机,在西方拥有1个虚拟机。我需要在面向公众的负载均衡器上对这些进行负载均衡。是否有可能创建一个面向互联网的负载均衡器,其中包含存在于不同VNET和不同数据中心的VM?
两个网络之间有一个VPN隧道。这与公共负载均衡器无关,但万一有人要求。
更新3年后:
你永远不应该真的创造这样的东西。如果你绝对的话,你可以,但这是一种可怕的糟糕做法。
答案 0 :(得分:1)
Azure流量管理器应该能够跨区域执行您需要的操作。 https://azure.microsoft.com/en-us/documentation/articles/traffic-manager-overview/
答案 1 :(得分:0)
所以我开发了解决方案,并且我已经成功测试了它。有两种选择:
确保您在这两个地区都拥有VNET。确保两个VNETS之间存在VPN隧道,这些隧道位于不同的区域中。接下来,像往常一样创建群集和可用性组。然后在您的两个区域中附加单独的Internet Facing负载平衡器。因此,如果东部有2个节点,西部有1个节点,那么面向负载均衡器的东部互联网将拥有2个虚拟机,而西部则只有一个负载均衡器。然后,在群集上为公共IP地址创建侦听器。确保您的Internet Facing负载均衡器的公共IP地址与侦听器上的正确子网相关联,否则您将遇到问题。以下是您可以选择的选项
选项1:在连接字符串中指定故障转移伙伴示例
DataSource=mydb.mydomain.com;FailoverPartner=mydb2.mydomain.com;MultiSubnetFailover=true;
我可能错误地输入了这个连接,但这是个主意。您可以查找正确的语法
选项2:不指定故障转移合作伙伴,并且在区域故障转移的情况下,使用新连接字符串重新部署应用程序。 (如果您没有使用像章鱼这样的工具,那么这就是云人们,你做错了)
我选择了选项2,因为我们的灾难恢复故障转移方法已经非常复杂了。
我希望这可以帮助其他人!