本文介绍如何解决由网络环境导致的实例连接失败问题。
背景信息
本文主要排查由网络环境导致的实例连接失败问题,如果您需要排查其他方面的问题,请参见如何排查无法连接MongoDB实例的问题?。
概览
您可以参见如下流程图检查网络环境:
私网网络环境
检查地域
云服务器ECS实例和云数据库MongoDB实例需在同一地域,才能通过私网连接。
检查云服务器ECS实例和云数据库MongoDB实例是否位于同一地域。可以是同一地域的相同或不同可用区。
如果云服务器ECS实例和云数据库MongoDB实例的地域相同,请查看下一步,检查网络类型。若地域不相同,请查看如下解决方法:
方法一(推荐):迁移云数据库MongoDB实例或云服务器ECS实例,使两者归属到同一地域,如何迁移,请参见不同地域的ECS通过内网连接MongoDB。
方法二:在两个专有网络ID(VPC ID)之间建立云企业网,仅适用于实例的网络类型都是专有网络。如何建立云企业网,请参见使用云企业网实现跨地域网络实例互通。
方法三:云服务器ECS实例使用云数据库MongoDB实例的公网地址连接云数据库MongoDB实例,如何申请公网地址并通过公网连接云数据库MongoDB实例,请参见本地客户端通过公网连接MongoDB。这种方法的性能、安全性、稳定性较差,当涉及跨国网络时网络的稳定性会更差。
检查网络类型
云服务器ECS实例和云数据库MongoDB实例需在同一网络类型(都是专有网络或者都是经典网络)或者同一专有网络ID下,才能通过私网连接。
专有网络是一种隔离的网络环境,不同专有网络之间逻辑上彻底隔离,所以当云服务器ECS实例和云数据库MongoDB实例的网络类型都是专有网络时,还需要保证它们所属的专有网络ID相同,才能通过私网连接。
检查云服务器ECS实例和云数据库MongoDB实例的网络类型或者专有网络ID是否相同。
您可以前往ECS管理控制台,在ECS实例的实例详情页面查看网络类型与专有网络。
您可以前往MongoDB管理控制台,在MongoDB实例的基本信息页面查看网络类型与专有网络。
若实例的网络类型或者专有网络ID不相同,请根据如下场景选择对应的解决方法:
场景 | 解决方法 |
|
|
|
|
|
|
如果云服务器ECS实例和云数据库MongoDB实例的网络类型和专有网络ID均相同,请排查其他问题,更多信息,请参见如何排查无法连接MongoDB实例的问题。
检查私网地址
您需要使用正确的私网地址才能通过私网连接云数据库MongoDB实例。
检查私网地址是否正确。
您可以登录MongoDB管理控制台,在数据库连接页面查看云数据库MongoDB实例的私网地址。
公网网络环境
您需要使用正确的公网地址才能通过公网连接云数据库MongoDB实例。
检查公网地址是否正确。
您可以登录MongoDB管理控制台,在数据库连接页面查看云数据库MongoDB实例的公网地址。