Ich habe mongodb in einer Google Cloud-Compute-Instanz eingerichtet und versuche, eine Remote-Verbindung herzustellen. Meine mongod.conf Datei sieht wie folgt aus:Ich kann keine Verbindung mit dem MongoDB-Remoteserver herstellen
# mongod.conf
# for documentation of all options, see:
# http://docs.mongodb.org/manual/reference/configuration-options/
# Where and how to store data.
storage:
dbPath: /var/lib/mongodb
journal:
enabled: true
# engine:
# mmapv1:
# wiredTiger:
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
# network interfaces
net:
port: 27017
bindIp: 0.0.0.0
#processManagement:
security:
authorization: 'enabled'
Ich habe Setup eine Firewall-Regel in meinem Google Cloud-Konsole, die die Instanz-Tags und öffnet tcp:27017
für ip 0.0.0.0/0
reicht.
Überprüfung auf dem Port 27017 es wie Mongo sieht hört:
sudo netstat -tulpn | grep 27017
tcp 0 0 0.0.0.0:27017 0.0.0.0:* LISTEN 3781/mongod
Insgesamt scheint es auch wie Port 27017 geöffnet ist:
netstat --listen
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 *:27017 *:* LISTEN
...
Auf der Instanz ich Setup ein Admin-Datenbank mit Admin Benutzer:
>use admin
>db.createUser(
{
user: 'admin',
pwd: 'somepass',
roles: [{ role: "userAdminAnyDatabase", db: "admin" }]
}
)
ich auch Setup ein Benutzer für eine Testdatenbank:
>use test
>db.createUser(
{
user: 'tester',
pwd: 'apassword',
roles: [{ role: "readWrite", db: "test" },
{ role: "read", db: "reporting" }]
}
)
Dieser Benutzer arbeitet lokal:
>use test
>db.auth('tester', 'apassword')
1
aber wenn ich versuche, eine Remote-Verbindung nicht OK:
$ mongo -u tester -p apassword 12.345.67.890/test
MongoDB shell version v3.4.1
connecting to: mongodb://12.345.67.890/test
2017-11-14T12:47:07.369-0700 W NETWORK [main] Failed to connect to 12.345.67.890:27017 after 5000ms milliseconds, giving up.
2017-11-14T12:47:07.370-0700 E QUERY [main] Error: couldn't connect to server 12.345.67.890:27017, connection attempt failed :
[email protected]/mongo/shell/mongo.js:234:13
@(connect):1:6
exception: connect failed
Ich bin kein Netzwerkexperte, also habe ich ziemlich erschöpft mein Wissen an diesem Punkt und weiß nicht weiter.
Fehle ich etwas in mongod.conf
? Habe ich die Firewall falsch eingerichtet? Jede Hilfe wird geschätzt.