如何配置仅允许Azure内部流量访问AKS集群IP
配置NSG限制仅Azure内部流量访问AKS集群IP操作指南
前提说明
NSG需要关联到AKS节点所在子网、负载均衡器前端子网或者应用网关所在子网,才能对访问流量做过滤。
场景1:AKS通过负载均衡器暴露服务
公共负载均衡器配置
- 找到关联对应子网的NSG,进入入站安全规则配置页
- 先添加优先级为100的允许规则:
- 源:选择
Service Tag,源服务标签选AzureCloud.<你的AKS所在区域>,源端口范围填* - 目标:选择
IP地址,目标IP范围填AKS服务暴露的负载均衡器公网IP/服务CIDR,目标端口填你开放的服务端口(例如80、443) - 协议按需选择TCP/UDP,动作选
允许
- 源:选择
- 再添加优先级为200的拒绝规则:
- 源选
Any,源端口范围填* - 目标、目标端口和上一条规则保持一致,动作选
拒绝
- 源选
如果你有跨区域的Azure内部服务需要访问,源服务标签可以直接选
AzureCloud覆盖所有Azure区域的内部流量,无需指定具体区域。
内部负载均衡器(ILB)配置
配置逻辑更简单:
- 允许规则的源直接选服务标签
VirtualNetwork,或者填你Azure内部的VNet CIDR、对等VNet CIDR,其余配置和上述公共负载均衡器的允许规则一致 - 最后添加全局拒绝其他来源访问对应端口的规则即可
场景2:AKS通过应用网关(AGW)作为入口
根据你的部署架构任选一种配置方式即可:
方式一:NSG关联应用网关所在子网
- 添加入站允许规则:源为
AzureCloud或者你指定的内部VNet CIDR,目标为应用网关前端IP,端口为开放的服务端口,动作选允许 - 添加入站拒绝规则:源为
Any,目标为应用网关前端IP,对应端口动作选拒绝 - 必须保留应用网关默认要求的两条允许规则,否则AGW会无法正常工作:
- 允许源为
GatewayManager的65200-65535端口入站 - 允许源为
AzureLoadBalancer的健康探测端口入站
- 允许源为
方式二:NSG关联AKS节点所在子网
- 允许规则的源直接填应用网关的后端子网CIDR,目标为AKS节点的Pod CIDR/服务CIDR,对应端口动作选
允许 - 最后添加拒绝其他所有来源访问对应端口的规则即可
配置验证
配置完成后分别做访问测试:
- Azure内部环境能正常访问AKS服务,公网环境访问被拒绝/超时,说明配置生效
- 若有异常可以查看NSG流量日志,确认规则命中情况排查问题
内容的提问来源于stack exchange,提问作者abs
相关产品推荐
相关产品推荐

