我已经设置了 Azure SQL PaaS 服务器和专用终结点 (PE),以便我可以通过 VPN 进行私密连接。但是,我无法从本地客户端 ping 端点 IP。由于不支持
ping
命令(因为 PE 不支持 ICMP 流量 - 请参阅 FAQ),我也使用了 psping。我的设置如下,我想就我所缺少的内容提供一些建议。
架构:本地 VPN 通过 S2S VPN 连接到 Azure 中心和分支环境(1 个集线器订阅+Vnet,3 个分支子+VNet。所有分支 Vnet 与集线器 Vnet 对等)。
PE 部署到辐条之一,进入子网(没有委派,但我检查了 Microsoft.Sql 服务)。 PE 在 Hub Sub 中使用私有 DNS 区域,该区域启用了到 Hub 和 Spoke VNet 的 Vnet 链接。 A 名称记录的存在是为了 DNS 目的(但在本例中我只是尝试测试 IP 连接)。
我还在所有 Sub 上注册了 Microsoft.Networks 和 Microsoft.Sql 资源提供程序。
Azure SQL 已关闭公共访问,并且将(批准的)PE 列为私有连接方法。
在我的本地笔记本电脑上,我希望能够打开 cmd 并 psping PE 的 ip,但它总是超时。为什么我做不到? (仅供参考 - 对于 FQDN 解析,我们有一个本地 DNS 服务器,但由于这是外部管理的,我还没有要求他们为 Azure DNS 专用解析器创建条件转发器以进行 DNS 查找。我想测试首先进行 ip ping 。我们在 Spoke VNet 中有一些私有(注入 VNet)的 PostgreSQL 灵活服务器,我可以使用它们的 IP 成功 ping 通这些服务器。谢谢
我已成功从本地客户端计算机连接到/ping 我的私有 Azure SQL 服务器的 FQDN。我将在此答案中列出所有要求:
Microsoft.Sql
服务端点在我的场景中没有任何效果,但我还是启用了它)sqlServer
)Microsoft.Network
(用于专用终结点使用)和 Microsoft.Sql
(用于 Azure SQL 使用)已注册database.windows.net
的查询定向到 Azure DNS 转发器的入站端点 IP 地址*子网可能需要为其分配 NSG 和路由表,具体取决于您的 Azure 设置。
对我来说,整个解决方案启用了与 Azure SQL 数据库的本地私有连接。然后我可以 psping fqdn:port (普通 ping 命令对 PE 不起作用)。我希望其他人觉得这很有用。相关 MS 文档链接此处(参见下方第二张图片)和此处。
这些文章中的相关图片: