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