Wie man eine MongoDB-Instanz auf einem VPS erstellt

Die Bereitstellung von MongoDB auf einem Virtual Private Server (VPS) gibt Ihnen die vollständige Kontrolle über Ihre Datenbankinfrastruktur – ideal für Entwickler, Startups und Unternehmen, die Wert auf Leistung, Flexibilität und Datenhoheit legen. Dieser Leitfaden führt Sie durch die fortgeschrittenen Schritte zur Installation, Konfiguration, Sicherung und Optimierung von MongoDB auf einem VPS.

🛠️ Schritt 1: Aktualisieren Sie Ihr System

sudo apt update && sudo apt upgrade -y

Stellen Sie Ihren Hostnamen und die Zeitzone ein:

hostnamectl set-hostname mongodb-server
timedatectl set-timezone UTC

📦 Schritt 2: MongoDB installieren

1. MongoDB GPG-Schlüssel importieren

wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo gpg --dearmor -o /usr/share/keyrings/mongodb-server-6.0.gpg

2. Hinzufügen des MongoDB-Repositorys

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

Hinweis: Ersetzen Sie focal durch jammy oder Ihre Version, wenn Sie Ubuntu 22.04 verwenden.

3. MongoDB installieren

sudo apt update
sudo apt install -y mongodb-org

🧪 Schritt 3: MongoDB starten und aktivieren

sudo systemctl start mongod
sudo systemctl enable mongod

Prüfen Sie den Status:

sudo systemctl status mongod

🔐 Schritt 4: Sichern Sie Ihren MongoDB-Server

Standardmäßig bindet sich MongoDB an 127.0.0.1. Wenn Sie Fernzugriff wünschen:

1. Bearbeiten Sie die Config

sudo nano /etc/mongod.conf

Finde die bindIp Zeile unter net: und ändere sie:

bindIp: 127. 0.0.1,0.0.0.0

2. Aktivieren Sie die Authentifizierung

Fügen Sie unter dem Abschnitt security::

security:
authorization: enabled

Starten Sie MongoDB neu:

sudo systemctl restart mongod

👤 Schritt 5: Admin-Benutzer anlegen

Rufen Sie die MongoDB-Shell auf:

mongosh

Erstellen Sie einen Admin-Benutzer:

use admin
db.createUser({
user: "admin",
pwd: "StrongPassword123!",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
})

Beenden Sie mit exit, dann testen Sie die Anmeldung:

mongosh -u admin -p --authenticationDatabase admin

🛡️ Schritt 6: Härten Sie den VPS und MongoDB

1. UFW-Firewall

sudo ufw erlauben OpenSSH
sudo ufw erlauben 27017/tcp
sudo ufw enable

Für den Fernzugriff von einer einzigen IP:

sudo ufw allow from YOUR.IP.ADDRESS to any port 27017

2. Fail2Ban (SSH-Schutz)

sudo apt install fail2ban -y
sudo systemctl enable fail2ban

⚙️ Schritt 7: Erweiterte Optimierung (optional)

1. Replikatsatz für Hochverfügbarkeit

Ändern Sie /etc/mongod.conf:

replication:
replSetName: "rs0"

Initialisieren:

mongosh
rs.initiate()

2. Backup-Strategie

Verwenden Sie mongodump für Backups:

mongodump --out /var/backups/mongodb/$(Datum %F)

Automatisieren Sie mit cron:

crontab -e
# Täglich um 2 Uhr morgens
0 2 * * * /usr/bin/mongodump --out /var/backups/mongodb/$(Datum \%F)

3. TLS/SSL für verschlüsselte Verbindungen verwenden

Erzeugen Sie Zertifikate und konfigurieren Sie den Abschnitt net.ssl in mongod.conf. Dies erfordert weitere Einstellungen und eine vertrauenswürdige Zertifizierungsstelle (CA).

🧪 Schritt 8: Testen Sie Ihren Einsatz

Sie können die Fernkonnektivität testen:

mongosh "mongodb://admin:StrongPassword123!@Ihre-server-ip:27017/admin"

Ersetzen Sie Ihre-server-ip durch Ihre VPS-IP oder Ihren Domainnamen.

📊 Schritt 9: Überwachen Sie Ihre MongoDB

Ziehen Sie Tools wie:

  • MongoDB Atlas Monitoring Agent (optional)

  • Prometheus Grafana mit Exportern

  • Benutzerdefinierte Alarmierung mit Cron und Logwatch

Sie können die Logs auch direkt beobachten:

sudo tail -f /var/log/mongodb/mongod.log

✅ Abschließende Checkliste

  • MongoDB ist installiert und läuft

  • Fernzugriff gesichert

  • Administrator-Authentifizierung erzwungen

  • Firewall konfiguriert

  • Backups eingerichtet

  • Optionale Überwachung aktiviert

🧩 Schlussfolgerung

Der Betrieb von MongoDB auf einem VPS bietet Ihnen eine unübertroffene Flexibilität, erfordert jedoch eine sorgfältige Beachtung von Sicherheit, Backups und Leistung. Wenn Sie diese Anleitung befolgen, haben Sie eine sichere und produktionsbereite MongoDB-Instanz erstellt, die bereit ist, mit dem Wachstum Ihrer Anwendung zu wachsen.