mongoDB に接続しようとしていますが、ホストに到達できないようです。
この問題は、mongoshell と pymongo で発生します。私が使用するシェルで
mongo --ssl --sslAllowInvalidCertificates host:port/db -u user -p pass --sslCAFile ca.pem
次のエラーメッセージが表示されます。
MongoDB shell version: 3.2.9
connecting to: host:port/db
2016-09-30T13:41:57.268-0300 W NETWORK [thread1] Failed to connect to host_ip:port after 5000 milliseconds, giving up.
2016-09-30T13:41:57.323-0300 E QUERY [thread1] Error: couldn't connect to server host:port, connection attempt failed :
connect@src/mongo/shell/mongo.js:231:14
@(connect):1:6
exception: connect failed
pymongoでは、次のコードで接続します
Config = configparser.ConfigParser()
Config.read('configurations.cfg')
mongo_conf = Config['mongoDB_test']
connect = "mongodb://%s:%s@%s:%s/%s?ssl=true" \
%(mongo_conf['user'],mongo_conf['pass'],mongo_conf['host'],mongo_conf['port'],mongo_conf['database'])
client = MongoClient(connect,ssl_ca_certs=mongo_conf['cert'])
db = client[mongo_conf['database']]
実行すると、これが得られます
Traceback (most recent call last):
File "test.py", line 24, in <module>
db.test.insert_one(data)
File "/home/jmpf13/repos/laura/dev_env/lib/python3.5/site-packages/pymongo/collection.py", line 627, in insert_one
with self._socket_for_writes() as sock_info:
File "/usr/lib/python3.5/contextlib.py", line 59, in __enter__
return next(self.gen)
File "/home/jmpf13/repos/laura/dev_env/lib/python3.5/site-packages/pymongo/mongo_client.py", line 762, in _get_socket
server = self._get_topology().select_server(selector)
File "/home/jmpf13/repos/laura/dev_env/lib/python3.5/site-packages/pymongo/topology.py", line 210, in select_server
address))
File "/home/jmpf13/repos/laura/dev_env/lib/python3.5/site-packages/pymongo/topology.py", line 186, in select_servers
self._error_message(selector))
pymongo.errors.ServerSelectionTimeoutError: host:port: timed out