刘贵学博客

阿里云ECS 与 MongoDB 服务器的部署

1. 购买服务

购买ECS 与 MongoDB服务,需要在同一区域购买,比如都是华北1。

先购买ECS,网络类型选择 专有网络 VPC.

购买 mongoDB时,选择专有网络类型,选择对应的VPC 名称。

2. ESC 基本配置

参考 SSH 秘钥部署常见场景 场景二。

3. 互通链接配置

3.1 MongoDB 网络代理设置

1) 阿里云的MongoDB默认是不能直接通过外网访问的,如果需要访问,可以通过 ECS 作代理。


自动加载内网 IP设置即可。
2). 测试,在ECS机器中,通过mongo shell 手动连接到mongodb

mongo --host dds-XXXX.mongodb.rds.aliyuncs.com:3717 --authenticationDatabase admin -u root -p

注意,如果测试失败,请检查mongo的版本,必须要升级ECS中提到的 mongo版本 v3.0以上。
ubuntu16.04 下安装 mongo 3.0 以上的方法:

echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-3.2.list
apt-get update
apt-get install -y mongodb-org  --allow-unauthenticated

3). 通过ECS的内网连接MongoDB

其中 /etc/rinetd.conf 的内容如下:

0.0.0.0 27098   dds-XXXX.mongodb.rds.aliyuncs.com  3717
logfile /var/log/rinetd.log

如遇到以下错误

请将 /etc/rinetd.conf 配置文件中的空格替换为 Tab

启动 rinetd 服务:

pkill rinetd  //如果已经开启则先停止
rinetd

3.2 通过ECS访问数据库

在本地 使用ECS 的公网IP连接到数据库:

 mongo --host 1.1.1.1:3717 -u root -p 密码 --authenticationDatabase admin

注意,可能会遇到如下问题:

原因是 申请ECS时,没有开通相关端口, 配置方法如下: