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

Hub-Spoke架构中跨VNet VM通过Azure门户访问存储账户Private Endpoint失败排查

问题:Hub-Spoke架构下跨VNet的VM无法通过Azure门户访问带Private Endpoint的存储账户

环境配置

  • 采用Hub-Spoke架构,中心VNet部署Azure Firewall
  • 3个独立VNet:分别承载Azure Firewall、业务VM、存储账户的Private Endpoint
  • 已创建对应存储服务的Private DNS Zone(如privatelink.blob.core.windows.net等),并关联至中心VNet
  • Azure Firewall配置了Private DNS Zone的条件转发规则,指向Azure DNS(168.63.129.16)
  • 所有子网的路由表均配置默认路由,引导流量经过Azure Firewall
  • VM可正常解析存储账户的私有IP

问题现象

VM通过Azure门户访问存储账户容器时,仍收到「需将公网IP添加至存储账户网络允许列表」的提示,无法正常访问。


排查思路及调整建议

1. 明确Azure门户的流量逻辑

通过Azure门户访问存储账户时,实际存储操作由Azure门户的后台服务发起,而非你的本地浏览器或VM。如果存储账户仅开放Private Endpoint访问,且未授权Microsoft服务访问,门户后台无法通过Private Endpoint连接存储,就会触发公网IP添加提示。

  • 检查存储账户「网络」设置:在「选定的网络」模式下,是否勾选了允许受信任的Microsoft服务访问此存储账户?未勾选的话直接启用该选项。

2. 验证Private Endpoint与DNS配置

  • 确认存储账户的Private Endpoint状态为「已连接」,且关联的VNet为指定的Private Endpoint承载VNet
  • 检查Private DNS Zone是否关联至VM所在的Spoke VNet:虽然VM能解析私有IP,但仅关联中心VNet可能存在DNS传播延迟,补充关联Spoke VNet可避免解析异常
  • 在VM上执行nslookup <storage-account-name>.blob.core.windows.net,确认返回结果为Private Endpoint的私有IP,而非公网IP

3. 检查Azure Firewall规则

  • 确认Firewall的应用规则允许VM所在VNet到存储账户Private Endpoint IP段的HTTPS(443端口)流量
  • 查看Firewall日志,过滤VM到存储私有IP的443流量,排查是否存在被拒绝的条目
  • 检查是否有NAT规则或自定义路由意外阻断了私有网络流量

4. 验证子网路由配置

  • 确认VM所在子网的路由表中,存在指向Azure Firewall的、针对存储Private Endpoint IP段的具体路由(而非仅默认路由)
  • 确认存储Private Endpoint所在子网的路由表,允许来自中心VNet(Firewall)的流量进入

5. 绕过门户直接测试存储连通性

在VM上执行以下命令,排除门户本身的权限问题,验证VM到存储的Private Endpoint路径是否通畅:

# 安装Azure CLI(若未安装)
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash

# 以VM系统身份登录Azure
az login --identity

# 列出存储账户容器
az storage container list --account-name <你的存储账户名>

如果命令能正常返回容器列表,说明网络路径正常,问题仅出在门户权限配置;若命令失败,回到网络规则和路由的排查步骤。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 11:43:10