Подключение к экземпляру кластера через публичную сеть
В этой инструкции описывается, как подключиться к экземпляру кластера с помощью клиента 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, в который будет загружен корневой сертификат.
Подключитесь к экземпляру БД в каталоге, где находится клиент 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>
Подключение через публичную сеть выполнено.
- Перед началом работы
- Соединение с помощью Robo 3T (SSL)
- Соединение с помощью MongoBD (SSL)
- Соединение с помощью MongoBD (без SSL)