0

mongodbアトラスに接続された春の起動アプリケーションがあります。 すべてがローカルで動作しています。クラウドファウンドリーをmongodbアトラスに接続するための推奨方法

私は現在、これを枢要なクラウドファウンドリーに公開したいと考えています。 PCFとアトラス私は特定のIP番号をファイアウォールを開くANできるようにする必要があるMongoDBのアトラスで

セキュアな接続。 最も安全な方法でpcfに接続するためにmongodbアトラスをどのように設定すればよいですか?

自動設定が邪魔になって

クラウドファウンドリーは、ローカルホストを指すように私の接続URLをオーバーライドされます。代わりに私のアトラスクラスタの27017を。 mongodbアトラスに接続するには、どのような方法が推奨されますか?

答えて

1

mongodb atlasでは、特定のIP番号を許可するためにファイアウォールを開く必要があります。最も安全な方法でpcfに接続するためにmongodbアトラスをどのように設定すればよいですか?

ホワイトリストCFで動作するアプリケーションのIPアドレスは特に効果的ではありません。効果的ではない理由は、接続先のIPアドレスがわからないということです。ディエゴがアプリケーションを実行する場所に依存するからです。言い換えれば、アプリケーションが実行するよう指示されたセルに依存します。問題を複合するには、アプリケーションを再起動/復元するときに変更されます。

IPが異なる可能性があるため、最終的にはすべてのセルをホワイトリストにする必要があります。この問題とそれが効果的でない理由は、プラットフォーム上で実行されているすべてのアプリをホワイトリストアップしたことになります。

セキュリティを少し向上させるためにできることは、アプリケーションセキュリティグループを使用することです。 ASGは、発信トラフィックを制限するために使用できます。また、スペースレベルで制御することもできます。つまり、MongoDbサーバーへのアクセスを許可しないようにデフォルトの実行中のセキュリティグループを構成できますが、ASGをMongoDbサーバーと通信する必要のあるアプリケーションのみのスペースにバインドすることで、個々のスペースへのアクセスを許可できます。

このアプローチの欠点は、プラットフォーム管理者でなければならないということです。これは、CFのインストールを所有している場合(公共プロバイダでは動作しない場合)にのみ動作することを意味します。

ASGのここでの詳細

:公共プロバイダの場合 https://docs.cloudfoundry.org/adminguide/app-sec-groups.html

は、プロキシを使用することができます。この作業を行うには、Mongodbサーバーにアクセスしようとするときにプロキシを介して通話するようにアプリケーションを設定する必要があります。 IPを固定したプロキシを制御するので、プロキシにホワイトリストを表示してアプリだけにアクセスすることができます。独自のプロキシサーバーを実行しない場合は、使用できるパブリックプロキシプロバイダがあります。

クラウドファウンダリが、自分のアトラスクラスタの代わりにlocalhost:27017を指すように接続URLをオーバーライドしています。 mongodbアトラスに接続するための推奨される方法は何ですか?

自動設定を無効にすることは可能です。 1つの方法は、ここの文書に記述されています。 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]'

は注意してください。このオプションを使用して自動再設定を無効にする場合は、SPRING_PROFILES_ACTIVE='cloud'を手動でクラウドプロファイルを有効にするように設定することもできます。

あなたの別の選択肢は、自動設定を単純に採用することだと思います。最初はちょっと混乱/魔法でしたが、私はこの記事で非常にうまく説明しています。

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

役に立てば幸い!

関連する問題