Mongodb на Google Cloud VM - Debian 9 не будет работать на внешнем IP-адресе виртуальной машины - PullRequest
0 голосов
/ 20 июня 2019

Мы пытаемся запустить MongoDB на виртуальной машине Debian 9 в Google Cloud. Наша цель - предоставить разработчикам доступ к MongoDB удаленно.

Мы присвоили статический внешний IP-адрес vm 35.184.229.10.

В оболочке виртуальной машины эта команда mongo -u admin -p password 127.0.0.1/admin РАБОТАЕТ

connecting to: mongodb://127.0.0.1:27017/admin?gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("949b233e-3b2d-47ca-9e4c-d658cf25deb3") }
MongoDB server version: 4.0.10
>

но если мы используем внешний IP-адрес, он показывает ошибку, как показано ниже:

mongo -u admin -p password 35.184.229.10/admin

Сообщение об ошибке

MongoDB shell version v4.0.10
connecting to: mongodb://35.184.229.10:27017/admin?gssapiServiceName=mongodb
2019-06-19T21:13:47.055+0000 E QUERY    [js] Error: couldn't connect to 
server 35.184.229.10:27017, connection attempt failed: SocketException: Error 
connecting to 35.184.229.10:27017 :: caused by :: Connection timed out
: connect@src/mongo/shell/mongo.js:344:17
@(connect):2:6
exception: connect failed

Информация, связанная с данной:

  1. Файл /etc/mongod.conf включает в себя:
net:
 port: 27017
 bindIp: 0.0.0.0 (we also tried with bindIpAll)

security:
 authorization: 'enabled'
  1. Running mongo команда показывает, что она работает на 127.0.0.1
oot@instance-1:~# mongo
MongoDB shell version v4.0.10
connecting to: mongodb://127.0.0.1:27017/?gssapiServiceName=mongodb

Чего нам не хватает?

1 Ответ

0 голосов
/ 21 июня 2019

После нескольких испытаний удалось решить проблему.

  • Перед первым запуском mongod обновите файл /etc/mongo.conf, используя желаемый bingIP. Мы использовали bindIp: 0.0.0.0 или bindIpAll: true

Не уверен, что это ошибка, но поднимет заявку в сообществе MongoDB.

Вкратце, шаги по удалению и установке Mongo в Debian (ref: https://docs.mongodb.com/manual/tutorial/install-mongodb-on-debian/)

  1. sudo service mongod stop
  2. sudo apt-get purge mongodb-org*
  3. sudo rm -r /var/log/mongodb и sudo rm -r /var/lib/mongodb
  4. echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list
  5. sudo apt-get update
  6. sudo apt-get install mongodb-org (я не использовал -y опция)
  7. Отредактируйте файл конфигурации /etc/mongod.conf и добавьте bindIp: 0.0.0.0 или bindIpAll: true
  8. sudo service mongod enable и sudo service mongod start
  9. sudo service mongod status чтобы проверить, работает ли Mongo.

Теперь откройте mongo, создайте тестового пользователя.

Вы можете проверить доступ к монго из другой системы. Пример команды может быть таким: mongo -u admin -p password 35.184.229.10/admin

...