0

Ich habe eine Spring Boot App, die mit dem Mongodb Atlas verbunden ist. Alles funktioniert lokal.Empfohlener Weg, Cloud Foundry mit dem Mongodb Atlas zu verbinden

Ich möchte dies jetzt zu Pivotal Cloud Foundry veröffentlichen.

Sichere Verbindung zwischen PCF und Atlas

In mongodb Atlas Ich muss die Firewall öffnen, ein erlauben bestimmte IP-Nummern. Wie sollte ich mongodb atlas auf die sicherste Weise mit pcf verbinden?

Autoconfigure in die Quere

Cloud Foundry meine Verbindung Urls ist zwingende localhost Punkt: 27017 statt meines Atlas-Cluster. Was ist die empfohlene Verbindung zum Mongodb-Atlas?

Antwort

1

In Mongodb Atlas muss ich die Firewall öffnen und bestimmte IP-Nummern zulassen. Wie sollte ich den Mongodb-Atlas so konfigurieren, dass er sich am sichersten mit dem PC verbinden kann?

Weiße IP-Adressen für Anwendungen, die auf CF ausgeführt werden, sind nicht besonders effektiv. Der Grund, warum es nicht effektiv ist, ist, dass Sie die IP-Adresse nicht kennen, von der Sie eine Verbindung herstellen werden, da es davon abhängt, wo Diego entscheidet, Ihre Anwendung auszuführen. Mit anderen Worten, es hängt von der Zelle ab, in der Ihre Anwendung ausgeführt wird. Dies wird sich ändern, wenn Sie Ihre Anwendung neu starten/neu starten.

Weil die IP variieren kann, was Sie am Ende tun müssen, ist weiße Liste aller Ihrer Zellen. Das Problem damit und warum es nicht effektiv ist, ist, dass Sie weiß jede auf der Plattform laufende App auflisten.

Was Sie tun können, um die Sicherheit ein wenig zu verbessern, ist die Verwendung von Anwendungssicherheitsgruppen. ASGs können verwendet werden, um ausgehenden Verkehr zu begrenzen. Sie können sie auch auf Space-Ebene steuern. Das heißt, Sie können Ihre standardmäßig ausgeführte Sicherheitsgruppe so konfigurieren, dass der Zugriff auf Ihren MongoDb-Server nicht zugelassen wird. Sie können jedoch den Zugriff für einzelne Bereiche zulassen, indem Sie eine ASG nur an die Bereiche mit Apps binden, die mit Ihren MongoDb-Servern kommunizieren müssen.

Der Nachteil dieses Ansatzes ist, dass Sie als Plattformadministrator arbeiten müssen, was bedeutet, dass es nur funktioniert, wenn Sie Ihre CF-Installation besitzen (nicht für öffentliche Anbieter).

Mehr auf ASG hier: https://docs.cloudfoundry.org/adminguide/app-sec-groups.html

Für öffentliche Anbieter, können Sie einen Proxy verwenden. Damit dies funktioniert, müssen Sie Ihre Anwendung so konfigurieren, dass sie über einen Proxy kommuniziert, wenn sie versucht, auf Ihre Mongodb-Server zuzugreifen. Sie steuern die Proxies, die feste IPs haben, so dass Sie die Proxys auflisten können, um nur auf Ihre App zugreifen zu können. Wenn Sie keine eigenen Proxy-Server ausführen möchten, können Sie öffentliche Proxy-Provider verwenden.

Cloud-Gießerei überschreibt meine Verbindungs-URLs auf localhost: 27017 anstelle meines Atlas-Clusters. Was ist die empfohlene Verbindung zum Mongodb-Atlas?

Es ist möglich, die automatische Konfiguration zu deaktivieren. Ein Weg ist hier in den Dokumenten beschrieben. Wenn Sie die Spring Cloud Connector-Abhängigkeiten einschließen und sie manuell verwenden, wird die automatische Konfiguration nicht ausgeführt.

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

Die andere Option ist die Java bauen Pack zu sagen, nicht die automatische Konfiguration zu installieren. Sie können das tun, indem Sie die folgende Umgebungsvariable für Ihre Anwendung entweder mit cf set-env oder über eine manifest.yml-Datei festlegen.

Ex: JBP_CONFIG_SPRING_AUTO_RECONFIGURATION='[enabled: false]'

Seien Sie vorsichtig, wenn Sie dies tun, da es wird alles durch die automatische Rekonfiguration zur Verfügung gestellt deaktivieren, die die „Wolke“ Profil für Ihre Anwendung enthält Einstellung. Wenn Sie diese Option zum Deaktivieren der automatischen Neukonfiguration verwenden, sollten Sie auch SPRING_PROFILES_ACTIVE='cloud' festlegen, um das Cloud-Profil manuell zu aktivieren.

Ich nehme an, Ihre andere Option ist einfach die automatische Konfiguration zu umarmen. Es ist ein wenig verwirrend/magisch zuerst, aber ich habe diesen Artikel gefunden, um es sehr gut zu erklären.

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

Hoffnung, das hilft!

Verwandte Themen