Гид по технологиям

Как создать кластер MongoDB Atlas и получить строку подключения

6 min read Базы данных Обновлено 02 Jan 2026
Кластер MongoDB Atlas и строка подключения
Кластер MongoDB Atlas и строка подключения

Иконки облачного хранилища и панели подключения

Вы можете разрабатывать приложение, используя локальную копию MongoDB или MongoDB Compass, но в продакшне обычно подключаются к удалённой базе данных. Подключение к живой (production) базе избавит вас от ручной настройки соединения при деплое — для этого используют кластер MongoDB Atlas.

В этом руководстве вы узнаете, что такое кластер MongoDB Atlas, как создать кластер, получить строку подключения (connection string), как безопасно хранить учётные данные и как интегрировать подключение в приложение на Node.js.

Что такое кластер MongoDB и зачем его использовать

Кластер MongoDB Atlas — это управляемое облачное размещение MongoDB, которое позволяет хранить данные на инфраструктуре AWS, Google Cloud или Microsoft Azure. Кластер выступает контейнером для баз данных: внутри него можно создавать несколько баз и коллекций.

Ключевые преимущества:

  • Управляемость: Atlas берет на себя часть облачных настроек (резервное копирование, масштабирование, обновления).
  • Мультиоблачность: выбор провайдера (AWS / Google Cloud / Azure).
  • Языковая независимость: драйверы для большинства языков и фреймворков.
  • Бесплатный старт: доступен Free Shared tier для тестов и небольших проектов.

Важно: облачный сервис не заменяет архитектурного планирования. Кластер упрощает эксплуатацию, но вы должны проектировать резервное копирование, безопасность и мониторинг под требования приложения.

Краткая методология: что делать сначала

  1. Спланируйте: выберите облачную платформу, уровень доступа и критерии безопасности.
  2. Создайте кластер в Atlas и пользователя базы данных.
  3. Ограничьте доступ по IP (IP Access List) или настройте VPC peering/Private Endpoint.
  4. Получите connection string и поместите его в безопасное хранилище (например, .env или secret manager).
  5. Подключите приложение, протестируйте и настройте мониторинг.

Как создать кластер в MongoDB Atlas

Кластер — это контейнер для ваших баз данных. Процедура создания:

  1. Перейдите на платформу MongoDB Atlas.
  2. Нажмите Sign In (Войти) и создайте учётную запись; можно использовать Google-аутентификацию для удобства.
  3. Примите политику конфиденциальности, если будет запрошено.
  4. На странице Welcome to Atlas заполните форму и нажмите Finish.

Форма приветственной страницы MongoDB Atlas

  1. Выберите тариф — для начала отметьте Free Shared и нажмите Create. Если вы случайно попали в дашборд, нажмите Build a Database чтобы вернуться к выбору плана.

Создание начального кластера MongoDB Atlas

  1. Выберите провайдера облака (например, AWS). Убедитесь, что выделена опция Free Shared.
  2. Нажмите Create Cluster.

Выбор облачного провайдера для кластера MongoDB Atlas

  1. На этапе настроек доступа добавьте пользователя базы данных: выберите способ аутентификации Username and Password, задайте имя пользователя и пароль. Можно нажать Autogenerate Secure Password, но скопируйте пароль в защищённое место (менеджер паролей).

Страница настроек прав доступа MongoDB Atlas

  1. В разделе доступа по IP выберите My Local Environment и нажмите Add My Current IP Address, затем Finish and Close.

Раздел настройки IP-адресов для доступа к кластеру

  1. Из модального окна нажмите Go to Databases. Кластер будет создан — это может занять несколько минут.

Important: Для продакшна вместо добавления публичного IP лучше использовать Private Endpoint, VPC peering или ограничивать доступ набором статических IP адресов CI/CD/серверов.

Как получить строку подключения (connection string)

Строка подключения — это URI, который связывает ваше приложение с кластером Atlas.

  1. На странице кластера нажмите Connect.

Дашборд кластера MongoDB Atlas

  1. Выберите Connect your application.

Выбор способа подключения приложения

  1. В разделе DRIVER выберите язык/драйвер и укажите версию в поле VERSION.
  2. Поставьте галочку Include full driver code example, чтобы получить пример подключения; если снять — останется только строка URI.

Выбор версии драйвера и формата строки подключения

В результате вы увидите блок с кодом и/или URI. Строка обычно выглядит так:

"mongodb+srv://:@cluster0.1z0kr.mongodb.net/myFirstDatabase?retryWrites=true&w=majority"

Atlas автоматически подставляет имя пользователя в URI, а вам нужно заменить на ваш пароль и myFirstDatabase — на желаемое имя базы.

Пример подстановки (имя пользователя admin, пароль secret_password, база myDB):

"mongodb+srv://admin:secret_password@cluster0.1z0kr.mongodb.net/myDB?retryWrites=true&w=majority"

Пример подключения в Node.js (mongoose)

Ниже — корректный и безопасный пример использования mongoose с чтением URI из переменных окружения. Этот код безопаснее, чем хардкод пароля в исходниках.

// Установите зависимости: npm install mongoose dotenv
require('dotenv').config();
const mongoose = require('mongoose');

const mongoDBClusterURI = process.env.MONGODB_URI; // ЧИТАТЬ ИЗ .env

async function connectMongo() {
  try {
    await mongoose.connect(mongoDBClusterURI, { useNewUrlParser: true, useUnifiedTopology: true });
    console.log('Successfully connected to MongoDB');
  } catch (err) {
    console.error('MongoDB connection error:', err);
    process.exit(1);
  }
}

module.exports = { connectMongo };

Пример server.js, где вызывается connectMongo():

const express = require('express');
const { connectMongo } = require('./db');

const app = express();
const PORT = process.env.PORT || 8080;

app.listen(PORT, async () => {
  await connectMongo();
  console.log(`App listening on port ${PORT}`);
});

Файл .env (пример):

MONGODB_URI="mongodb+srv://admin:secret_password@cluster0.1z0kr.mongodb.net/myDB?retryWrites=true&w=majority"
PORT=8080

Note: Некоторые платформы (например, Heroku, Vercel, AWS) поддерживают прямое хранение секретов (config vars / secrets), используйте их вместо .env в продакшне.

Практические советы безопасности и жёсткая конфигурация

  • IP Access List: добавьте только доверенные IP-адреса или используйте Private Endpoint / VPC peering.
  • Пользовательские роли: создавайте пользователей с минимально необходимыми правами (least privilege), не используйте admin для приложения.
  • Пароли: генерируйте сильные пароли и периодически меняйте их. Используйте менеджер паролей.
  • TLS: Atlas по умолчанию использует TLS для подключения; не отключайте шифрование транспорта.
  • Хранение секретов: не храните строки подключения в репозитории. Используйте secret manager, Kubernetes Secrets или .env + .gitignore для локальной разработки.
  • Rotation: планируйте регулярную ротацию ключей/паролей и тестовые процедуры восстановления доступа.

Короткий чек-лист безопасности (роль-based):

  • Разработчик:
    • Не хардкодить секреты в коде.
    • Тестировать подключение в изолированной среде.
    • Использовать переменные окружения.
  • DevOps / SRE:
    • Настроить IP Access List или Private Endpoint.
    • Настроить бэкапы и мониторинг (alerts).
    • План ротации паролей и восстановление доступа.
  • DBA / Архитектор:
    • Определить политики доступа и роли пользователей.
    • Настроить шардирование/репликацию, когда нужно масштабировать.

Когда кластер не лучший выбор (контрпримеры)

  • Локальные экспериментальные проекты, где важна работа оффлайн — проще использовать локальную MongoDB.
  • Очень строгие требования к хранению данных внутри собственной сети (on-prem) — тогда необходима собственная инфраструктура.
  • Очень чувствительные данные без дополнительной архитектуры: даже если Atlas обеспечивает шифрование, вы несёте ответственность за соответствие требованиям законодательства и внутренней политики.

Альтернативные подходы

  • Самостоятельный хостинг MongoDB на виртуальной машине (возможность полного контроля, но больше операционной нагрузки).
  • Использование других управляемых NoSQL-сервисов (DynamoDB, Cosmos DB) в зависимости от требований приложений.
  • Для реляционных сценариев — managed RDS / Cloud SQL.

Критерии приёмки

  • Приложение успешно подключается к кластеру в тестовой среде без ошибок.
  • Строка подключения хранится в secrets manager или .env и не попадает в репозиторий.
  • Доступ по IP ограничен или настроен частный endpoint.
  • Минимальные права у пользователя базы данных, используемого приложением.
  • Мониторинг и алерты настроены для критических метрик (подключения, латентность, использование памяти).

Мини-справочник терминов

  • Кластер — логический контейнер баз данных в Atlas.
  • Connection string / URI — строка, по которой приложение подключается к MongoDB.
  • SRV — DNS-запись для MongoDB Atlas; строка обычно начинается с mongodb+srv://.
  • IP Access List — белый список IP-адресов, которым разрешён доступ к кластеру.

Примеры тестов и приёмочные критерии

  • Подключение: приложение устанавливает соединение и может создать коллекцию и документ.
  • Безопасность: попытка подключения с недоверенного IP должна быть отклонена.
  • Резервное копирование: можно восстановить тестовую базу из последнего снапшота.

Короткая таблица решений (ментальные модели)

  • Малый проект / прототип — Free Shared tier в Atlas или локальный MongoDB.
  • Средний проект с несколькими окружениями — Atlas с отдельными кластерами для dev/stage/prod и secret manager.
  • Критичный проект с требованием высокой доступности — выделенные кластеры, резервирование и мониторинг.

Резюме

Кластер MongoDB Atlas упрощает развертывание и эксплуатацию базы данных: вы получаете управляемое хранилище с возможностью масштабирования и готовой инфраструктурой. Для безопасного и стабильного использования следуйте рекомендациям по управлению доступом, хранению секретов и мониторингу. Используйте приведённые примеры подключения и чек-листы, чтобы быстро и безопасно интегрировать MongoDB Atlas в ваш рабочий процесс.

Экспортная заметка: перейдите в дашборд кластера и нажмите Browse Collections, чтобы увидеть базы и коллекции после первой записи данных.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Как исправить ошибку DX11 feature level 10.0
Техподдержка

Как исправить ошибку DX11 feature level 10.0

Защита аккаунта Binance: полное руководство 2FA
Безопасность

Защита аккаунта Binance: полное руководство 2FA

Номера слайдов в PowerPoint — добавить, переместить, удалить
Office

Номера слайдов в PowerPoint — добавить, переместить, удалить

Wi‑Fi отчёт Windows: создать и проанализировать
Windows

Wi‑Fi отчёт Windows: создать и проанализировать

Отключить звук запуска Windows 11
Windows

Отключить звук запуска Windows 11

Восстановление удалённых файлов в Microsoft Teams
IT

Восстановление удалённых файлов в Microsoft Teams