【问题标题】:How to connect from Web App to SQL Database in another region "privately"?如何“私下”从 Web App 连接到另一个区域的 SQL 数据库?
【发布时间】:2020-04-25 01:14:04
【问题描述】:

有没有办法“私下”建立从 Azure Web App 到 另一个区域的 Azure SQL 数据库的连接,即无需将数据库向公众开放。

具体来说,我希望我的数据库在数据库上设置以下防火墙选项:

  • “拒绝公共网络访问” - 是
  • “允许 Azure 服务和资源访问此服务器” - 否

我的尝试失败了(我的设置可能有问题):

  • VNET-VNET 对等互连 - 允许跨区域 VNET 连接,但似乎不适用于 Web 应用
  • SQL 数据库专用终结点 - 终结点是在与 Web 应用托管在同一区域的 VNET 中创建的。

更新: 尝试按照Azure Global VNet peering and WebApps 中的说明进行操作,但我不确定应该在哪个 VNET 中创建网关?先在远程网络中创建网关,然后勾选“App Service Plan”刀片,然后在Web App VNET中创建网关,还是不行。

在“应用服务计划”边栏选项卡中,所有与网关相关的设置都显示为灰色,网关状态为“N/A”。 “同步网络”按钮显示为灰色。

【问题讨论】:

  • @CSharpRocks,感谢您的回复。据我所知(包括我的实验),您提供的链接用于 OnPrem 网络连接。您必须连接到与虚拟网关不同类型的网关。
  • @AlexAIT,感谢您的回复。我有一个关于指令的问题:应该在哪个网络上创建网关?在 Web 应用程序连接到的 VNET 上还是在我的数据库所在的第二个 VNET 上?看来你只能有一个网关,对吧?
  • @AlexAIT,在“应用服务计划”边栏选项卡中,所有与网关相关的设置都显示为灰色,网关状态为“N/A”,尽管我已经在此创建了一个网关网络。

标签: azure azure-sql-database azure-web-app-service vnet


【解决方案1】:

首先,您链接的 SO 答案用于从 Azure Web 应用程序访问 Azure VM。 Azure VM 是 Azure IaaS。但是,Azure SQL 数据库是 Azure PaaS。在这种情况下您不需要遵循它。

如果您想以安全的方式从 Web App 连接到另一个区域的 Azure SQL 数据库,您可以执行以下两个步骤:

  1. 在同一区域启用regional VNet Integration with app service
  2. 在 Azure SQL 数据库服务器的防火墙和虚拟网络中添加集成子网。如果所选子网没有为 Microsoft.Sql 启用服务端点。启用访问最多可能需要 15 分钟才能完成。

更多信息,您可以参考this blog

上述方法会在SQL Server防火墙中添加集成子网。如果你不喜欢添加它,你可以考虑使用 Azure Private Link 和 gateway required VNet integration。请参阅this blog 了解更多信息。您可以确保您拥有set up the gateway in your virtual network(它将具有 SQL 数据库的私有端点,并且与 SQL 数据库位于同一区域)。有关详细信息,请参阅Use cases of Private Link for Azure SQL Database

【讨论】:

  • 感谢您的回复。我已经尝试了你提到的一些东西,不幸的是它们都没有奏效。 1. 我无法将其他区域的 VNET 添加到 Azure SQL 数据库防火墙。至少不是来自 UI。 2. 网关需要 VNET 集成是否有任何具体要求。在 Web App Networking Blade 中,我看不到来自其他区域的 VNET(带有网关)。它说的是“找不到启用网关的网络”(我手头没有设置来告诉确切的消息)。
  • 我花了一个多星期的时间试图让它工作,但没有显示任何结果。非常感谢您的帮助。
  • 需要网关的 vnet 是您需要在该 vnet 中部署基于路由的 vpn 网关并启用点到站点连接并为此提供客户端地址空间。
【解决方案2】:

您应该可以使用专用链接执行此操作,以下 Microsoft 文档中有说明:Multi-region web app with private connectivity to database

但是,关于添加私有链接的部分(即“部署此方案”部分的第 3a 部分)对于实际创建私有链接时需要选择哪些设置并不是很清楚,所以我创建了一个博客帖子有助于通过屏幕截图更好地解释这部分:Connect from Azure Web App to Azure SQL Database in another region using Private Link

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-05
    • 1970-01-01
    • 2017-03-05
    • 1970-01-01
    • 2022-08-19
    • 2017-12-22
    • 2019-01-04
    相关资源
    最近更新 更多