Azure中子网到子网对等连接:实现预生产与生产环境隔离
跨订阅VNET环境下的子网级访问隔离方案
核心实现逻辑
你需要实现的是预生产应用仅能访问预生产数据库子网、生产应用仅能访问生产数据库子网的隔离效果,由于VNET对等连接默认会打通两个VNET的所有子网,因此必须结合VNET对等+网络安全组(NSG)的细粒度流量控制来实现子网级的访问限制。
分步操作指南
创建跨订阅VNET对等连接
- 分别建立两组对等:预生产应用VNET ↔ 数据库VNET,生产应用VNET ↔ 数据库VNET。跨订阅对等需要双方订阅的权限授权,创建时需准确填写对方VNET的资源ID。
- 对等配置时勾选「允许转发流量」(确保应用能主动访问数据库),无需勾选「允许网关传输」(除非用到VPN/ExpressRoute网关)。
配置数据库子网的NSG访问规则
- 针对生产数据库子网的NSG:
- 添加高优先级(如100)的入站规则:仅允许生产应用VNET对应子网的IP段(例如
10.1.0.0/24)访问数据库服务端口(如SQL的1433)。 - 保留默认的「拒绝所有入站流量」规则(优先级设为4096),拦截未被允许的流量。
- 添加高优先级(如100)的入站规则:仅允许生产应用VNET对应子网的IP段(例如
- 针对预生产数据库子网的NSG:
- 添加高优先级的入站规则:仅允许预生产应用VNET对应子网的IP段(例如
10.2.0.0/24)访问数据库服务端口。 - 保留默认的「拒绝所有入站流量」规则。
- 添加高优先级的入站规则:仅允许预生产应用VNET对应子网的IP段(例如
- 针对生产数据库子网的NSG:
应用子网NSG规则加固(可选但推荐)
- 生产应用子网NSG:添加出站规则,仅允许流量发往生产数据库子网的IP段及对应端口,拒绝发往预生产数据库子网的所有流量。
- 预生产应用子网NSG:添加出站规则,仅允许流量发往预生产数据库子网的IP段及对应端口,拒绝发往生产数据库子网的所有流量。
这一步从应用侧做双向隔离,避免误发起跨环境访问。
验证隔离有效性
- 尝试用预生产应用服务器连接生产数据库,应被NSG拦截,无法建立连接。
- 尝试用生产应用服务器连接预生产数据库,同样会被拦截。
- 确认各自环境内的应用与数据库连接正常。
关键注意事项
- 跨订阅对等的两个VNET IP地址段不能重叠,否则无法创建对等连接,需提前规划IP段。
- NSG规则优先级决定执行顺序,更具体的允许规则必须放在默认拒绝规则之前。
- 若数据库是PaaS服务(如Azure SQL),可结合虚拟网络服务端点+防火墙规则实现类似隔离,但针对子网内的IaaS数据库,NSG已足够满足需求。
内容的提问来源于stack exchange,提问作者Maninder Chhabra
相关产品推荐
相关产品推荐

