Подключение к экземпляру набора реплик из публичной сети

В этом разделе описывается, как подключиться к экземпляру набора реплик (Replica Set) с помощью клиента MongoDB и Robo 3T через публичные сети.

Все операции можно выполнять, как на первичной, так и на вторичной ноде. Первичные ноды используются для обработки запросов на чтение и запись, а вторичные — реплицируют данные с первичной и используются только для обработки запросов на чтение.

Клиент MongoDB и Robo 3T могут подключаться к экземпляру базы данных с помощью общего соединения или зашифрованного соединения (SSL). Рекомендуется использовать подключение с помощью SSL-соединения для повышения безопасности.

Перед началом работы

  1. Привяжите EIP к экземпляру БД и установите правила группы безопасности.

  2. Установите клиент MongoDB или Robo 3T.

    Примечание

Подключение к экземпляру БД с помощью Robo 3T

  1. Запустите установку Robo 3T. Нажмите Create.

  2. В окне Connection Settings укажите параметры нового подключения:

    1. На вкладке Connection введите название соединения в поле Name и в поле Address укажите EIP и после двоеточия введите порт базы данных (8635).

    2. На вкладке Authentication укажите в полях:

      • Database — «admin».

      • User — «rwuser».

      • Password — введите пароль администратора, который был установлен при создании экземпляра набора реплик.

    3. Если подключение будет по SSL, то перейдите на вкладку SSL и загрузите SSL-сертификат и выберите в Invalid HostnamesAllowed. Если подключение без SSL, то пропустите этот пункт.

    4. Нажмите Save.

  3. В окне MongoDB Connections нажмите Connect, чтобы подключиться к экземпляру DDS с набором реплик.

По окончании отобразится страница успешной установки соединения.

Подключение к экземпляру БД с помощью клиента MongoDB (по SSL)

  1. В консоли DDS на странице Instance Management нажмите на нужный экземпляр БД.

  2. В левом меню выберите Connections.

  3. В поле Basic Information нажмите button__download-ssl для скачивания SSL-сертификата.

  4. Загрузите 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, в который будет загружен корневой сертификат.

  5. Подключитесь к экземпляру базы данных в каталоге, где находится клиент 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`
    
  6. Проверьте результат. При успешном выполнении команды отобразится информация:

    • При подключении первичной ноды:

      replica:PRIMARY>

    • При подключении вторичной ноды:

      replica:SECONDARY>.

Подключение к экземпляру БД с помощью клиента MongoDB (без SSL)

  1. Подключитесь к виртуальной машине ECS.

  2. Подключитесь к экземпляру базы данных в каталоге, где расположен клиент 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.

      • если пароль содержит восклицательный знак !, то перед этим знаком нужно поставить обратный слеш \.

  3. Проверьте результат. При успешном выполнении команды отобразится информация.

    • При подключении первичной ноды:

      replica:PRIMARY>

    • При подключении вторичной ноды:

      replica:SECONDARY>.

Запустили Evolution free tier
для Dev & Test
Получить