環境
CentOS6.6
(参考)Ansible での Mongodb インストール
https://github.com/Chanmoro/ansible-sample/tree/master/roles/mongod
ローカル外からの接続
デフォルトのまま利用すると以下のようなエラーになり mongodb へのリモート接続ができません
$ mongo 192.168.56.101
MongoDB shell version: 3.0.2
connecting to: 192.168.56.101/test
2015-10-04T12:06:20.651+0530 W NETWORK Failed to connect to 192.168.56.101:27017, reason: errno:61 Connection refused
2015-10-04T12:06:20.653+0530 E QUERY Error: couldn't connect to server 192.168.56.101:27017 (192.168.56.101), connection attempt failed
at connect (src/mongo/shell/mongo.js:181:14)
at (connect):1:6 at src/mongo/shell/mongo.js:181
exception: connect failed
リモート接続を許可する
mongodb が listen するIPアドレスはデフォルトでは 127.0.0.1 に設定されており、ローカルからのみアクセスを許可するようになっています
mongod.conf の bind_ip に設定されたIPアドレスで listen するのでこれを変更することで外部からの接続を許可します
ここに 0.0.0.0 を設定すると全てのIPアドレスからの接続を許可します
/etc/mongod.conf
# Listen to local interface only. Comment out to listen on all interfaces.
bind_ip=0.0.0.0
複数のIPを設定することも可能です
/etc/mongod.conf
# Listen to local interface only. Comment out to listen on all interfaces.
bind_ip=127.0.0.1,192.168.56.101
mongod を再起動すると反映
$ service mongod restart
設定反映後はリモート接続ができるようになります
$ mongo 192.168.56.101
MongoDB shell version: 3.0.2
connecting to: 192.168.56.101/test
>
> show dbs
local 0.078GB
>