You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

跨VNet(跨区域)连接Azure PostgreSQL弹性服务器最佳实践及权限问题

问题描述

已部署带身份验证的Azure Database for PostgreSQL 弹性服务器,可从本地环境连接该数据库;同时管理着另一VNet中的应用及VM,也能从本地正常连接。需遵循最佳实践连接这两个跨区域VNet,使其中一个VNet的应用能够访问另一VNet中的源数据库。

权限限制说明

尝试为托管远程数据库的VNet添加对等连接时,系统要求拥有该VNet的访问权限,但当前仅拥有PostgreSQL层面的数据库访问权限,不具备对应VNet的管理权限。

解决方案(无需跨VNet权限的最佳实践)

因为没有目标VNet的管理权限,没法直接配置VNet对等,推荐以下几种符合Azure最佳实践的方案:

1. 使用Azure Private Link(推荐)

  • 为Azure PostgreSQL弹性服务器创建专用终结点,将其部署到你的应用所在的VNet中
  • 应用VNet内的资源可直接通过专用终结点访问PostgreSQL,无需配置VNet对等,也不需要目标VNet的权限
  • 注意:需确保PostgreSQL服务器所在订阅已启用专用链接,且你有PostgreSQL服务器的管理权限(你已具备)来创建专用终结点

2. 请求VNet管理员配置VPN网关

  • 如果团队中有目标VNet的管理员,可请求他们配置跨区域VNet到VNet VPN网关,连接两个VNet
  • 你仅需要在PostgreSQL服务器的防火墙规则中,添加应用VNet的地址范围即可
  • 该方式适合多资源需要跨VNet访问的场景,无需你操作目标VNet

3. 临时方案:跳转VM中转

  • 在应用VNet部署一台跳转VM,通过Azure Bastion连接到这台VM
  • 在跳转VM上配置PostgreSQL客户端,让应用通过这台VM访问目标VNet的PostgreSQL服务器
  • 此为临时应急方案,不推荐长期使用

连接验证

配置完成后,可在应用VNet的VM上执行以下命令测试连接:

psql "host=<PostgreSQL地址> port=5432 dbname=<数据库名> user=<用户名> password=<密码> sslmode=require"

内容的提问来源于stack exchange,提问作者itsavy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 12:22:07