Réfléchissez bien avant de faire cela. Si vous ouvrez les ports, assurez-vous de restreindre les numéros IP qui peuvent y accéder, sinon n'importe qui pourra accéder à votre base de données. Vous pouvez activer l'authentification dans MongoDB, mais ce n'est pas particulièrement sûr, juste un nom d'utilisateur et un mot de passe. Vous ne devriez pas ouvrir votre base de données sur Internet, ce n'est pas une bonne idée.
Une meilleure façon que d'ouvrir des ports dans le pare-feu EC2 est d'ouvrir un tunnel SSH et de transférer le port, cela garantit que vous seul pouvez accéder à la base de données, et uniquement lorsque le tunnel SSH est actif.
Ouvrez un nouveau terminal et exécutez cette commande (en remplaçant user et host par l'utilisateur que vous utilisez lorsque vous vous connectez en SSH à votre serveur et le nom du serveur) :
ssh [email protected] -N -L 27017:127.0.0.1:27017
La commande transférera le port 27017 de votre ordinateur vers le même port sur le serveur. Pour vous connecter à l'instance MongoDB, exécutez simplement mongo
dans un terminal (si cela ne fonctionne pas, essayez mongo --host 127.0.0.1
ou encore mongo --host 127.0.0.1 --port 27017
).
Si vous exécutez MongoDB sur votre machine locale, vous devrez changer le premier port, car le serveur local l'utilise déjà. Dans ce cas, exécutez plutôt cette commande :
ssh [email protected] -N -L 27018:127.0.0.1:27017
puis connectez-vous avec
mongo --port 27018
(éventuellement en ajoutant --host 127.0.0.1
si ça ne marche pas).
Lorsque vous avez fini de travailler avec la base de données, quittez mongo
et appuyez sur ctrl-C dans le terminal avec la commande SSH.