我有一个Azure云服务(工作者角色),需要连接到我的Azure SQL数据库并连接到外部数据库。
在开发过程中,外部数据库位于公共互联网上,连接不是问题。
但是,现在需要在生产环境中部署解决方案,并且通过设置虚拟网络来限制对外部数据库的访问。
部署在虚拟网络中时,Cloud Service从子网获取IP,但似乎无法访问外部世界,并且未连接到Azure SQL数据库(我也无法使用RDP)。< / p>
这似乎超出了我对网络的理解水平,但我不明白为什么它应该在Azure环境中失去对其邻居的访问权。
我错过了什么?我是否需要参与端点?虚拟网络配置错误了吗?
提前致谢。
答案 0 :(得分:2)
你的问题很模糊,因为它确实以最好的方式描述了整个画面。让我根据我对你的问题的理解来回答我。
首先 - Azure虚拟网络是虚拟网络。它旨在实现与Windows Azure数据中心的安全交叉前提连接。
在虚拟网络中部署适当的PaaS云服务(工作者角色/ Web角色)时,角色实例将获取从定义的DHCP池(VNet定义)分配的IP地址。
在Azure虚拟网络中部署任何服务时,您必须处理名称解析!这意味着,如果您未提供正确的DNS服务器,则您的云实例将无法解析任何地址。这包括Azure SQL数据库服务器。有关名称解析的更多信息,请read here。
接下来,但同样重要 - Azure SQL数据库服务器不属于,并且,自2013年3月起,无法添加到Azure虚拟网络!
最后一条语句表示为了让您的辅助角色访问Azre SQL数据库服务器,您需要在Azure虚拟网络中提供正确的DNS服务器。
最后,当您将PaaS服务部署到虚拟网络时,要通过远程桌面访问它需要: *正确启用和配置RDP扩展。无论如何它会创建输入端点。但这是目前在PaaS上启用RDP的唯一方法; *您可以通过PowerShell启动脚本启用RDP,并通过虚拟网络的VPN隧道访问RDP - 例如,您为Azure VNet配置了站点到站点或点对站点VPN。
检查建筑物跨界虚拟网络guide here。