您可以为文档数据库服务实例绑定弹性公网IP,通过公网方式访问文档数据库服务实例。
当应用部署在天翼云弹性云服务器上,且该弹性云服务器与文档数据库服务实例处于不同区域时,或者应用部署在其他厂商的云服务器上时,建议通过弹性公网IP连接文档数据库服务实例。
本文以部署在弹性云服务器上的应用场景为例,介绍如何使用Mongo Shell通过公网方式连接实例。
连接实例的方式有SSL连接和非SSL连接两种方法,其中SSL连接进行了加密,具有更高的安全性。为了提升数据在网络传输过程中的安全性,建议采用SSL方式。
前提条件
- 创建并登录弹性云服务器。
- 实例绑定弹性公网IP,并设置安全组规则,确保可以通过弹性云服务器访问实例。
- 需要在白名单管理添加公网配置以及使用规则设置。
- 在弹性云服务器上,安装MongoDB客户端。
非SSL方式连接
- 进入“TeleDB数据库控制台。
- 在“DDS”>“实例管理”页面,选择指定的目标实例,单击实例名称,进入“基本信息”页面。
- 在实例信息中关闭SSL。
- 查看绑定弹性公网IP。
- 连接弹性云服务器。
- 在客户端工具mongo所在的目录下,连接数据库实例。
方式一:公网高可用连接(推荐)
命令格式:
./mongo <公网高可用连接地址>
公网高可用连接地址:您可以在“基本信息>数据库连接”处获取。
连接示例:
./mongo "mongodb://root:password@100.124.xx.xx:9030,100.124.xx.xx:9030/admin?authSource=admin"
参数 | 说明 |
---|---|
root | 表示数据库帐号名。默认创建root账号,也可以是您创建的账号。 |
password | 表示数据库帐号对应的密码,需要替换为真实密码。如果密码中包含特殊字符“@”、“!”和“%”需要分别替换为对应的十六进制的URL编码(ASCII码)“%40”、“%21”和“%25”。示例:密码为****@%!,对应的URL编码为****%40%25%21。 |
100.124.xx.xx:9030,100.124.xx.xx:9030 | 待连接实例的mongod节点弹性公网IP地址及端口号,集群实例为mongos节点弹性公网IP地址及端口号。mongod默认端口8030,mongos默认端口9030。 |
admin | 表示admin库名,可根据实际情况设置。 |
authSource=admin | root帐号认证数据库必须为“admin”,root账号为“authSource=admin”固定格式不可改变,也可以是您创建账号所在的库。 |
方式二:公网IP地址连接
命令格式:
./mongo --host <db_host> --port <db_port> -u <db_user> -p --authenticationDatabase admin
连接示例:
./mongo --host 100.124.xx.xx --port 9030 -u root -p --authenticationDatabase admin
参数 | 说明 |
---|---|
db_user | 表示数据库帐号名。默认创建root账号,也可以是您创建的账号。 |
db_host | 待连接实例的mongod节点弹性公网IP地址,集群实例为mongos节点弹性公网IP地址。 |
db_port | 待连接实例的mongod节点端口号,集群实例为mongos节点端口号。 |
--authenticationDatabase admin | root帐号认证数据库必须为“admin”,root账号为“--authenticationDatabase admin”固定格式不可改变,也可以是您创建账号所在的库。 |
出现如下提示时,输入数据库帐号对应的密码:
Enter password:
出现如下信息,说明连接成功。
- 集群:
mongos>
- 副本集主和备:
DDS:PRIMARY>
DDS:SECONDARY>
注意
分片集群规格实例模式下,支持多个Mongos节点的公网IP高可用模式连接。
SSL方式连接
- 进入TeleDB数据库控制台。
- 在“DDS”>“实例管理”页面,选择指定的目标实例,单击实例名称,进入“基本信息”页面。
- 在实例信息中开启SSL,点击下载证书。
- 查看绑定弹性公网IP。
- 连接弹性云服务器,上传证书至弹性云服务器。
- 在客户端工具mongo所在的目录下,连接数据库实例。
方式一:公网高可用连接(推荐)
命令格式:
./mongo <公网高可用连接地址> --ssl --sslCAFile <file_path> --sslAllowInvalidHostnames
公网高可用连接地址:您可以在“基本信息>数据库连接”处获取。
连接示例:
./mongo "mongodb://root:password@100.124.xx.xx:9030,100.124.xx.xx:9030/admin?authSource=admin" --ssl --sslCAFile /conf/ca.crt -sslAllowInvalidHostnames
参数 | 说明 |
---|---|
root | 表示数据库帐号名。默认创建root账号,也可以是您创建的账号。 |
password | 表示数据库帐号对应的密码,需要替换为真实密码。如果密码中包含特殊字符“@”、“!”和“%”需要分别替换为对应的十六进制的URL编码(ASCII码)“%40”、“%21”和“%25”。示例:密码为****@%!,对应的URL编码为****%40%25%21。 |
100.124.xx.xx:9030,100.124.xx.xx:9030 | 待连接实例的mongod节点弹性公网IP地址及端口号,集群实例为mongos节点弹性公网IP地址及端口号。mongod默认端口8030,mongos默认端口9030。 |
admin | 表示admin库名,可根据实际情况设置。 |
authSource=admin | root帐号认证数据库必须为“admin”,root账号为“authSource=admin”固定格式不可改变,也可以是您创建账号所在的库。 |
file_path | 存放根证书的路径。 |
--sslAllowInvalidHostnames | 证书使用内部IP地址生成。通过公网SSL连接实例时,需要添加“--sslAllowInvalidHostnames”。 |
方式二:公网IP地址连接
命令格式:
./mongo --host <db_host> --port <db_port> -u <db_user> -p --authenticationDatabase admin --ssl --sslCAFile <file_path> --sslAllowInvalidHostnames
连接示例:
./mongo --host 100.124.xx.xx --port 9030 -u root -p --authenticationDatabase admin --ssl --sslCAFile /conf/ca.crt --sslAllowInvalidHostnames
参数 | 说明 |
---|---|
db_user | 表示数据库帐号名。默认创建root账号,也可以是您创建的账号。 |
db_host | 待连接实例的mongod节点弹性公网IP地址,集群实例为mongos节点弹性公网IP地址。 |
db_port | 待连接实例的mongod节点端口号,集群实例为mongos节点端口号。 |
--authenticationDatabase admin | root帐号认证数据库必须为“admin”,root账号为“--authenticationDatabase admin”固定格式不可改变,也可以是您创建账号所在的库。 |
file_path | 存放根证书的路径。 |
--sslAllowInvalidHostnames | 证书使用内部IP地址生成。通过公网SSL连接实例时,需要添加“--sslAllowInvalidHostnames”。 |
出现如下提示时,输入数据库帐号对应的密码:
Enter password:
出现如下信息,说明连接成功。
- 集群:
mongos>
- 副本集主和备:
DDS:PRIMARY>
DDS:SECONDARY>
注意
分片集群规格实例模式下,支持多个Mongos节点的公网IP高可用模式连接。