- tocdepth
2
Подключение к экземпляру кластера через публичную сеть
В этой инструкции описывается, как подключиться к экземпляру кластера с помощью клиента MongoDB и Robo 3T через публичную сеть.
Клиент MongoDB и Robo 3T могут подключаться к экземпляру базы данных с помощью общего соединения или зашифрованного соединения (SSL). SSL-протокол рекомендуется использовать для повышения безопасности передачи данных.
В этом примере используются ECS под управлением ОС Linux и клиент Windows.
На этой странице
Перед началом работы
Для настройки публичного соединения выполните следующие действия:
Привяжите EIP к экземпляру БД и установите правила группы безопасности.
Установите клиент MongoDB или Robo 3T.
Примечание
Ссылка на скачивание установочного пакета Robo 3T с официального сайта.
При скачивании выберите версию
robo3t-1.3.1-windows-x86_64-7419c406.exe
.Ссылка на скачивание установочного пакета MongoDB с официального сайта.
При установке MongoDB на ОС Ubuntu воспользуйтесь инструкцией.
При выборе SSL-протокола скачайте его сертификат из консоли DDS:
На странице Instance Management нажмите на название экземпляра БД.
В левом меню выберите Connections.
В поле Basic Information нажмите на значок
рядом с полем SSL.
Соединение с помощью Robo 3T (SSL)
Скачайте и установите клиент Robo 3T.
Запустите установленный Robo 3T. В появившемся диалоговом окне нажмите Create.
В окне Connection Settings установите параметры нового соединения.
На вкладке Connection введите название нового подключения в текстовое поле Name и введите EIP и порт БД, которые привязаны к экземпляру DDS БД, в текстовое поле Adress.
На вкладке Authentication:
в поле Database укажите «admin»;
в поле User Name укажите «rwuser»;
в поле Password укажите пароль администратора, который вы установили во время создания экземпляра кластера.
На вкладке SSL загрузите сертификат и в поле Invalid Hostnames установите Allowed.
В окне MongoDB Connections нажмите Connect.
Соединение с помощью MongoBD (SSL)
В консоли DDS на странице Instance Management нажмите на нужный экземпляр БД.
В левом меню выберите Connections.
В поле Basic Information нажмите на значок
рядом с полем SSL.
Загрузите сертификат в ECS, который будет связан с экземпляром БД. Для загрузки в ВМ под управлением Linux® и Windows® используйте следующие команды:
scp <IDENTITY_FILE> <REMOTE_USER>@<REMOTE_ADDRESS>:<REMOTE_DIR>
- Укажите параметры:
IDENTITY_FILE
— каталог, в котором находится корневой сертификат, и название файла сертификата. Разрешение на доступ к файлу равно 600.REMOTE_USER
— пользователя операционной системы ECS.REMOTE_ADDRESS
— IP-адрес.REMOTE_DIR
— каталог ECS, в который будет загружен корневой сертификат.
Загрузите корневой сертификат с помощью Remote Connection Tool.
Подключитесь к экземпляру БД в каталоге, где находится клиент MongoDB.
Подключение с помощью команд Linux®:
./mongo --host <DB_HOST> --port <DB_PORT> -u <DB_USER> -p --authenticationDatabase admin --ssl --sslCAFile <FILE_PATH> --sslAllowInvalidHostnames
При появлении запроса «Enter Password» введите пароль учетной записи базы данных.
Подключение с помощью публичного адреса:
./mongo mongodb://rwuser:****@<DB_HOST>:<DB_PORT>/test?authSource=admin --ssl --sslCAFile <FILE_PATH> --sslAllowInvalidHostnames
Примечание
Экземпляр кластера использует IP-адрес для создания SSL-сертификата.
--sslAllowInvalidHostnames
необходим для SSL-соединения в общедоступной сети.- Укажите параметры:
DB_HOST
— IP-адрес удаленно подключенного экземпляра базы данных. Значение находится в столбце EIP на странице Connections.DB_PORT
— номер порта. Значение расположено на странице Connections в поле Database Port в блоке Basic Information.DB_USER
— название учетной записи базы данных. Название по умолчанию «rwuser».****
— пароль учетной записи базы данных. При использовании адреса подключения:если в пароле есть знак
(@)
, то измените его на%40
.если в пароле есть восклицательный знак
!
, то добавьте знак обратного слеша перед восклицательным знаком\!
FILE_PATH
— путь, где хранится корневой сертификат.
Подключитесь к экземпляру. Пример подключения с помощью команды Linux:
./mongo --host 192.168.1.6 --port 8635 -u rwuser -p --authenticationDatabase admin --ssl --sslCAFile /tmp/ca.crt --sslAllowInvalidHostnames
Пример подключения с помощью публичного адреса:
./mongo mongodb://rwuser:****@192.168.1.80:8635/test?authSource=admin --ssl --sslCAFile /tmp/ca.crt --sslAllowInvalidHostnames
При успешном выполнении команды отобразится сообщение «mongos>».
Соединение с помощью MongoBD (без SSL)
Примечание
Для подключения этим методом необходимо отключить SSL-соединение, если оно было ранее активировано.
Подключитесь к экземпляру БД в каталоге, где находится клиент MongoDB. Это можно сделать двумя способами:
С помощью команд Linux®:
./mongo --host <DB_HOST> --port <DB_PORT> -u <DB_USER> -p --authenticationDatabase admin
При отображении сообщения «Enter password:» введите пароль базы данных.
С помощью публичного адреса:
./mongo mongodb://rwuser:****@<DB_HOST>:<DB_PORT>/test?authSource=admin
Чтобы получить адрес общедоступного подключения, щелкните название экземпляра и выберите Connections. На вкладке Public Connection скопируйте адрес из поля Public Network Connection Address.
Примечание
- Укажите параметры:
DB_HOST
— укажите IP-адрес удаленно подключенного экземпляра базы данных. Значение находится в столбце EIP на странице Connections.DB_PORT
— укажите номер порта. Значение расположено на странице Connections в поле Database Port в блоке Basic Information.DB_USER
— укажите название учетной записи БД. Название по умолчанию «rwuser».****
— укажите пароль учетной записи базы данных. При использовании адреса подключения:если в пароле есть знак
(@)
, то измените его на%40
.если в пароле есть восклицательный знак
!
, то добавьте знак обратного слеша перед восклицательным знаком\!
Подключитесь к экземпляру. Пример подключения с помощью команды Linux®:
./mongo --host 192.168.1.6 --port 8635 -u rwuser -p --authenticationDatabase admin
Пример подключения с помощью публичного адреса:
./mongo mongodb://rwuser:****@192.168.1.80:8635/test?authSource=admin
Проверьте результат. При успешном выполнении команды отобразится информация:
mongos>
Подключение через публичную сеть выполнено.
Была ли статья полезной?
для Dev & Test