无法将DocumentDB与SageMaker Studio连接求助
解决SageMaker Studio Notebook连接DocumentDB超时问题
我之前成功实现过同VPC下SageMaker Studio和DocumentDB的连接,给你列几个必须排查的关键点,都是容易踩的坑:
子网路由表检查:
即使在同一个VPC,如果SageMaker Studio所在子网的路由表没有指向DocumentDB集群所在子网的路由(或者默认路由不是VPC内部的),流量可能无法正常到达。确认路由表中没有将所有流量导向互联网网关,DocumentDB是VPC内服务,只需要VPC内部的路由规则。双向安全组规则验证:
别只看DocumentDB的入站规则,还要检查:- DocumentDB的安全组出站规则:允许TCP 27017端口的流量到SageMaker Studio所在的子网/CIDR,或者直接允许所有出站流量。
- SageMaker Studio的安全组出站规则:允许TCP 27017端口到DocumentDB集群的CIDR范围。
连接字符串的正确性:
pymongo连接DocumentDB必须带SSL配置,而且参数不能错,示例正确的连接代码:import pymongo client = pymongo.MongoClient( "mongodb://<你的用户名>:<你的密码>@<DocumentDB集群端点>:27017/", ssl=True, ssl_ca_certs="/etc/ssl/certs/AmazonRootCA1.pem", replicaSet="rs0", readPreference="secondaryPreferred", retryWrites=False ) # 测试连接 print(client.list_database_names())注意:
replicaSet参数必须和DocumentDB控制台显示的一致(默认是rs0),ssl_ca_certs路径在SageMaker Notebook实例中通常是默认存在的,如果找不到可以手动下载Amazon根证书。端口连通性测试:
在SageMaker Notebook的终端里执行以下命令,测试是否能通DocumentDB的27017端口:nc -zv <DocumentDB集群端点> 27017如果返回"Connection refused"或者超时,说明网络层面还有问题,优先排查安全组和路由表;如果能连通,再检查代码和连接参数。
DocumentDB集群状态确认:
登录AWS控制台确认DocumentDB集群处于"可用"状态,没有正在维护或故障的节点。
内容的提问来源于stack exchange,提问作者Davi Barreira
相关产品推荐
相关产品推荐

