Ich erstelle eine Javascript-Meteor-App von meinem localhost, aber ich möchte, dass meine Datenbank auf einem separaten aws-Server gespeichert wird.
Ich bin neu bei MongoDB und aws. Ich frage mich, wie ich von meinem lokalen Host Verbindung zu meiner Datenbank herstellen würde?
Das ist so einfach wie das Starten Ihrer Meteor-App mit der Variablen MONGO_URL
env, die so eingestellt ist, dass sie auf die Mongo-Instanz verweist, die auf Ihrer AWS-Maschine ausgeführt wird.
Angenommen, Sie haben den Port 27017 bereits auf dem Remote-Rechner geöffnet:
Zusätzlich zur Konfiguration der Anwendung für die Verbindung mit einer entfernten MongoDB, wie in anderen Antworten erwähnt, muss auch sichergestellt werden, dass der Server von Ihrem Netzwerk aus erreichbar ist.
Es gibt verschiedene Möglichkeiten, auf die Netzwerkressource in AWS zuzugreifen:
Ändern Sie die Konfiguration der Sicherheitsgruppe für die EC2-Instanz - Dies fungiert als Firewall - und ermöglicht den Zugriff auf Port 27017. Wenn Sie nur von Ihrem Computer darauf zugreifen müssen, gibt es eine Option, um den Zugriff von Ihrer aktuellen IP zu erlauben.
Verwenden Sie den ssh-Tunnel, um eine Verbindung mit der Instanz herzustellen, und lassen Sie diesen Port lokal tunneln, etwa ssh aws-host -L 27017:localhost:27017
oder, wenn Sie eine Verbindung über die andere Instanz ssh aws-host -L 2017:target.mongo.host.amazonaws.com:27017
herstellen.
Es gibt eine gute Präsentation zu diesem Thema - Die schwarze Magie von SSH / SSH kann das tun? .
Verwenden Sie VPN auf AWS und stellen Sie eine Verbindung zum AWS-Netzwerk her VPN (Ressourcen in Ihrem AWS-Netzwerk lokal verfügbar machen).
Pro diesen Link möchten Sie vielleicht überprüfen 1) OS-Firewalls; 2) Korrigieren Sie die Service-Bindung an die private IP-Adresse (falls nicht, fügen Sie Ihre IP-Adresse zur IP-Adressen-Whitelist hinzu; 3) Ihre Mungo-Version, falls verwendet. Verwenden Sie "npm list mongoose", um die Version zu ermitteln und sie auf die neueste Version zu aktualisieren.
Sie können Mongodb Atlas , ein MongoDB as a Service-Angebot, das auf Amazon Web Services (AWS) verfügbar ist, verwenden. um Ihre Datenbank zu hosten (es hat eine kostenlose Tier zu starten), und verwenden Sie MongoDB Compass, um Ihre Daten einfach zu verwalten.
Um externe Mongodb über das Internet verbinden zu können. Folgende Bedingungen sollten erfüllt sein:
Wenn mongodb keine öffentliche IP (privates Netzwerk in einer VPC) hat, kann der localhost mit einer der folgenden Methoden auf sie zugreifen:
Auf jeden Fall - vor starten Sie den Schreibcode: versuchen Sie, sich mit mongodb zu verbinden, indem Sie telnet , netcat oder etwas verwenden mongodb-Client.
Tags und Links javascript amazon-web-services mongodb meteor