![通过 WAN 集群基础设施实现站点间链接](https://linux22.com/image/799488/%E9%80%9A%E8%BF%87%20WAN%20%E9%9B%86%E7%BE%A4%E5%9F%BA%E7%A1%80%E8%AE%BE%E6%96%BD%E5%AE%9E%E7%8E%B0%E7%AB%99%E7%82%B9%E9%97%B4%E9%93%BE%E6%8E%A5.png)
我计划使用 Opscode Chef 部署一个由 11 个节点组成的基础设施,以提供高可用性 Web 应用程序。我想将节点分散到各个数据中心以实现可用性,为此,我考虑使用 rrDNS,它可以解析为两个负载均衡器之一,每个负载均衡器都位于单独的数据中心,并具有自己的集群节点(为应用程序提供 nginx、memcached 和 Sphinx)。第三个 DC 将用于 MySQL 主/从安排,因为我读到过复制在 WAN 上的表现不佳。此解决方案不会出现单点故障。
我的问题是关于这些节点应该如何相互连接?这些服务传输的所有信息通常都应通过短 LAN 连接进行传输,因此不提供内置安全性,这意味着我需要在链接本身上提供此安全性。
我考虑使用 SOCKS 隧道或 VPN 来实现这一点。后者可以同时提高节点本身的安全性,因为它们不需要在其 Internet 接口上公开多个服务,而只需公开 OpenVPN 的一个实例即可。
对于在这种基础设施中提供节点之间的链接的解决方案,您有何想法?
答案1
所以我认为你已经有了答案。VPN 是解决问题的办法。它几乎适用于任何数据中心或云解决方案。
现在,如果您是托管或拥有自己的基础设施,您还有另一个不错的选择。EVPL(以太网虚拟专用线路)基本上是站点之间的专用连接,大多数主要 ISP 都可以为此提供解决方案。您还可以研究专线。
我以前使用过 EVPL,它们为这种类型的站点间通信提供了很好的解决方案。为了增加冗余度,一个好主意是创建一个 VPN 作为 EVPL 发生故障时数据的辅助路径。
答案2
如果这是节点到节点的通信,并且你不是在可以建立私有链接(或基于防火墙的 VPN 隧道)的情况下,我建议使用点对点客户端解决方案,称为ntop 中的 n2n。
这一切都需要用超级节点,但这很容易成为 Chef 系统。我使用这种方法SNMP 监控我没有 VPN 或无法控制远程防火墙的系统。