同VPC同安全组下,SageMaker Studio访问MongoDB超时如何解决?
排查SageMaker Studio与同VPC MongoDB连接超时的方案
以下是针对同VPC同安全组下连接超时的具体排查步骤:
- 检查MongoDB监听配置:查看MongoDB的
mongod.conf配置文件,确认net.bindIp参数未设置为仅127.0.0.1,建议设为0.0.0.0或实例的VPC私有IP,确保服务能接收VPC内的连接请求。 - 验证安全组入站规则:即使同属一个安全组,默认规则是拒绝入站流量的。需给MongoDB实例的安全组添加入站规则:选择
Custom TCP类型,端口填27017(MongoDB默认端口),源设置为当前安全组的ID,允许同安全组内的资源访问。 - 核对SageMaker Studio网络配置:确认SageMaker Studio域已关联目标VPC,且用户配置使用的是VPC内的私有子网(避免公有子网,除非配置了NAT网关,但同VPC内私有子网无需额外网关即可连通)。同时检查SageMaker执行角色是否具备VPC相关的基础权限(如
ec2:DescribeNetworkInterfaces)。 - 测试网络连通性:在SageMaker Studio的终端中执行
nc -zv <mongodb-private-ip> 27017或telnet <mongodb-private-ip> 27017,测试端口是否可达。如果连接失败,优先排查网络层面;如果能连通,再检查MongoDB的认证配置或连接字符串。 - 确认MongoDB服务状态:登录MongoDB所在的EC2实例,用
systemctl status mongod检查服务是否正常运行,或通过本地mongo命令验证服务是否可正常访问。 - 检查VPC路由表:确认VPC的路由表包含本地路由(即VPC的CIDR段指向
local),没有多余的路由规则拦截同VPC内的流量。 - 验证连接字符串正确性:确保使用MongoDB的私有IP而非公网IP或未配置内部解析的域名,连接字符串需包含正确的认证信息(如果开启了认证),格式示例:
mongodb://<user>:<password>@<private-ip>:27017/<db>?authSource=admin
内容的提问来源于stack exchange,提问作者user157410
相关产品推荐
相关产品推荐

