【问题标题】:Recommended way to connect cloud foundry to mongodb atlas将cloud Foundry连接到mongodb atlas的推荐方式
【发布时间】:2017-02-26 14:21:05
【问题描述】:

我有一个连接到 mongodb atlas 的 spring boot 应用程序。 一切都在本地运行。

我现在想将其发布到关键云代工厂。

PCF 和 atlas 之间的安全连接

在 mongodb atlas 中,我需要打开防火墙并允许某些 ip 号码。 我应该如何配置 mongodb atlas 以最安全的方式连接到 pcf?

自动配置妨碍

cloud foundry 正在覆盖我的连接 URL 以指向 localhost:27017 而不是我的 atlas 集群。 连接mongodb图集的推荐方式是什么?

【问题讨论】:

    标签: mongodb spring-boot cloud-foundry mongodb-atlas


    【解决方案1】:

    在 mongodb atlas 中,我需要打开防火墙并允许某些 ip 号码。我应该如何配置 mongodb atlas 以最安全的方式连接到 pcf?

    将在 CF 上运行的应用程序的 IP 地址列入白名单并不是特别有效。它无效的原因是您不知道要连接的 IP 地址,因为这取决于 Diego 决定在哪里运行您的应用程序。换句话说,它取决于您的应用程序被告知运行的单元格。更复杂的是,当您重新启动/重新部署应用程序时,情况会发生变化。

    由于 IP 可能会有所不同,因此您最终需要做的是将所有单元列入白名单。这样做的问题以及它为何无效的原因在于,您最终将平台上运行的每个应用都列入了白名单。

    您可以做一些提高安全性的方法是利用应用程序安全组。 ASG 可用于限制传出流量。您还可以在空间级别控制它们。这意味着您可以将默认运行的安全组配置为不允许访问您的 MongoDb 服务器,但您可以通过将 ASG 绑定到仅具有需要与您的 MongoDb 服务器通信的应用程序的空间来允许访问各个空间。

    这种方法的缺点是它要求您是平台管理员,这意味着它只有在您拥有 CF 安装时才有效(不适用于公共提供商)。

    更多关于 ASG 的信息在这里:https://docs.cloudfoundry.org/adminguide/app-sec-groups.html

    对于公共提供商,您可以使用代理。为了使这个工作,您需要将您的应用程序配置为在尝试访问您的 Mongodb 服务器时通过代理进行通信。您控制具有固定 IP 的代理,因此您可以将代理列入白名单以仅允许访问您的应用程序。如果您不想运行自己的代理服务器,可以使用公共代理提供程序。

    cloud foundry 正在覆盖我的连接 URL 以指向 localhost:27017 而不是我的 atlas 集群。连接mongodb图集的推荐方式是什么?

    可以禁用自动配置。此处的文档中描述了一种方法。如果您包含 Spring Cloud Connectors 依赖项并手动使用它们,则自动配置将不会运行。

    https://docs.cloudfoundry.org/buildpacks/java/spring-service-bindings.html#manual

    另一个选项是告诉 Java 构建包不要安装自动配置。您可以通过使用cf set-env 或通过 manifest.yml 文件为您的应用程序设置以下环境变量来做到这一点。

    例如:JBP_CONFIG_SPRING_AUTO_RECONFIGURATION='[enabled: false]'

    如果您这样做,请小心,因为它会禁用自动重新配置提供的所有内容,其中包括为您的应用设置“云”配置文件。如果您使用此选项禁用自动重新配置,您可能还需要设置 SPRING_PROFILES_ACTIVE='cloud' 以手动启用云配置文件。

    我想您的另一个选择是简单地接受自动配置。起初这有点令人困惑/神奇,但我发现这篇文章很好地解释了它。

    https://spring.io/blog/2015/04/27/binding-to-data-services-with-spring-boot-in-cloud-foundry

    希望有帮助!

    【讨论】:

      猜你喜欢
      • 2019-10-10
      • 2020-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-05
      • 2021-06-25
      相关资源
      最近更新 更多