【问题标题】:how to connect MongoDB Atlas to GCP(Google Cloud Platform)?如何将 MongoDB Atlas 连接到 GCP(谷歌云平台)?
【发布时间】:2020-07-05 15:39:34
【问题描述】:

我尝试将托管在 google cloud platform(gcp) app Engine 上的应用连接到我的 Mongo Atlas DB。 Mongo 想让我将 gcp 应用 ip 列入白名单。 但是 gcp 没有静态 IP 供我列入白名单。

我想确保应用安全最佳实践,据我了解,将所有 ips 的数据库列入白名单并不安全。那么如何在不打开所有ip的情况下做到这一点呢?

【问题讨论】:

    标签: mongodb google-cloud-platform mongodb-atlas


    【解决方案1】:

    您有 2 个解决方案

    从这个示例中,我们看到 8.34.208.0/20 和 8.35.192.0/21 IP 范围都可以用于 App Engine 流量。对任何其他网络块的其他查询可能会返回其他 IP 范围。

    请注意,使用静态 IP 地址过滤并不是一种安全有效的保护手段。例如,攻击者可以设置恶意 App Engine 应用程序,该应用程序可以与您的应用程序共享相同的 IP 地址范围。相反,我们建议您使用 OAuth 和 Certs 采取深度防御方法。

    • 您可以执行 VPC 对等互连。这需要几件事
    1. 已付费订阅 Mongo Atlas
    2. 创建{Mongo Atlas 和您的项目之间的对等互连](https://docs.atlas.mongodb.com/security-vpc-peering/)
    3. 创建一个serverless VPC connector and add it to your App Engine to allow it to reach private IP on the VPC(并将对等连接附加到 VPC,例如您的 Mongo Atlas DB)

    【讨论】:

      【解决方案2】:

      您可以选择在创建 VM 时保留静态 IP。

      在“创建实例”页面上,滚动到“网络”,您会看到您的选项 一、内部IP 二、外部IP

      【讨论】:

        【解决方案3】:

        如果您在 Atlas 上运行 M10-Cluster(或更高版本),VPC-Peering 是您的理想之选。我建议尝试this tutorial。他们正在解释将哪些 CIDR 范围(您称为 IP)列入白名单。

        这里需要注意的一点是,他们使用的是 GCP Kubernetes Engine。使用 App Engine 需要付出一些额外的努力,因为它是 GCP 的“无服务器”解决方案之一,这就是为什么您不应该使用静态 IP 或类似的东西的原因。您需要通过连接器将您的应用程序连接到 VPC 网络:

        1. 在与您的 GAE 应用程序相同的区域中创建一个连接器 these instructions。您可以找到您当前所在的地区 GAE-App 与 gcloud app 描述。只需给连接器范围 10.8.0.0 现在(/28 会自动添加)。记住名字 你给的。

        2. 根据您的环境,您的应用必须指向该连接器。在 NodeJS 中,它是你的 app.yaml 文件,它看起来类似于:

             runtime: nodejs10
        
             vpc_access_connector:
                 name: projects/GCLOUD_PROJECT_ID/locations/REGION_WHERE_GAE_RUNS/connectors/NAME_YOU_ENTERED_IN_STEP_1
        
        1. 转到您的 Atlas 项目,导航到网络访问和白名单 您在第 1 步中为连接器设置的 CIDR 范围
        2. 您可能还需要将步骤 1 中的 CIDR 范围列入白名单,以便 VPC-网络。您可以通过导航到 VPC-Network -> 在 GCP 中执行此操作 防火墙

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-12-27
          • 2015-08-17
          • 2017-04-11
          • 2022-01-10
          • 2017-03-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多