首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从亚马逊网络服务自托管MongoDB更改为Atlas会导致pymongo.errors.ServerSelectionTimeoutError:

问从亚马逊网络服务自托管MongoDB更改为Atlas会导致pymongo.errors.ServerSelectionTimeoutError:
EN

Stack Overflow用户
提问于 2021-11-02 16:08:50
回答 1查看 29关注 0票数 0

我有一个在ECS中运行的应用程序,该应用程序连接到同一VPC中的自托管mongoDB EC2实例。连接url是EC2实例的内网IP。以下是连接代码

代码语言:javascript
复制
# # mongodb connection string from systen env
MONGODB_URL = os.environ.get('MONGODB_URL', 'localhost')
MONGODB_PORT= int(os.environ.get('MONGODB_PORT', '27017'))
client = MongoClient(MONGODB_URL, MONGODB_PORT)

我将数据库移到了Atlas,建立了VPC对等连接,将AWS VPC网络列入了白名单,并为应用程序创建了一个新的数据库用户。

然后,我将ECS任务中的连接字符串更改为

MONGODB_URL: mongodb+srv://<username>:<password>@mongodb-prod.zzl18.mongodb.net/nameofDB?retryWrites=true&w=majority

现在,当我运行这个程序时,我得到:

代码语言:javascript
复制
pymongo.errors.ServerSelectionTimeoutError: mongodb-prod-shard-00-00.zzl18.mongodb.net:27017: timed out,mongodb-prod-shard-00-02.zzl18.mongodb.net:27017: timed out,mongodb-prod-shard-00-01.zzl18.mongodb.net:27017: timed out

为了查看是否存在网络问题,我打开了到0.0.0.0/0的DB网络访问

我仍然收到相同的错误。

也许问题出在连接字符串上,但我不确定。如果您能提供任何帮助,我们将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2021-11-03 14:53:49

需要将ECS App子网添加到VPC路由表中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69813569

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档