跨越EC2区域传播MongoDB

时间:2011-11-01 05:58:36

标签: security networking mongodb amazon-ec2

我想在亚马逊的多个EC2区域分发一个分片/复制的MongoDB设置。此流量是否已由MongoDB加密,还是可以选择设置?或者亚马逊是否在其数据中心之间提供类似VPN的特殊连接?

5 个答案:

答案 0 :(得分:6)

我昨天回答了类似的问题,关于Apache Cassandra:Securing Cassandra communication with TLS/SSL

我的经验是,特别是亚马逊,如果可以的话,在您的实例之间建立VPN网络,以确保一切都是安全的。我们在EC2之上实现VPN网络时遇到的一个有趣的事实是,它使响应时间更快......我们选择了 Vyatta ,并且对此感到非常满意。它可以完全虚拟化......并允许我们在区域,区域和数据中心之间架起桥梁(亚马逊而不是亚马逊)

另一种选择是利用Amazon Virtual Private Cloud

  • 在AWS的可扩展基础架构上创建Amazon虚拟私有云,并在您选择的任何范围内指定其私有IP地址范围。
  • 将您的VPC私有IP地址范围划分为一个或多个公共或私有子网,以便于在您的VPC中运行应用程序和服务。
  • 使用网络访问控制列表控制进出各个子网的入站和出站访问。
  • 将数据存储在Amazon S3中并设置权限,以便只能从Amazon VPC中访问数据。
  • 将Amazon Elastic IP地址附加到您的VPC中的任何实例,以便可以直接从Internet访问。
  • 使用加密的VPN连接桥接您的VPC和现场IT基础架构,将现有的安全和管理策略扩展到您的VPC实例,就像它们在您的基础架构中运行一样。

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区域之间传输的数据。亚马逊不保证他们与私人频道连接,因此您必须假设他们正在通过公共网络。