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

Azure PostgreSQL灵活服务器VNet集成私有DNS解析异常咨询

根因分析与修复方案

公网环境可同时ping通两个域名的原因

  • 服务器默认域名my-dev-db.postgres.database.azure.com本身自带公网权威解析记录:只要部署PostgreSQL灵活服务器时没有完全禁用公网访问(即使配置了公网访问白名单限制源IP),该域名默认就会绑定服务分配的公网IP,公网环境可正常解析ping通属于默认配置逻辑下的正常现象。
  • 自定义域名my-dev.postgres.database.azure.com可在公网被解析属于配置错误,常见两种触发场景:
    • 创建的是公网DNS区域而非私有DNS区域,导致该域名的记录被同步到公网DNS递归节点,所有公网环境都可查询到解析结果
    • 本地设备缓存了之前测试时留存的错误解析记录,可通过指定公共DNS服务器执行nslookup my-dev.postgres.database.azure.com 8.8.8.8验证:如果返回NXDOMAIN即为本地缓存问题,执行ipconfig /flushdns(Windows)或sudo systemd-resolve --flush-caches(Linux)清理缓存即可;如果返回有效IP则确认是DNS区域类型创建错误。

同VNet虚拟机无法解析自定义私有DNS域名的原因

该问题均为私有DNS配置缺失导致,手写Bicep部署时漏配以下任意一项都会触发该现象:

  • 未创建私有DNS区域到目标VNet的虚拟网络链接:私有DNS区域不会自动对同区域/同资源组的VNet生效,必须显式配置VNet链接才能让关联VNet内的资源查询到该区域内的解析记录,这是手写Bicep/ARM模板时最高发的漏配项(门户可视化部署私有DNS集成时会自动创建该链接,无需手动操作)。
  • 未在私有DNS区域内添加对应解析记录:仅创建空的私有DNS区域不会自动生成自定义域名的记录,需要手动添加名为my-dev的A记录,指向PostgreSQL灵活服务器的VNet集成私有IP;注意不要配置CNAME记录指向服务默认公网域名,否则VNet内解析会绕到公网导致连接失败。
  • VNet配置了自定义DNS服务器未做转发:如果VNet没有使用Azure默认DNS服务器168.63.129.16,需要在自定义DNS服务器上配置条件转发规则,将postgres.database.azure.com后缀的解析请求转发到Azure私有DNS服务节点,否则自定义DNS无法返回私有区域的解析结果。

Bicep配置修复参考

补全以下配置段即可解决私有DNS解析问题:

// 私有DNS区域定义
resource customPsqlDnsZone 'Microsoft.Network/privateDnsZones@2023-09-01' = {
  name: 'my-dev.postgres.database.azure.com'
  location: 'global'
}

// 关键配置:绑定私有DNS区域到数据库所在VNet
resource dnsVnetLink 'Microsoft.Network/privateDnsZones/virtualNetworkLinks@2023-09-01' = {
  parent: customPsqlDnsZone
  name: 'link-psql-dns-to-dev-vnet'
  location: 'global'
  properties: {
    registrationEnabled: false
    virtualNetwork: {
      id: psqlVnetId // 替换为PostgreSQL服务所在VNet的资源ID
    }
  }
}

// 添加自定义域名的A记录指向数据库私有IP
resource customDomainRecord 'Microsoft.Network/privateDnsZones/A@2023-09-01' = {
  parent: customPsqlDnsZone
  name: 'my-dev'
  properties: {
    ttl: 300
    aRecords: [
      {
        ipv4Address: psqlPrivateIp // 替换为PostgreSQL灵活服务器的VNet接入私有IP
      }
    ]
  }
}

部署完成后可在同VNet虚拟机内执行nslookup my-dev.postgres.database.azure.com验证解析结果,返回数据库私有IP即为配置生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 15:54:30