跨订阅/租户同区域AKS集群公网访问存储账户白名单配置咨询
解决方案
你的问题根源在于:AKS集群默认出站流量可能使用动态SNAT池IP,而非单个固定公网IP,直接添加单个IP到白名单无法覆盖所有出站请求,导致规则不生效。以下是几种可行的公网端点白名单方法:
添加AKS出站公共IP前缀到白名单
如果你的AKS集群已配置出站公共IP前缀,直接将该前缀(例如20.12.34.0/24)添加到存储账户的防火墙白名单中。AKS的出站流量会从该前缀内的IP发起,可覆盖所有集群出站请求。配置AKS使用固定出站公网IP
- 在AKS所在订阅下创建静态公共IP(确保SKU为Standard,与AKS负载均衡器SKU匹配)。
- 更新AKS集群的出站配置,指定使用这个静态IP作为唯一出口:
az aks update --name <集群名称> --resource-group <资源组> --outbound-type loadBalancer --load-balancer-outbound-ips <静态IP资源ID> - 将该静态公网IP添加到存储账户的防火墙白名单,此时集群所有出站流量都会从这个固定IP发起,规则即可生效。
跨租户/订阅VNET服务端点授权(需对方配合)
即使不在同一租户/订阅,也可通过以下步骤配置:- 让AKS集群所在的VNET管理员配置存储服务端点(指向Microsoft.Storage)。
- 在你的存储账户防火墙设置中,添加对方VNET的资源ID(格式:
/subscriptions/<订阅ID>/resourceGroups/<资源组>/providers/Microsoft.Network/virtualNetworks/<VNET名称>)到白名单。 - 确保对方VNET的服务端点已启用,且你的存储账户允许该VNET的访问,这种方式通过服务端点身份验证授权,无需依赖公网IP。
内容的提问来源于stack exchange,提问作者axk
相关产品推荐
相关产品推荐

