我无法使用pgcli从azure资源(aks节点)连接到Azure postgres。我也直接从节点尝试并得到相同的错误消息:
FATAL: Client from Azure Virtual Networks is not allowed to access the server. Please make sure your Virtual Network is correctly configured.
资源中的防火墙规则已启用:
Allow access to Azure services: ON
在我的计算机和另一个azure资源上运行相同的pgcli登录命令似乎工作正常。
向所有IP添加防火墙规则会返回相同的错误。
来自有问题的服务器(主机:5432)的卷曲返回一个回复,因此它不是出站问题。
答案 0 :(得分:1)
我遇到了同样的问题。
我所做的就是将>>> import numpy
>>> numpy.random.RandomState
<class 'numpy.random.mtrand.RandomState'>
切换为ON。
答案 1 :(得分:1)
错误是什么意思?
连接所源自的VM被部署到虚拟网络子网中,其中Microsoft.Sql
服务端点已打开。根据{{3}}:
如果在子网中启用了Microsoft.Sql,则表明您只想使用VNet规则进行连接。该子网中资源的非VNet防火墙规则将不起作用。
要使连接成功,必须在PostgreSQL端添加VNet规则。当时有人问这个问题,PostgreSQL的Azure数据库的VNet服务端点刚刚公开预览,因此我认为它可能不适用于OP。
解决方案
截至2020年11月,Postgres的服务端点为GA,并且可以禁用缺失的VNet规则到PostgreSQL服务器实例并引用启用了服务端点的子网,而不是禁用服务端点。可以通过documentation或Portal
完成答案 2 :(得分:0)
显然,vm是启用了服务端点标记Microsoft.sql的vnet的一部分。
我发现了answer。为解决此问题,我禁用了服务端点,并将公共IP添加到“连接安全性”部分。