将Azure Web服务连接到虚拟网络中的Azure VM SQL Server数据库

时间:2016-11-04 00:13:34

标签: asp.net sql-server azure virtual-machine

我正在尝试做什么

我有一个Web应用程序,我正试图在Azure平台上测试。我的计划是将asp.net mvc应用程序放在Azure Web服务上并在Azure VM上托管SQL Server。

我现在已经设置好了,以便网络应用程序可以使用公共IP地址成功与SQL Server数据库通信。但我希望两者之间的延迟尽可能地最小化,所以我假设(可能不正确?)将它们都放在虚拟网络上会更好。我还希望能够通过SSMS和Visual Studio从我的本地开发计算机访问SQL Server,以便从VS进行模式比较和更改。

我希望在frontend子网中使用Web服务,在backend子网中使用数据库服务器,类似于depicted here

注意:我不是网络人......但是开发人员,所以这对我来说有点陌生。

到目前为止我做了什么

  1. 我创建了一个运行SQL Server的Azure VM,该VM分配给在VM设置期间要求创建的虚拟网络。 xxx-vnet/default
  2. 我创建了网络服务
  3. 当我尝试将我的网络服务分配到此虚拟网络时,它显示为灰色并且图标弹出消息指出:The virtual network has no gateway.
  4. 我添加了一个VPN网关,现在当我尝试将网络服务添加到vnet时,它仍然是灰色的,并说,Gateway does not have any point to site addresses.
  5. 问题

    1. 我甚至认为将Web服务和vm放在同一个vnet中可以减少延迟吗?
    2. 我是否需要VPN网关作为此vnet的一部分?
    3. 我是否需要指向网站地址?
    4. 我需要配置什么才能在同一个vnet中获取这些内容?

1 个答案:

答案 0 :(得分:0)

回答你的一些问题:

  1. 是的,您需要VNet连接的网关
  2. 是的,您需要点到站点池中的一些地址,因为Web App至少需要一个
  3. 这应该足够了,但你可以在这里找到完整的指南:https://azure.microsoft.com/en-us/documentation/articles/web-sites-integrate-with-vnet/
  4. 为了表演,我没有任何实际数字。人们进行这些连接的主要原因是,您可以将连接限制为仅限于虚拟网络中该点对点子网内的连接。否则你必须公开访问它们。如果您想要更好的性能和VNet集成,则需要使用App Service Environment,这是一种高级产品。将其放入VNet,与可以在App Service中完成的连接不同。