7

我无法使用 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 会返回相同的错误。

来自有问题的服务器(主机:5432)的卷曲返回回复,因此这不是出站问题。

4

3 回答 3

3

错误是什么意思?

连接源自的 VM 部署到Microsoft.Sql服务终结点已打开的虚拟网络子网。根据文档

如果在子网中启用了 Microsoft.Sql,则表明您只想使用 VNet 规则进行连接。该子网中资源的非 VNet 防火墙规则将不起作用。

要成功连接,必须在 PostgreSQL 端添加 VNet 规则。当时有人问这个问题,用于 PostgreSQL 的 Azure 数据库的 VNet 服务端点刚刚获得公共预览版,所以我认为它可能不适用于 OP。

解决方案

自 2020 年 11 月起,用于 Postgres 的服务终结点是 GA,可以将缺少的 VNet 规则添加到 PostgreSQL 服务器实例并引用启用服务终结点的子网,而不是禁用服务终结点。可以通过PortalAzure CLI完成

于 2020-11-07T01:14:44.703 回答
2

显然,vm 是启用了服务端点标记 Microsoft.sql 的 vnet 的一部分。

我找到了这个答案。为了解决这个问题,我禁用了服务端点并将公共 IP 添加到连接安全部分。

于 2018-06-06T11:07:29.083 回答
1

我遇到了同样的问题。我所做的只是切换Allow access to Azure services到 ON 。

在此处输入图像描述

于 2020-02-19T15:29:45.637 回答