【问题标题】:Spreading MongoDB across EC2 regions跨 EC2 区域传播 MongoDB
【发布时间】:2011-12-19 06:19:35
【问题描述】:

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

【问题讨论】:

    标签: security networking mongodb amazon-ec2


    【解决方案1】:

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

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

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

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

    Vyatta 有一个很好的图表,展示了 VPC 和 Vyatta(或任何其他企业 VPN 解决方案)如何桥接在一起(根据上面的最后一点):

    我不为 Vyatta 工作......就像我们在不购买超级昂贵的 cisco 设备的情况下设法让一切正常工作一样

    【讨论】:

    • Vyatta:这是一个全新的操作系统,对吧?对我们来说可能变化太大了。任何仅设置 VPN 部分的经验。亚马逊在这方面有什么精选的产品吗?
    • 在某些地区您可以使用 VPC:aws.amazon.com/vpc ... 但是,如果您想扩展到亚马逊之外,则需要增强解决方案
    【解决方案2】:

    根据[mongo docs],mongo 可以使用 SSL。要么必须使用 --ssl 标志编译 mongo,要么使用商业版。使用启用 SSL 的 mongo,数据库和客户端之间的所有通信以及副本集和仲裁器之间的通信都是安全的(请参阅faq)。

    有没有人真正尝试过这种方法?有什么缺点吗?

    【讨论】:

    • 我想知道这个 SSL 支持是否还包括客户端证书身份验证选项以真正锁定它。
    • 我尝试通过使用以下链接启用 SSL 来安装 MongoDB Build MongoDb MongoDB with SSL 我可以通过以下步骤安装它 在上面的链接中,我跳过了所有 scons 并通过以下行安装scons --ssl --prefix=/opt/mongo install 。但是我的应用程序不支持 SSL 连接。
    • @RonaldRandon,我建议在 mongodb-users 组上发布问题
    【解决方案3】:

    如果您不是在 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/

    使用内核中的本机加密,您可以运行得更快。

    【讨论】:

      【解决方案4】:

      跨副本的 Mongo 通信未加密。所以你在你的。您可以跨区域中的可用区创建副本

      【讨论】:

        【解决方案5】:

        您可以自行加密在 EC2 区域之间传输的数据。亚马逊不保证它们与私人渠道连接,因此您必须假设它们正在通过公共网络。

        【讨论】:

        • 在一个区域内是安全的,但是,正确的(即使跨可用区域)?
        • 亚马逊有适当的安全措施,因此其他客户无法访问您在某个区域内的网络流量。但是,如果数据敏感,他们仍然建议您对传输中的数据进行加密。我怀疑大多数客户都会这样做。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-07-20
        • 2012-07-14
        • 1970-01-01
        • 2020-03-08
        • 1970-01-01
        相关资源
        最近更新 更多