Як створити екземпляр MongoDB на VPS
Як створити екземпляр MongoDB на VPS
Розгортання MongoDB на віртуальному виділеному сервері (VPS ) дає вам повний контроль над інфраструктурою вашої бази даних – ідеальний варіант для розробників, стартапів та організацій, для яких пріоритетами є продуктивність, гнучкість та суверенітет даних. У цьому посібнику ви дізнаєтеся, як встановити, налаштувати, захистити та оптимізувати MongoDB на VPS.
🛠️ Крок 1: Оновлення системи
Встановіть ім’я хоста і часовий пояс:
hostnamectl set-hostname mongodb-server
timedatectl set-timezone UTCкрок 2: Встановіть MongoDB
1. Імпортуйте GPG-ключ MongoDB
wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo gpg --dearmor -o /usr/share/keyrings/mongodb-server-6.0.gpg2. Додайте репозиторій MongoDB
echo "deb [ signed-by=/usr/share/keyrings/mongodb-server-6.0.gpg ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0 listПримітка: Замініть focal на jammy або вашу версію, якщо ви використовуєте Ubuntu 22.04.
3. Встановіть MongoDB
крок 3: Запуск та увімкнення MongoDB
Перевірте статус:
крок 4: Захистіть ваш сервер MongoDB
За замовчуванням MongoDB прив’язується до 127.0.0.1. Якщо вам потрібен віддалений доступ:
1. Відредагуйте конфігурацію
Знайдіть рядок bindIp у розділі net: і змініть його:
2. Увімкніть автентифікацію
У розділі security: додайте
security:
authorization: enabledПерезапустіть MongoDB:
крок 5: Створення користувача адміністратора
Увійдіть в оболонку MongoDB:
Створіть користувача admin:
use admin
db.createUser({
user: "admin",
pwd: "StrongPassword123!",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
})Вийдіть за допомогою exit, потім виконайте тестовий вхід:
🛡️ Крок 6: Захистіть VPS і MongoDB
1. Брандмауер UFW
sudo ufw allow OpenSSH
sudo ufw allow 27017/tcp
sudo ufw enableДля віддаленого доступу з одного IP:
2. Fail2Ban (захист по SSH)
⚙️ Крок 7: Розширена оптимізація (необов’язково)
1. Набір реплік для високої доступності
Змініть /etc/mongod.conf:
replication:
replSetName: "rs0"Ініціалізуйте:
mongosh
rs.initiate()2. Стратегія резервного копіювання
Використовуйте mongodump для створення резервних копій:
Автоматизуйте за допомогою cron:
crontab -e
# Щодня о 2 годині ночі
0 2 * * * * /usr/bin/mongodump --out /var/backups/mongodb/$(дата \%F)3. Використання TLS/SSL для зашифрованих з’єднань
Згенеруйте сертифікати і налаштуйте розділ net.ssl в mongod.conf. Це вимагає додаткових налаштувань і довіреного центру сертифікації (ЦС).
крок 8: Перевірте своє розгортання
Ви можете протестувати віддалене підключення:
Замініть your-server-ip на IP-адресу вашого VPS або ім’я домену.
крок 9: Моніторинг MongoDB
Розглянемо такі інструменти як:
MongoDB Atlas Monitoring Agent (необов’язково)
Prometheus Grafana з експортерами
Кастомні сповіщення за допомогою cron та logwatch
Ви також можете переглядати логи безпосередньо:
✅ Фінальний чек-лист
MongoDB встановлено та запущено
Віддалений доступ захищено
Ввімкнено автентифікацію адміністратора
Налаштовано брандмауер
Створені резервні копії
Увімкнено додатковий моніторинг
🧩 Висновок
Запуск MongoDB на VPS дає вам неперевершену гнучкість, але вимагає ретельної уваги до безпеки, резервного копіювання та продуктивності. Дотримуючись цього посібника, ви створили безпечний і готовий до роботи екземпляр MongoDB, готовий до масштабування в міру зростання вашого додатку.


