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

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

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

В этом примере используются ECS под управлением ОС Linux и клиент Windows.

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

Для настройки публичного соединения выполните следующие действия:

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

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

    Примечание

  3. При выборе SSL-протокола скачайте его сертификат из консоли DDS:

    1. На странице Instance Management нажмите на название экземпляра БД.

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

    3. В поле Basic Information нажмите на значок Кнопка Download рядом с полем SSL.

Соединение с помощью Robo 3T (SSL)

  1. Скачайте и установите клиент Robo 3T.

  2. Запустите установленный Robo 3T. В появившемся диалоговом окне нажмите Create.

  3. В окне Connection Settings установите параметры нового соединения.

  4. На вкладке Connection введите название нового подключения в текстовое поле Name и введите EIP и порт БД, которые привязаны к экземпляру DDS БД, в текстовое поле Adress.

  5. На вкладке Authentication:

    • в поле Database укажите «admin»;

    • в поле User Name укажите «rwuser»;

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

  6. На вкладке SSL загрузите сертификат и в поле Invalid Hostnames установите Allowed.

  7. В окне MongoDB Connections нажмите Connect.

Соединение с помощью MongoBD (SSL)

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

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

  3. В поле Basic Information нажмите на значок Кнопка Download рядом с полем SSL.

  4. Загрузите сертификат в 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.

    • Подключение с помощью команд 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-соединение, если оно было ранее активировано.

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

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

    mongos>

Подключение через публичную сеть выполнено.

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