Resource nubes_mongodb · v1.0.0 · Service ID: 92 · Service Name: MongoDB¶
Manual · Create params · Modify params · Output params · Operations · Example
Сервис MongoDB (nubes_mongodb). См. Create params для списка параметров.
Справка (MAN)
Инструкция по развертыванию MongoDB через платформу¶
1. Общая информация¶
MongoDB — документоориентированная распределённая база данных, обеспечивающая высокую доступность, горизонтальное масштабирование и гибкую модель хранения.
Доступные операции с кластером¶
- create — создание базы
- delete — удаление базы данных
- suspend — остановка базы данных
- resume — запуск базы данных
- modify — изменение базы данных
Доступные операции с пользователями¶
- create_user — создание пользователя
- modify_user — модификация пользователя
- delete_user — удаление пользователя
2. Параметры развертывания базы данных¶
Эти параметры необходимо указать при создании базы данных.
Платформа для развертывания¶
Среда, в которой будет развернут кластер. Выбирается из предложенного списка.
Количество узлов¶
Количество реплик в кластере MongoDB. Оптимально выбирать нечётное значение, так как это обеспечивает корректный процесс выбора ведущего узла и сохраняет работоспособность базы данных даже при отказе одной из нод.
Примечание: уменьшение количества узлов после создания кластера не рекомендуется.
Квота памяти пода (MB)¶
Объём памяти для одного пода в мегабайтах.
Пример: 2048
Квота CPU пода (mCPU)¶
CPU-квота для пода в миликорах (1000 mCPU = 1 vCPU).
Пример: 1000
Размер диска для базы данных (GB)¶
Объём диска для хранения данных в гигабайтах.
Пример: 20
Имя ipSpace для публикации внешнего IP¶
Имя ipSpace, через который будет выделен внешний IP для доступа к master-узлу.
Укажите no-needed, если внешний адрес не требуется.
Пример: internet-no-antiddos-v1
Список разрешённых IP-адресов¶
Список IP-адресов или подсетей, с которых разрешён доступ к кластеру.
Если оставить пустым — доступ открыт для всех источников.
Пример: ["10.0.0.0/24", "192.168.1.10/32"]
3. Параметры модификации базы данных¶
Все параметры, которые вы указываете при модификации, являются необязательными — система автоматически подставит ранее сохранённые значения, и при необходимости вы можете изменить их на нужные.
Количество узлов¶
Количество реплик в кластере MongoDB. Оптимально выбирать нечётное значение, так как это обеспечивает корректный процесс выбора ведущего узла и сохраняет работоспособность базы данных даже при отказе одной из нод.
Примечание: уменьшение количества узлов после создания кластера не рекомендуется.
Квота памяти пода (MB)¶
Объём памяти для одного пода в мегабайтах.
Пример: 2048
Квота CPU пода (mCPU)¶
CPU-квота для пода в миликорах (1000 mCPU = 1 vCPU).
Пример: 1000
Размер диска для базы данных (GB)¶
Объём диска для хранения данных указывается в гигабайтах. Его можно увеличить при необходимости, однако уменьшить уже выделенный размер невозможно.
Пример: 20
Имя ipSpace для публикации внешнего IP¶
Имя ipSpace, через который будет выделен внешний IP для доступа к master-узлу.
Укажите no-needed, если внешний адрес не требуется.
Пример: internet-no-antiddos-v1
Список разрешённых IP-адресов¶
Список IP-адресов или подсетей, с которых разрешён доступ к кластеру.
Если оставить пустым — доступ открыт для всех источников.
Пример: ["10.0.0.0/24", "192.168.1.10/32"]
3. Параметры создания пользователя¶
Имя пользователя¶
Указывается имя пользователя (любой регистр).
Пример: readApp
Имя базы данных¶
Название базы, в которой будет создан пользователь.
Если база отсутствует, она будет создана автоматически.
Пример: Apps_9392
Имя роли¶
- read — доступ только на чтение
- readWrite — чтение и изменение данных
- dbOwner — полный контроль над базой данных
4. Параметры модификации пользователя¶
Имя пользователя¶
Необходимо выбрать существующего пользователя. Если список пуст, требуется предварительно создать пользователя.
Имя базы данных¶
База данных, к которой относится пользователь.
Если база отсутствует, она будет создана автоматически.
Пример: Apps_9392
Имя роли¶
- read
- readWrite
- dbOwner
5. Параметры удаления пользователя¶
Имя пользователя¶
Выберите пользователя из списка для удаления.
6. Выходные параметры¶
После успешного развертывания базы данных платформа возвращает ключевые параметры.
internalConnect¶
Внутренний эндпоинт для подключения к кластеру из сервисов, работающих в той же сети. Используется для внутренних интеграций и системных сервисов.
externalConnect¶
Внешний FQDN для подключения к кластеру извне. Порт подключения — 27017.
7. Пример подключения¶
Перед подключением необходимо установить mongosh.
7.1 Подключение без TLS¶
Для внутреннего подключения из той же сети:
7.2 Подключение через внешний endpoint с TLS¶
Кластер требует клиентский TLS-сертификат (mutual TLS). Сертификаты сохраняются в Vault при создании кластера в блоке cer в полях ca, cer, key в кодировке base64.
Подготовка файлов:
# Декодировать сертификаты из Vault
echo "<ca из Vault>" | base64 -d > ca.crt
echo "<cer из Vault>" | base64 -d > tls.crt
echo "<key из Vault>" | base64 -d > tls.key
# Собрать клиентский PEM
cat tls.key tls.crt > client.pem
Подключение:
mongosh "mongodb://<username>:<password>@<external_endpoint_db>:27017/<dbName>?tls=true&tlsCAFile=ca.crt&tlsCertificateKeyFile=client.pem&tlsAllowInvalidHostnames=true&authSource=admin"
Где:
<username>— имя пользователя<password>— пароль<endpoint_db>— internalConnect (для подключения без TLS)<external_endpoint_db>— externalConnect (для внешнего подключения с TLS)<dbName>— имя базы данных
8. Дополнительная информация¶
Кластер разворачивается с включённым TLS (tls.mode: allowTLS). Сервер принимает как обычные, так и TLS-соединения.
При TLS-подключении (особенно через внешний endpoint) требуется клиентский сертификат. Автоматически сгенерированный сертификат содержит только внутренние DNS-имена кластера, поэтому для внешнего подключения используется tlsAllowInvalidHostnames=true. Для production-использования рекомендуется выпустить сертификат с SAN, включающим внешнее имя write.<namespace>.