我想在亚马逊的多个EC2区域分发一个分片/复制的MongoDB设置。此流量是否已由MongoDB加密,还是可以选择设置?或者亚马逊是否在其数据中心之间提供类似VPN的特殊连接?
答案 0 :(得分:6)
我昨天回答了类似的问题,关于Apache Cassandra:Securing Cassandra communication with TLS/SSL。
我的经验是,特别是亚马逊,如果可以的话,在您的实例之间建立VPN网络,以确保一切都是安全的。我们在EC2之上实现VPN网络时遇到的一个有趣的事实是,它使响应时间更快......我们选择了 Vyatta ,并且对此感到非常满意。它可以完全虚拟化......并允许我们在区域,区域和数据中心之间架起桥梁(亚马逊而不是亚马逊)
另一种选择是利用Amazon Virtual Private Cloud:
Vyatta有一个很好的图形显示VPC和Vyatta(或任何其他公司VPN解决方案)如何能够连接在一起(按照上面的最后一点):
我不为Vyatta工作......就像我们在没有购买大型昂贵的cisco齿轮的情况下我们能够完成所有工作一样
答案 1 :(得分:2)
根据[mongo docs],mongo可能会使用SSL。要么必须使用--ssl标志编译mongo或使用商业版。使用支持SSL的mongo,DB和客户端之间的所有通信以及副本集和仲裁器之间的通信都是安全的(参见faq)。
有没有人真正尝试过这种方法?有什么缺点吗?
答案 2 :(得分:1)
如果你没有在EC2上运行,这些解决方案实际上不是一个选择。还有另一种方法,那就是建立自己的IaaS提供商独立的VPC。 vCider有一个解决方案,适用于Mongo和Cassandra。对于Cassandra来说,保护客户端/数据库流量特别痛苦,因为没有本机加密。
这一切如何运作的好例子:
http://www.vcider.com/vpc-deployments/secure-saas
就Cassandra而言,这里有一些基准信息。
http://blog.vcider.com/2011/09/virtual-networks-can-run-cassandra-up-to-60-faster/
在内核中使用本机加密可以更快地运行。
答案 3 :(得分:1)
跨副本的Mongo通信未加密。所以你就在你的身上。您可以在区域中的可用区域中创建副本
答案 4 :(得分:0)
您可以自行加密EC2区域之间传输的数据。亚马逊不保证他们与私人频道连接,因此您必须假设他们正在通过公共网络。