Подтвердить что ты не робот

Как подключиться к экземпляру MongoDB EC2

у нас есть экземпляр EC2 MongoDB 2.4 от Amazon MarketPlace. когда я пытаюсь получить к нему доступ с моего компьютера, используя команду mongo, например:

mongo xx-xx-xx-xx-xx.compute-1.amazonaws.com

я получаю следующую ошибку

Error: couldn't connect to server xx-xx-xx-xx-xx.compute-1.amazonaws.com:27017 at src/mongo/shell/mongo.js:147
exception: connect failed
  • Я могу подключиться к удаленному экземпляру с помощью ssh, чтобы он был доступен.
  • порт является портом 27017 по умолчанию.
  • mongod работает и работает на удаленном экземпляре.

какие-либо предложения по устранению этого?

4b9b3361

Ответ 1

Как сказал frisky, вы должны открыть порт 27017 на консоли безопасности EC2. (Чтобы узнать больше о том, как это сделать: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/authorizing-access-to-an-instance.html)

Но вам также нужно изменить переменную bind_ip в файле /etc/mongodb.conf. Вам нужно прокомментировать строку или назначить ip, который сможет подключить к ней БД.

Ответ 2

Так как mongod работает и работает на удаленном экземпляре, вы можете получить доступ к своему содержимому MongoDB через

mongo xx-xx-xx-xx-xx.compute-1.amazonaws.com или mongo machine_elastic_IP

До этого вам нужно открыть входящий порт для этого компьютера. По умолчанию порт 27017 закрыт для внешнего мира.

Подробнее см. http://docs.aws.amazon.com/gettingstarted/latest/wah/getting-started-security-group.html

Ответ 3

Amazon создал группу безопасности mongo без открытия 27017. открытие порта 27017 на мой компьютер исправил проблему.

Ответ 4

Попробуйте получить доступ к xx-xx-xx-xx-xx.compute-1.amazonaws.com:27017 из браузера, если он работает тогда ssh в экземпляр.

  • Остановить сервер mongodb
  • Удалить файл /var/lib/mongodb/mongod.lock

снова запустите сервер mongodb и проверьте, не набрал ли текст mongo оболочку mongo или дал какую-либо ошибку.

Если ошибка присутствует, выйдите из экземпляра и снова ssh, чтобы проверить $mongo, если он открывает оболочку mongo. Попробуйте перезагрузиться после того, как это изменится, если ошибка все еще существует после того, как это изменилось.

Единственная проблема здесь, прежде чем обращаться к ней из любого приложения. Mongodb должен работать независимо в терминале.

Ответ 5

EC2 контролирует доступ с использованием группы безопасности, поэтому убедитесь, что окно доступа к хосту mongo db находится в security group, которому разрешен доступ к этому полю, и port включен для той же группы безопасности.

Другой проблемой может быть iptables. Проверьте sudo service iptables status в поле mongodb и посмотрите, какие там правила.

Убедитесь, что вы включили соответствующие порты в соответствии с требованием security в поле.