将 cloud foundry 连接到 mongodb atlas 的推荐方法
Recommended way to connect cloud foundry to mongodb atlas
我有一个连接到 mongodb atlas 的 spring 启动应用程序。
一切都在本地工作。
我现在想将此发布到 Pivotal Cloud Foundry。
PCF 和 atlas 之间的安全连接
在mongodb atlas 中我需要打开防火墙并允许特定的ip 号码。
我应该如何配置 mongodb atlas 以最安全的方式连接到 pcf?
自动配置妨碍
cloud foundry 正在覆盖我的连接 url 以指向 localhost:27017 而不是我的 atlas 集群。
连接到 mongodb atlas 的推荐方法是什么?
In mongodb atlas I need to open up the firewall an allow certain ip numbers. How should I configure mongodb atlas to connect to pcf in the most secure way?
CF 上 运行 应用程序的 IP 地址白名单不是特别有效。它无效的原因是您不知道要连接的 IP 地址,因为这取决于 Diego 决定 运行 您的应用程序的位置。换句话说,这取决于您的应用程序被告知 运行 所在的单元格。更复杂的是,当您重新启动/重新启动您的应用程序时,这将会改变。
由于 IP 可能不同,您最终需要做的是将所有 Cell 列入白名单。这个问题及其无效的原因是您最终将平台上的每个应用 运行ning 列入白名单。
您可以使用应用程序安全组来稍微提高安全性。 ASG 可用于限制传出流量。您还可以在 space 级别控制它们。这意味着您可以将默认 运行ning 安全组配置为不允许访问您的 MongoDb 服务器,但您可以通过将 ASG 绑定到仅那些 spaces 需要与您的 MongoDb 服务器通信的应用程序。
这种方法的缺点是它要求您是平台管理员,这意味着它只有在您拥有自己的 CF 安装时才有效(不适用于 public 提供商)。
这里有更多关于 ASG 的信息:https://docs.cloudfoundry.org/adminguide/app-sec-groups.html
对于 public 提供者,您可以使用代理。要使其正常工作,您需要将您的应用程序配置为在尝试访问您的 Mongodb 服务器时通过代理进行通信。您控制具有固定 IP 的代理,因此您可以将代理列入白名单以允许仅访问您的应用程序。如果您不想 运行 您自己的代理服务器,可以使用 public 代理提供商。
cloud foundry is overriding my connection urls to point to localhost:27017 instead of my atlas cluster. What is the recommended way to connect to mongodb atlas?
可以禁用自动配置。此处的文档中描述了一种方法。如果您包含 Spring Cloud Connector 依赖项并手动使用它们,则自动配置将不会 运行。
https://docs.cloudfoundry.org/buildpacks/java/spring-service-bindings.html#manual
另一个选项是告诉 Java 构建包不要安装自动配置。您可以通过 cf set-env
或通过 manifest.yml 文件为您的应用程序设置以下环境变量。
例如:JBP_CONFIG_SPRING_AUTO_RECONFIGURATION='[enabled: false]'
执行此操作时请小心,因为它会禁用自动重新配置提供的所有功能,包括为您的应用设置 "cloud" 配置文件。如果您使用此选项禁用自动重新配置,您可能还需要设置 SPRING_PROFILES_ACTIVE='cloud'
以手动启用云配置文件。
我想您的另一个选择是简单地接受自动配置。一开始有点困惑/神奇,但我发现这篇文章解释得很好。
https://spring.io/blog/2015/04/27/binding-to-data-services-with-spring-boot-in-cloud-foundry
希望对您有所帮助!
我有一个连接到 mongodb atlas 的 spring 启动应用程序。 一切都在本地工作。
我现在想将此发布到 Pivotal Cloud Foundry。
PCF 和 atlas 之间的安全连接
在mongodb atlas 中我需要打开防火墙并允许特定的ip 号码。 我应该如何配置 mongodb atlas 以最安全的方式连接到 pcf?
自动配置妨碍
cloud foundry 正在覆盖我的连接 url 以指向 localhost:27017 而不是我的 atlas 集群。 连接到 mongodb atlas 的推荐方法是什么?
In mongodb atlas I need to open up the firewall an allow certain ip numbers. How should I configure mongodb atlas to connect to pcf in the most secure way?
CF 上 运行 应用程序的 IP 地址白名单不是特别有效。它无效的原因是您不知道要连接的 IP 地址,因为这取决于 Diego 决定 运行 您的应用程序的位置。换句话说,这取决于您的应用程序被告知 运行 所在的单元格。更复杂的是,当您重新启动/重新启动您的应用程序时,这将会改变。
由于 IP 可能不同,您最终需要做的是将所有 Cell 列入白名单。这个问题及其无效的原因是您最终将平台上的每个应用 运行ning 列入白名单。
您可以使用应用程序安全组来稍微提高安全性。 ASG 可用于限制传出流量。您还可以在 space 级别控制它们。这意味着您可以将默认 运行ning 安全组配置为不允许访问您的 MongoDb 服务器,但您可以通过将 ASG 绑定到仅那些 spaces 需要与您的 MongoDb 服务器通信的应用程序。
这种方法的缺点是它要求您是平台管理员,这意味着它只有在您拥有自己的 CF 安装时才有效(不适用于 public 提供商)。
这里有更多关于 ASG 的信息:https://docs.cloudfoundry.org/adminguide/app-sec-groups.html
对于 public 提供者,您可以使用代理。要使其正常工作,您需要将您的应用程序配置为在尝试访问您的 Mongodb 服务器时通过代理进行通信。您控制具有固定 IP 的代理,因此您可以将代理列入白名单以允许仅访问您的应用程序。如果您不想 运行 您自己的代理服务器,可以使用 public 代理提供商。
cloud foundry is overriding my connection urls to point to localhost:27017 instead of my atlas cluster. What is the recommended way to connect to mongodb atlas?
可以禁用自动配置。此处的文档中描述了一种方法。如果您包含 Spring Cloud Connector 依赖项并手动使用它们,则自动配置将不会 运行。
https://docs.cloudfoundry.org/buildpacks/java/spring-service-bindings.html#manual
另一个选项是告诉 Java 构建包不要安装自动配置。您可以通过 cf set-env
或通过 manifest.yml 文件为您的应用程序设置以下环境变量。
例如:JBP_CONFIG_SPRING_AUTO_RECONFIGURATION='[enabled: false]'
执行此操作时请小心,因为它会禁用自动重新配置提供的所有功能,包括为您的应用设置 "cloud" 配置文件。如果您使用此选项禁用自动重新配置,您可能还需要设置 SPRING_PROFILES_ACTIVE='cloud'
以手动启用云配置文件。
我想您的另一个选择是简单地接受自动配置。一开始有点困惑/神奇,但我发现这篇文章解释得很好。
https://spring.io/blog/2015/04/27/binding-to-data-services-with-spring-boot-in-cloud-foundry
希望对您有所帮助!