【发布时间】:2011-12-19 06:19:35
【问题描述】:
我想跨多个 Amazon EC2 区域分发分片/复制的 MongoDB 设置。此流量是否已由 MongoDB 加密,或者我可以选择设置它吗?或者亚马逊是否在其数据中心之间提供类似 VPN 的特殊连接?
【问题讨论】:
标签: security networking mongodb amazon-ec2
我想跨多个 Amazon EC2 区域分发分片/复制的 MongoDB 设置。此流量是否已由 MongoDB 加密,或者我可以选择设置它吗?或者亚马逊是否在其数据中心之间提供类似 VPN 的特殊连接?
【问题讨论】:
标签: security networking mongodb amazon-ec2
我昨天回答了一个关于 Apache Cassandra 的类似问题:Securing Cassandra communication with TLS/SSL。
我的经验是,特别是在亚马逊,如果可以的话,可以在您的实例之间建立一个 VPN 网络,以确保一切都是安全的。在 EC2 上实施 VPN 网络时,我们遇到的一个有趣事实是,它缩短了响应时间……我们选择了 Vyatta,到目前为止,我们对此非常满意。它可以完全虚拟化......并允许我们在区域、区域和数据中心(亚马逊和非亚马逊)之间架起桥梁
另一种选择是利用Amazon Virtual Private Cloud:
Vyatta 有一个很好的图表,展示了 VPC 和 Vyatta(或任何其他企业 VPN 解决方案)如何桥接在一起(根据上面的最后一点):
我不为 Vyatta 工作......就像我们在不购买超级昂贵的 cisco 设备的情况下设法让一切正常工作一样
【讨论】:
根据[mongo docs],mongo 可以使用 SSL。要么必须使用 --ssl 标志编译 mongo,要么使用商业版。使用启用 SSL 的 mongo,数据库和客户端之间的所有通信以及副本集和仲裁器之间的通信都是安全的(请参阅faq)。
有没有人真正尝试过这种方法?有什么缺点吗?
【讨论】:
如果您不是在 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/
使用内核中的本机加密,您可以运行得更快。
【讨论】:
跨副本的 Mongo 通信未加密。所以你在你的。您可以跨区域中的可用区创建副本
【讨论】:
您可以自行加密在 EC2 区域之间传输的数据。亚马逊不保证它们与私人渠道连接,因此您必须假设它们正在通过公共网络。
【讨论】: