0

我尝试将子网 sub_A 中的应用程序连接到子网 sub_B 中具有私有端点的 postgresql 数据库,但仍然无法执行此操作。

我做了很多尝试,我能够从 sub_B 中的 VM 连接到数据库,所以我认为问题来自 sub_A,但这是我在数据库服务器上配置的 sub_A 和 sub_B 的 vmnet 规则的配置。

我使用服务端点“Microsoft.Sql”配置两个子网

当我尝试通过私有端点连接数据库时,我仍然收到错误 error: FATAL: Client from Azure Virtual Networks is not allowed to access the server using Private IP. Please make sure your Virtual Network is correctly configured.

你能帮我告诉我我错过了什么吗?

4

1 回答 1

0

在这种情况下,请确保 DNS 记录设置正确。

如果在应用服务上托管应用程序,则可以启用 VNet 集成,并且需要添加以下应用设置以使用 Azure DNS 专用区域。

WEBSITE_DNS_SERVER with value 168.63.129.16
WEBSITE_VNET_ROUTE_ALL with value 1

如果你有一个托管在 Azure VM 或 VM 上的应用程序,你可以比较子网 A 和子网 B 中 VM 的 DNS 记录。从子网 A,你需要确保你可以从 PostgreSQL 数据库 FQDN 解析到私有 IP 地址。子网 A 和子网 B 之间不应被网络阻塞。

例如,从 SubnetA,验证私有链接是否指向 PostgreSQL 资源并且正在执行必要的解决方案。

C:\Users\azureadmin>nslookup demoprivatelinkserver.postgres.database.azure.com.
Server:  UnKnown
Address:  168.63.129.16

Non-authoritative answer:
Name:    demoprivatelinkserver.postgres.database.azure.com
Address:  10.1.3.4

有关更多信息,您可以阅读此博客或让我知道您是否需要进一步的帮助。

于 2021-01-11T02:22:48.597 回答