无法在启用专用端点的情况下连接到 Azure cosmos dB for PostgreSQL

问题描述 投票:0回答:1

我有一个用于 PostgreSQL 的 cosmos 数据库集群,设置为启用私有端点并阻止公共互联网。我已按照链接进行设置。

https://learn.microsoft.com/en-us/azure/cosmos-db/postgresql/concepts-private-access

现在我需要使用 pgAdmin 连接到这个 Cosmos 集群,并从使用站点到站点 VPN 连接到 Azure 的客户端计算机启用专用终结点。

问题是我无法使用 pgAdmin 使用客户端计算机上的 psql 连接字符串连接到 cosmosdb 集群

我也无法从与 Cosmosdb 相同的 VNET 中的应用程序服务中获取 tcpping.exe

我收到消息连接超时。

即使启用了专用端点,我是否也需要为 cosmodb 创建防火墙规则?

我可以采取哪些额外检查点来建立连接?

postgresql azure azure-cosmosdb
1个回答
0
投票

您的问题很可能与动态命名系统 (DNS) 相关。客户端很可能使用其互联网服务提供商 (ISP) 的 DNS 或公共 DNS 服务器来解析完全限定域名 (FQDN)。

私有端点具有本机云环境(不是本地或扩展云)内的客户端的作用,可使用 Azure DNS(由 Microsoft 管理)查找数据库服务器的 IP 地址。这些服务器能够识别云数据库客户端并使用服务器的私有IP地址进行响应。这称为策略 DNS。但是,您的本地客户端不使用 Azure DNS,因此它们将始终获得公共互联网地址 - 您出于安全原因已阻止该地址。

如果没有您的网络配置和可能的现场 DNS 服务器的完整详细信息,我只能为您提供解决方法。这必须在连接到数据库的任何客户端上完成。既然你提到了 tcpping.exe,我就假设你的客户端是基于 Windows 的。

  1. 记下连接字符串中的 FQDN。它应该类似于 XXXXX.database.azure.com。
  2. 以管理员身份打开记事本。 WIN+R->notepad.exe->SHIFT+ENTER
  3. 确认您希望提升权限。
  4. 打开文件 (CTRL+O) -> %system32%\drivers tc\hosts
  5. 在底部添加一行 XXXXX.database.azure.com(将尖括号替换为数据库服务器私有 IP)
  6. 保存文件(CTRL+S)

现在尝试再次连接。

如果您在客户端网络上使用网络安全组 (NSG)、访问控制列表 (ACL),或者在客户端或云端使用防火墙,请确保配置允许从客户端到服务器的连接。

您可以在命令提示符下使用 nslookup 检查主机文件是否已正确实现更改。

nslookup XXXXX.database.azure.com

这应该返回数据库服务器的私有/内部 IP 地址。

© www.soinside.com 2019 - 2024. All rights reserved.