У меня есть машина EC2 с установленной на ней Ubuntu. На машине я установил Node.js, MongoDB и версию Parse Server для Github.
Я создал базу данных под названием euro. В этой базе данных я создал пользователя с помощью этого кода:
> use euro
switched to db euro
> db.createUser(
... {
... user: 'username',
... pwd: 'password',
... roles: [ { role: 'readWrite', db:'euro' } ]
... }
... )
Перед переносом приложения я заметил, что на странице AWS EC2 Instances Managment вы можете увидеть 2 IP-адреса: общедоступный IP-адрес и частный IP-адрес, поэтому я использовал общедоступный IP.
В настройках Parse.com я нажал кнопку «Миграция» и ввел этот адрес:
mongodb://username:password@<ipaddress>:27017/euro
, а под полем адреса было написано Нет доступных серверов
.
Что я могу сделать, чтобы решить эту проблему и перенести приложение на мой экземпляр EC2?
ИЗМЕНИТЬ №1:
Я перезапустил свой сервер AWS, поэтому мой общедоступный IP-адрес был изменен. Я попытался изменить строку подключения на новый IP, используя этот адрес:
mongodb://username:password@<ipaddress>:27017/euro
Но внезапно он показывает Нет доступных серверов
.
Что мне делать, чтобы решить эту проблему? Я хочу перенести его как можно скорее.
Откройте порт 27017 в группе безопасности EC2.
После завершения миграции вы должны удалить этот порт из системы безопасности EC2 группа, чтобы посторонние не могли читать или изменять ваши документы.
Убедитесь, что вы установили для bindIp значение 0.0.0.0 в mongod.conf. MongoDB будет использовать локальный IP-адрес, который является частным IP-адресом и недоступен извне. Вы также можете проверить, можете ли вы получить доступ к базе данных с общедоступным IP-адресом.
Попробуйте подключиться к mongo db с помощью команды.
Это должно решить вашу проблему.