Stellen Sie eine Verbindung zu MongoDB auf dem aws-Server von einem anderen Server her her

8

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?

    
Dylan 07.05.2016, 20:17
quelle

5 Antworten

3

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:

%Vor%     
Francesco Pezzella 07.05.2016, 20:55
quelle
2

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).

Boris Serebrov 26.05.2017 18:39
quelle
1

Sie können es mit Mungo verbinden.

var mongoose = verlangen ('mongoose');

%Vor%     
vijesh 24.05.2017 13:59
quelle
0

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.

    
Treefish Zhang 22.05.2017 00:13
quelle
0

Um externe Mongodb über das Internet verbinden zu können. Folgende Bedingungen sollten erfüllt sein:

  • mongodb sollte routbare öffentliche IP-Adresse haben
  • mongodb Sicherheitsgruppe sollte Ihre öffentliche IP-Adresse auflisten

Wenn mongodb keine öffentliche IP (privates Netzwerk in einer VPC) hat, kann der localhost mit einer der folgenden Methoden auf sie zugreifen:

  • VPN zu privatem Netzwerk
  • Site-to-Site zwischen Ihrem Büro / Zuhause und AWS VPC
  • fügen Sie eine EIP an die mongodb-Instanz an eni (wenn eni ein öffentliches Teilnetz hat, das über Internet Gateway weitergeleitet wurde)
  • Erstellen Sie ein eni mit öffentlicher IP-Adresse, hängen Sie es an die mongodb-Instanz an

Auf jeden Fall - vor starten Sie den Schreibcode: versuchen Sie, sich mit mongodb zu verbinden, indem Sie telnet , netcat oder etwas verwenden mongodb-Client.

    
Tom Lime 25.05.2017 12:14
quelle