Подключение к экземпляру набора реплик из публичной сети
В этом разделе описывается, как подключиться к экземпляру набора реплик (Replica Set) с помощью клиента MongoDB и Robo 3T через публичные сети.
Все операции можно выполнять, как на первичной, так и на вторичной ноде. Первичные ноды используются для обработки запросов на чтение и запись, а вторичные — реплицируют данные с первичной и используются только для обработки запросов на чтение.
Клиент MongoDB и Robo 3T могут подключаться к экземпляру базы данных с помощью общего соединения или зашифрованного соединения (SSL). Рекомендуется использовать подключение с помощью SSL-соединения для повышения безопасности.
Перед началом работы
-
Привяжите EIP к экземпляру БД и установите правила группы безопасности.
-
Установите клиент MongoDB или Robo 3T.
Примечание-
При скачивании выберите версию robo3t-1.3.1-windows-x86_64-7419c406.exe.
-
При установке 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, в который будет загружен корневой сертификат.
-
Подключитесь к экземпляру базы данных в каталоге, где находится клиент 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-адрес для создания 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Примечание- Укажите параметры:
-
DB_HOST — IP-адрес удаленно подключенного экземпляра базы данных. Его значение можно найти на странице Connections в столбце EIP.
-
DB_PORT — номер порта. Значение можно найти на странице Connections в столбце Database Port.
-
DB_USER — имя пользователя учетной записи базы данных. В данном случае это «rwuser».
-
**** — пароль учетной записи базы данных. При использовании адреса подключения к экземпляру БД:
-
если пароль содержит знак @, то его нужно заменить на %40.
-
если пароль содержит восклицательный знак !, то перед этим знаком нужно поставить обратный слеш \.
-
-
Проверьте результат. При успешном выполнении команды отобразится информация.
-
При подключении первичной ноды:
replica:PRIMARY>
-
При подключении вторичной ноды:
replica:SECONDARY>.
-
- Перед началом работы
- Подключение к экземпляру БД с помощью Robo 3T
- Подключение к экземпляру БД с помощью клиента MongoDB (по SSL)
- Подключение к экземпляру БД с помощью клиента MongoDB (без SSL)