无法连接Azure PostgreSQL灵活服务器:IP地址未找到问题求助
解决Azure PostgreSQL灵活服务器VNet部署后无法连接的问题
针对你在虚拟网络内部署Azure Database for PostgreSQL灵活服务器后,无法通过Azure Bash终端连接,且执行host <server-name>.postgres.database.azure.com出现域名解析失败(NXDOMAIN)的问题,可按以下步骤排查解决:
1. 核对专用DNS区域配置
- 确认专用DNS区域的名称必须是
privatelink.postgres.database.azure.com,这是Azure PostgreSQL专用链接的强制标准名称,自定义名称会导致解析失败。 - 检查DNS区域与目标虚拟网络的链接状态,确保链接已成功创建且状态为已链接。
- 验证DNS区域内的A记录是否正确指向PostgreSQL服务器的专用IP地址,可通过Azure门户的DNS区域记录集查看。
2. 确认终端的网络可达性
- Azure Cloud Shell默认使用公共网络,无法直接访问专用VNet内的资源。若使用Cloud Shell,需配置VNet集成的Cloud Shell,确保其接入目标虚拟网络。
- 若使用本地Bash终端,需确保设备已通过VPN、ExpressRoute或其他方式接入目标VNet的私有网络环境。
3. 检查子网与安全配置
- 确认专用子网未被NSG(网络安全组)或UDR(用户定义路由)阻止DNS查询(UDP 53端口)或PostgreSQL的5432端口连接。
- 验证子网是否已启用
Microsoft.DBforPostgreSQL/flexibleServers服务端点(专用部署模式下通常自动配置,但建议确认)。
4. 验证DNS解析的有效性
- 在目标VNet内的虚拟机上执行
host <server-name>.postgres.database.azure.com或nslookup <server-name>.postgres.database.azure.com,若虚拟机能正常解析,说明终端的网络环境存在问题;若虚拟机也无法解析,需重新检查DNS区域和VNet链接配置。
5. 确认服务器状态
- 在Azure门户检查PostgreSQL灵活服务器是否处于运行中状态,且专用访问模式已正确设置为“虚拟网络集成”。
内容的提问来源于stack exchange,提问作者sgw
相关产品推荐
相关产品推荐

