多子网Azure SQL Server AG集群配置Private Link Service的方案咨询
你的思路有一定合理性,但并非只能退回传统带前端LB的部署方式,还有更优方案可以兼顾多子网AG的特性和Private Link Service(PLS)的需求:
方案1:用单台标准层内部LB作为PLS的绑定载体(推荐)
只在主副本子网部署一台标准层内部LB,将AG的主副本VM加入LB的后端池,配置LB的前端IP为静态私有IP后,把PLS绑定到这个LB上。
这里的LB仅作为PLS要求的绑定对象,不承担AG的流量路由工作——AG的流量仍然依靠多子网原生机制自动切换。当AG故障切换到副本子网时,客户端会通过多子网AG的特性自动路由到新主副本的IP,而PLS始终指向LB的静态IP,无需修改配置。这种方式既满足了PLS的绑定要求,又保留了多子网AG无前端LB的优势,复杂度远低于给每个子网建LB。方案2:临时场景可直接用Private Endpoint指向主副本VM
直接创建Private Endpoint指向AG当前的主副本VM,但这种方式有明显缺陷:AG故障切换后,Private Endpoint需要手动或通过脚本更新指向新主副本,可用性和自动化程度低,仅适合测试或临时需求。方案3:退回传统LB+DNN/VNN部署(稳妥选项)
如果业务对架构复杂度容忍度低,回到带前端LB的传统部署方式确实是稳妥选择。这种架构下,LB既承担AG的流量路由,又能直接绑定PLS,架构更统一,运维成本更低,适合对稳定性要求极高、不想额外维护LB配置的场景。
总结:若想保留多子网AG的优势,优先选择方案1;若追求架构简单稳定,方案3更合适。
内容的提问来源于stack exchange,提问作者Rahul

