Что установлено на вашем сервере MongoDB?
- MongoDB Community 8.0 из официального репозитория MongoDB
- Аутентификация включена, пользователь yonetici с ролью root в базе admin
- Удалённые подключения на порту 27017 (bindIp 0.0.0.0)
- Оболочка mongosh и инструменты для баз данных, такие как mongodump и mongorestore
- Настройки в /etc/mongod.conf, данные в /var/lib/mongodb, журнал в /var/log/mongodb/mongod.log
- Брандмауэр с открытыми только портами 22 и 27017, плюс fail2ban для SSH
Какой размер нужен для MongoDB?
В заметках MongoDB по эксплуатации цифры RAM нет, но кэш там объяснён: WiredTiger берёт большее из двух значений — половину от (RAM минус 1 ГБ) или 256 МБ. Получается 256 МБ при 1 ГБ, 512 МБ при 2 ГБ и 1,5 ГБ при 4 ГБ. В тех же заметках требуется по два ядра на каждый mongod, поэтому эта установка начинается с 2 ядер. Ориентир такой: 1 ГБ — для проб, а в работу лучше входить с 2 ГБ RAM. Кэш сам следует за вашей RAM, а при увеличении сервера в панели данные и IP-адрес остаются прежними.
| Применение | Размер | Цена | Выбрать |
|---|---|---|---|
| Стартовый | 1 GB RAM · 2 vCore · 25 GB NVMe | $3.09/мес. | |
| Средний | 2 GB RAM · 2 vCore · 40 GB NVMe | $4.52/мес. | |
| Мощный | 4 GB RAM · 2 vCore · 60 GB NVMe | $6.91/мес. |
Кому подходит?
- Проектам на Node.js, Python, Go или Java, построенным на документной базе данных
- Тем, кто запускает приложение в другом месте, а базу хочет держать на отдельном сервере
- Тем, кто переносит существующие данные MongoDB на собственный сервер через mongodump
- Разработчикам, которым нужна удалённая MongoDB для разработки и тестирования
Что будет после заказа?
- Задайте размер и оплатите заказ.
- Сервер запускается, и MongoDB устанавливается сама. В наших проверках на настоящих серверах это заняло около 3 минут.
- На вкладке «Обзор» панели скопируйте строки «Адрес подключения», «Логин» и «Пароль».
- Составьте строку подключения: mongodb://yonetici:PASSWORD@IP:27017/?authSource=admin
- Создайте для приложения отдельного пользователя, а yonetici с ролью root оставьте для администрирования.
С каждым сервером
- Ежедневные бэкапы входят в цену
- Безлимитный трафик
- Полный root-доступ
- Позже можно увеличить или уменьшить RAM и CPU, а диск увеличить
- Расположение: Istanbul · IST-1.
Полезно знать
- Оформляя заказ, вы принимаете условия лицензии MongoDB Server Side Public License (SSPL).
- Порт 27017 открыт для интернета. Чтобы ограничить его, выполните ufw delete allow 27017/tcp, затем ufw allow from YOUR_IP to any port 27017.
- Подключения идут без TLS: пароль защищён, но данные не шифруются. Для чувствительных данных используйте SSH-туннель или задайте собственный сертификат через net.tls.
- Это автономный mongod. Транзакции и потоки изменений работают только на наборах реплик, поэтому при необходимости включите репликацию в mongod.conf сами.
- MongoDB приходит из собственного репозитория и остаётся на ветке 8.0. Обновления вы устанавливаете через apt.
MongoDB: вопросы и ответы
Как подключиться к серверу MongoDB?
Строка подключения: mongodb://yonetici:PASSWORD@IP:27017/?authSource=admin. По ней подключаются mongosh, MongoDB Compass и драйверы. Пароль, созданный при установке, состоит только из букв и цифр, поэтому кодировать его для URL не нужно.
Сколько RAM нужно MongoDB?
Официального минимума RAM у MongoDB нет. Ориентир такой: 1 ГБ хватает для проб, а для работы хорошее начало — 2 ГБ и больше. Кэш WiredTiger равен 256 МБ при 1 ГБ и 1,5 ГБ при 4 ГБ, и часто используемые данные и индексы должны в нём помещаться.
Работают ли на этом сервере транзакции и потоки изменений?
MongoDB предлагает их только на наборах реплик и шардированных кластерах, а здесь установлен автономный mongod. Если они нужны, настройте репликацию и файл ключа в mongod.conf, затем выполните rs.initiate(), чтобы запустить набор реплик из одного участника.
Шифруется ли подключение к MongoDB?
При установке подключения к MongoDB идут без TLS: пароль защищён, но данные передаются без шифрования. Для чувствительных данных откройте SSH-туннель командой ssh -L 27017:127.0.0.1:27017 root@IP, указав пароль SSH из строки под «Именем пользователя» на вкладке «Обзор». Затем подключайтесь к 127.0.0.1.
Как сделать бэкап MongoDB?
Бэкап сервера делается каждую ночь, хранятся последние 7 дней, и это входит в цену. Кроме того, установлен mongodump: сделайте дамп командой mongodump --uri и восстановите его командой mongorestore.
Как перенести существующие данные MongoDB?
Сделайте дамп на старом сервере командой mongodump, скопируйте файлы на новый сервер по SFTP и загрузите их командой mongorestore --uri. Если вы переходите с более старой версии, прочитайте заметки MongoDB об обновлении.