MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Problem beim Zugriff auf Mongodb auf Amazon EC2

Denken Sie sorgfältig darüber nach, bevor Sie dies tun. Wenn Sie die Ports öffnen, stellen Sie sicher, dass Sie die IP-Nummern einschränken, die darauf zugreifen können, da sonst jeder auf Ihre Datenbank zugreifen kann. Sie können die Authentifizierung in MongoDB aktivieren, aber es ist nicht besonders sicher, nur ein Benutzername und ein Passwort. Sie sollten Ihre Datenbank nicht für das Internet öffnen, das ist keine gute Idee.

Ein besserer Weg, als Ports in der EC2-Firewall zu öffnen, besteht darin, einen SSH-Tunnel zu öffnen und den Port weiterzuleiten. Dadurch wird sichergestellt, dass nur Sie auf die Datenbank zugreifen können und nur, während der SSH-Tunnel aktiv ist.

Öffnen Sie ein neues Terminal und führen Sie diesen Befehl aus (ersetzen Sie Benutzer und Host durch den Benutzer, den Sie verwenden, wenn Sie per SSH mit Ihrem Server verbunden sind, und den Namen des Servers):

ssh [email protected] -N -L 27017:127.0.0.1:27017

Der Befehl leitet den Port 27017 auf Ihrem Computer an denselben Port auf dem Server weiter. Um eine Verbindung zur MongoDB-Instanz herzustellen, führen Sie einfach mongo aus in einem Terminal (wenn das nicht funktioniert, versuchen Sie mongo --host 127.0.0.1 oder sogar mongo --host 127.0.0.1 --port 27017 ).

Wenn Sie MongoDB auf Ihrem lokalen Computer ausführen, müssen Sie den ersten Port ändern, da der lokale Server ihn bereits verwendet. Führen Sie in diesem Fall stattdessen diesen Befehl aus:

ssh [email protected] -N -L 27018:127.0.0.1:27017

und verbinden Sie sich dann mit

mongo --port 27018

(Möglicherweise --host 127.0.0.1 hinzufügen wenn es nicht funktioniert).

Wenn Sie mit der Arbeit an der Datenbank fertig sind, beenden Sie mongo und drücken Sie Strg-C im Terminal mit dem SSH-Befehl.