2015-09-04 97 views
0

我試圖連接到遠程mongodb實例。通過pimongo中的ssh連接到遠程mongodb

訪問數據庫pymongo之外,我通常做到以下幾點:

> ssh [email protected] 
-$ mongo 
-$ use some_database 
-$ db.some_collection.findOne() 
.... 

這裏的認證是通過我的筆記本電腦本地存儲和正常工作私鑰(my_key.pem)來完成。

然而,當我做同樣的事情在python,它超時:

>>> from pymongo import MongoClient 
>>> c = MongoClient('[email protected]') 
>>> c['some_database']['some_collection'].find_one() 

這裏有列出了一些身份驗證選項:http://api.mongodb.org/python/current/examples/authentication.html?highlight=pem,但我不明白他們足夠的瞭解,如果他們是相關的。

如何連接?

回答

0

在您列出的命令中,您通過SSH連接到EC2服務器,然後運行mongo客戶端應用程序連接到本地MongoDB數據庫。這不是您的應用程序連接到數據庫的方式。

您的應用程序是否在AWS上運行?如果是,那麼您需要配置security groups以允許訪問MongoDB。如果它運行在與數據庫相同的服務器上,那麼您甚至不需要處理安全組,您只需要爲其提供運行MongoDB的端口即可。

如果您的應用程序未在AWS上運行,但需要連接到AWS上的MongoDB實例,那麼您可以打開MongoDB端口(默認爲27017)到遠程應用程序(通過安全組),也可以使用SSH隧道。