当托管SQL实例位于与我的应用程序服务器不同的VNet中时,如何启用地理复制



在没有任何地理复制的情况下,我的设置非常简单。我有两个VNet。其中一个有我的应用程序服务器。另一个有我的托管SQL实例。它们与Azure VNet对等连接。

现在,我正试图在另一个区域创建另一个托管SQL实例,以设置用于灾难恢复的地理复制。这在托管SQL实例中是可能的。

启用地理复制的要求之一是创建具有主数据库的VNet的网络网关和具有辅助数据库的VNet的另一网络网关;连接";这些网关之间的资源。

但是,由于我已经有了网络对等设置,我无法将网络网关添加到主数据库的VNet中。它失败,错误代码为ParentVnetAlreadyUsesRemoteGateways,消息为

无法创建虚拟网络网关,因为虚拟网络主db-vnet已经通过对等对等应用服务器使用远程网关。

将数据库放在与应用服务器不同的VNet中似乎是一种非常标准的方式。如果这阻止了地理复制,那么我似乎错过了什么。

因此,我的问题是:如何在允许我的应用程序服务器和数据库位于不同的VNet中的同时启用地理复制?

问题的不同措辞:我如何在同一个VNet上创建一个网络网关和VNet对等?

附言:我已经联系了支持人员,但他们需要时间才能回复。如果我能解决这个问题,我会确保在这里发布答案。

据我从一些文档中所知,不可能在不同的区域中使用VNet对等创建另一个托管SQL实例来设置用于灾难恢复的地理复制,因为

  1. Azure SQL托管实例不支持活动地理复制。对于SQL托管实例实例的地理故障切换,请使用自动故障切换组。请阅读此处
  2. 由于全局虚拟网络对等的限制,SQL托管实例的虚拟网络对等场景仅限于同一区域的网络。请阅读此处

因此,在这种情况下,您可以删除VNet对等,而是可以设置VNet到VNet的VPN网关连接,以便在这种情况中连接两个VNet。

Microsoft现在为托管实例提供全局对等支持:https://azure.microsoft.com/en-in/updates/global-virtual-network-peering-support-for-azure-sql-managed-instance-now-available/

最新更新