子网之间的 Azure postgres 数据库专用连接

标签 azure azure-virtual-network azure-postgresql

我尝试将子网 sub_A 中的应用程序连接到子网 sub_B 中具有专用终结点的 postgresql 数据库,但仍然失败。

我做了很多尝试,我能够从 sub_B 中的虚拟机连接到数据库,因此我预计问题来自 sub_A,但这里是我在数据库服务器上配置 sub_A 和 sub_B 的 vmnet 规则的配置.

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

当我尝试通过专用端点连接数据库时,我仍然收到错误 错误:致命:不允许来自 Azure 虚拟网络的客户端使用专用 IP 访问服务器。请确保您的虚拟网络配置正确。

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

最佳答案

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

如果您有一个应用程序托管在应用服务上,您可以 enable VNet Integration并且您需要添加以下应用设置才能使用 Azure DNS 专用区域。

WEBSITE_DNS_SERVER with value 168.63.129.16
WEBSITE_VNET_ROUTE_ALL with value 1

如果您有一个应用程序托管在一个或多个 Azure 虚拟机上,您可以将子网 A 与子网 B 中虚拟机的 DNS 记录进行比较。从子网 A 中,您需要确保可以从 PostgreSQL 数据库解析为私有(private) 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

欲了解更多信息,您可以阅读this blog或者如果您需要进一步帮助,请告诉我。

关于子网之间的 Azure postgres 数据库专用连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65629049/

相关文章:

azure - 为什么我的服务主体无权访问我的 key 保管库?

python - 如何将postgreSQL中的文件保存到本地?

sqlalchemy - psycopg2.操作错误: could not translate host name "<address>" to address: Temporary failure in name resolution

azure - VPN 证书在一台计算机上始终声明 "This certificate has an invalid digital signature."

azure-virtual-network - Windows Azure 虚拟网络点到站点连接错误

azure - Azure Active Directory 应用程序中的应用程序角色和组声明(作为角色发出)

azure - 限制 Azure Webjobs 一次处理的 Blob 数量

sql - dm_db_missing_index_details 的有效使用

azure - 由于“拒绝公共(public)网络访问”设置为"is",连接被拒绝