Подумайте внимательно, прежде чем делать это. Если вы открываете порты, убедитесь, что вы ограничиваете IP-номера, которые могут получить к нему доступ, иначе любой сможет получить доступ к вашей базе данных. Вы можете включить аутентификацию в MongoDB, но это не особо безопасно, просто имя пользователя и пароль. Вы не должны иметь свою базу данных открытой для Интернета, это не очень хорошая идея.
Лучший способ, чем открывать порты в брандмауэре EC2, - это открыть туннель SSH для переадресации порта, это гарантирует, что только вы можете получить доступ к базе данных, и только тогда, когда туннель SSH активен.
Откройте новый терминал и выполните эту команду (заменив пользователя и хост на пользователя, которого вы используете при SSH'инге на ваш сервер и имя сервера):
ssh user@host -N -L 27017:127.0.0.1:27017
Команда перенаправит порт 27017 на вашем компьютере на тот же порт на сервере. Чтобы подключиться к экземпляру MongoDB, просто запустите mongo
в терминале (если это не сработает, попробуйте mongo --host 127.0.0.1
или даже mongo --host 127.0.0.1 --port 27017
).
Если вы запускаете MongoDB на локальном компьютере, вам придется сменить первый порт, поскольку локальный сервер уже использует его. В этом случае выполните эту команду вместо:
ssh user@host -N -L 27018:127.0.0.1:27017
, а затем соединиться с
mongo --port 27018
(возможно добавление --host 127.0.0.1
, если оно не работает).
Когда вы закончите работать с базой данных, выйдите из mongo
и нажмите ctrl-C в терминале с командой SSH.