Azure VM通过专用端点访问Cosmos DB:公共URL解析私网IP失败求助
问题分析与解决
这种情况不正常,正常配置下访问Cosmos DB的公共域名时,应该解析到专用端点的私网IP。
问题原因
你的配置错误使用了自定义专用DNS区域(myprivatedns.com),而非Cosmos DB专用链接对应的标准专用DNS区域(privatelink.documents.azure.com)。
当创建Cosmos DB专用端点时,Azure会自动将公共域名mycosmos.documents.azure.com CNAME到mycosmos.privatelink.documents.azure.com。只有当privatelink.documents.azure.com这个标准专用DNS区域与VM所在VNET关联,且包含对应A记录时,才能将专用链接域名解析到私网IP。当前配置中,该标准区域要么未创建、未关联VNET,要么缺少A记录,导致解析最终指向公共IP。
修复步骤
- 创建/确认标准专用DNS区域:确保存在名称为
privatelink.documents.azure.com的专用DNS区域 - 关联VNET到专用DNS区域:将VM所在的虚拟网络链接到
privatelink.documents.azure.com专用DNS区域 - 添加A记录:在
privatelink.documents.azure.com区域中添加A记录:- 名称:
mycosmos - IP地址:
10.236.49.157(你的专用端点私网IP)
- 名称:
- 验证解析:从VM重新执行
nslookup mycosmos.documents.azure.com,此时应返回私网IP10.236.49.157
补充验证
你当前公共域名的nslookup结果:
nslookup mycosmos.documents.azure.com Server:127.0.0.53 Address:127.0.0.53#53 Non-authoritative answer: mycosmos.documents.azure.com canonical name = mycosmos.privatelink.documents.azure.com. mycosmos.privatelink.documents.azure.com canonical name = cdb-ms-prod-westeurope1-f679.cloudapp.net. Name:cdb-ms-prod-westeurope1-fd89.cloudapp.net Address: 13.29.16.48
可见mycosmos.privatelink.documents.azure.com被解析到公共域名,说明该专用链接域名未被专用DNS区域覆盖,走了公共DNS解析。
自定义域名的解析结果:
nslookup mycosmos.myprivatedns.com Server:127.0.0.53 Address:127.0.0.53#53 Non-authoritative answer: Name:mycosmos.myprivatedns.com Address: 10.236.49.157
这仅说明自定义专用DNS区域配置正确,但并非Azure专用端点的标准配置方式。
内容的提问来源于stack exchange,提问作者Container-Man
相关产品推荐
相关产品推荐

