如何仅通过Azure VM经Private Endpoint访问Synapse Workspace Studio?
故障原因说明
你当前的配置存在两个核心缺失:一是没有为VM所在的VNet1创建指向Synapse工作区Dev子资源的私有端点(你之前创建的SQL on demand托管私有端点是给Synapse托管VNet内部组件调用资源用的,不支持外部VM访问Synapse Studio);二是没有配置对应私有端点的DNS解析规则,导致VM访问Synapse域名时还是解析到已被禁用的公网IP。
修复步骤
1. 创建Synapse工作区私有端点
在VNet1中创建新的私有端点,配置要求如下:
- 目标资源类型选择
Microsoft.Synapse/workspaces,选中你要访问的Synapse工作区 - 目标子资源必须同时勾选3个选项:
Dev:对应Synapse Studio的访问入口,这是你当前缺失的核心配置Sql:对应专用SQL池访问SqlOnDemand:对应无服务器SQL池访问
- 部署子网选择VNet1下的Subnet2即可,和你现有配置对齐
创建完成后完成端点审批,就能在私有端点详情页看到3组对应不同子资源的FQDN和分配的私有IP。
2. 配置VNet私有DNS解析
不需要手动修改VM的hosts文件,通过Azure私有DNS区域配置即可:
- 首先在你的订阅中创建3个私有DNS区域,名称分别为:
privatelink.azuresynapse.netprivatelink.sql.azuresynapse.netprivatelink-ondemand.sql.azuresynapse.net
- 将3个私有DNS区域都绑定到VNet1,绑定过程中开启「自动注册」功能
- 回到刚才创建的Synapse私有端点的DNS配置页,将对应FQDN的A记录分别添加到匹配后缀的私有DNS区域中:
- 后缀为
dev.azuresynapse.net的记录添加到privatelink.azuresynapse.net区域 - 后缀为
sql.azuresynapse.net的记录添加到privatelink.sql.azuresynapse.net区域 - 后缀为
ondemand.sql.azuresynapse.net的记录添加到privatelink-ondemand.sql.azuresynapse.net区域
- 后缀为
3. 验证配置有效性
登录你的Azure VM,打开命令提示符执行以下命令验证DNS解析:
nslookup 你的Synapse工作区名称.dev.azuresynapse.net
如果返回的IP是你刚才为Synapse私有端点分配的私有IP,说明配置生效,此时再访问Synapse Studio即可正常加载。如果仍提示权限错误,确认你登录Synapse的账号有对应工作区的访问角色权限即可。
内容的提问来源于stack exchange,提问作者M. Pheles
相关产品推荐
相关产品推荐

