Ami*_*tyo 5 postgresql networking azure azure-aks
我无法使用 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 login 命令似乎工作正常。
将防火墙规则添加到所有 IP 会返回相同的错误。
来自有问题的服务器 (host:5432) 的 Curl 返回回复,因此这不是出站问题。
错误是什么意思?
连接源自的 VM 部署到Microsoft.Sql服务端点已打开的虚拟网络子网。根据文档:
如果在子网中启用了 Microsoft.Sql,则表明您只想使用 VNet 规则进行连接。该子网中资源的非 VNet 防火墙规则将不起作用。
为了成功连接,必须在 PostgreSQL 端添加 VNet 规则。当时提出这个问题时,Azure Database for PostgreSQL 的 VNet 服务端点刚刚进入公共预览版,因此我认为它可能不适用于 OP。
解决方案
截至 2020 年 11 月,Postgres 的服务端点已正式发布,您可以向 PostgreSQL 服务器实例添加缺少的 VNet 规则并引用启用服务端点的子网,而不是禁用服务端点。可以通过Portal或Azure CLI完成
| 归档时间: |
|
| 查看次数: |
8201 次 |
| 最近记录: |