创建Mongodb和ECS并自动添加访问白名单

简介: 云数据库 MongoDB版,采用三节点副本集的架构保证服务的高可用。本文介绍如何通过阿里云资源编排服务(ROS),创建一台ECS服务器和一个Mongodb版云数据库,并把ECS加入到Mongodb的访问白名单中。 先试为快,一步创建 >> 创建ECS实例 创建ECS实例的详细说明,请移步 通
+关注继续查看

云数据库 MongoDB版,采用三节点副本集的架构保证服务的高可用。本文介绍如何通过阿里云资源编排服务(ROS),创建一台ECS服务器和一个Mongodb版云数据库,并把ECS加入到Mongodb的访问白名单中。

先试为快,一步创建 >>

创建ECS实例

创建ECS实例的详细说明,请移步 通过资源编排创建一个ECS实例。模板片段如下:

{
  "ROSTemplateFormatVersion" : "2015-09-01",
  "Description": "一个简配的ecs实例,包括一个安全组,用户只需要指定imageId",
  "Parameters" : {
    "ImageId": {
      "Type" : "String",
      "Default": "centos6u5_64_40G_aliaegis_20160222.vhd",
      "Description": "镜像文件 ID,表示启动实例时选择的镜像资源"
    },
    "InstanceType": {
      "Type": "String",
      "Description": "实例的资源规格",
      "Default": "ecs.s3.medium",
      "AllowedValues": [
        "ecs.t1.small", "ecs.s1.small", "ecs.s1.medium", "ecs.s1.large",
        "ecs.s2.small", "ecs.s2.large", "ecs.s2.xlarge", "ecs.s2.2xlarge",
        "ecs.s3.medium", "ecs.s3.large", "ecs.m1.medium", "ecs.m2.medium",
        "ecs.m1.xlarge", "ecs.c1.small", "ecs.c1.large", "ecs.c2.medium",
        "ecs.c2.large", "ecs.c2.xlarge"
      ]
    },
    "SecurityGroupName": {
      "Type": "String",
      "Description": "安全组名称"
    }
  },
  "Resources" : {
    "WebServer": {
      "Type": "ALIYUN::ECS::Instance",
      "Properties": {
        "ImageId" : {"Ref": "ImageId"},
        "InstanceType": {"Ref": "InstanceType"},
        "SecurityGroupId": {"Ref": "SecurityGroup"}
      }
    },
    "SecurityGroup": {
      "Type": "ALIYUN::ECS::SecurityGroup",
      "Properties": {
        "SecurityGroupName": {"Ref": "SecurityGroupName"}
      }
    }
  }
}

创建Mongodb实例

ROS提供了资源 ALIYUN::MONGODB::Instance 支持创建Mongodb实例。

基本属性:

  • DBInstanceStorage, 所需存储空间大小,以GB为基本单位。
  • AccountPassword, root账号密码
  • SecurityIPArray, 实例访问白名单
  • DBInstanceClass,实例规格, 目前支持的规格列表如下:

    • 1核2G(dds.mongo.mid)
    • 2核4G(dds.mongo.standard)
    • 4核8G(dds.mongo.large)
    • 8核16G(dds.mongo.xlarge)
    • 8核32G(dds.mongo.2xlarge)
    • 16核64G(dds.mongo.4xlarge)

模板定义:

下面的模板将创建一个4核8G的classic类型的Mongodb实例,如果需要配置更多属性请参考ROS资源详情 ALIYUN::MONGODB::Instance

{
  "ROSTemplateFormatVersion" : "2015-09-01",
  "Parameters" : {
    "DBInstanceClass": {
      "Type": "String",
      "Description": "实例规格",
      "Default": "dds.mongo.mid",
      "AllowedValues": [
        "dds.mongo.mid", "dds.mongo.standard", "dds.mongo.large", 
        "dds.mongo.xlarge", "dds.mongo.2xlarge", "dds.mongo.4xlarge"
      ]
    }
  },
  "Resources" : {
    "MongoDB": {
      "Type": "ALIYUN::MONGODB::Instance",
      "Properties": {
        "DBInstanceClass":"dds.mongo.mid",
        "DBInstanceStorage":"10",
        "NetworkType":"CLASSIC"
      }
    }
  }
}

把ECS内网ip加入到Mongodb白名单

Mongodb中添加白名单配置如下:

"SecurityIPArray": {"Fn::GetAtt": [ "WebServer", "PrivateIp" ] }

创建完成后,ecs内网就可以访问mongodb!

完整的模板 下载地址

到ROS控制台创建资源栈>>

相关实践学习
一小时快速掌握 SQL 语法
本实验带您学习SQL的基础语法,快速入门SQL。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
9月前
|
SQL NoSQL JavaScript
MongoDB 自动增长
MongoDB 自动增长
|
10月前
|
NoSQL 前端开发 Java
SpringBoot2.x使用MongoDB的Rest端点访问数据
在之前项目中我们想要读取`MongoDB`内的内容需要使用`MongoDBTemplate`来完成数据的`CRUD`,那如果我们想要通过`RestController`的形式获取`MongoDB`内的数据就更麻烦了,还需要自行去创建对应的控制器,然后使用`MongoDBTemplate`从`MongoDB`内读取出数据后返回给前端。
|
11月前
|
NoSQL MongoDB 数据库
MongoDB v4.4.6安装、创建服务及Web客户端访问MongoDB详解
MongoDB v4.4.6安装、创建服务及Web客户端访问MongoDB详解
204 0
MongoDB v4.4.6安装、创建服务及Web客户端访问MongoDB详解
|
弹性计算 NoSQL 安全
公网访问阿里云MongoDB
既然无法直接使用公网(俗称的外网都是一个意思),那就使用端口转发的形式,把可以访问的一台服务器的公网ip和端口转到MongoDB的服务器即可,接下来我们使用rinetd的方式实现端口转发。
577 0
公网访问阿里云MongoDB
|
运维 NoSQL MongoDB
(2)MongoDB副本集自动故障转移原理(含客户端)
前文我们搭建MongoDB三成员副本集,了解集群基本特性,今天我们围绕下图聊一聊背后的细节。
(2)MongoDB副本集自动故障转移原理(含客户端)
|
NoSQL JavaScript 前端开发
MongoDB最简单的入门教程之二 使用nodejs访问MongoDB
MongoDB最简单的入门教程之二 使用nodejs访问MongoDB
MongoDB最简单的入门教程之二 使用nodejs访问MongoDB
|
NoSQL JavaScript Java
MongoDB最简单的入门教程之五-通过Restful API访问MongoDB
MongoDB最简单的入门教程之五-通过Restful API访问MongoDB
198 0
MongoDB最简单的入门教程之五-通过Restful API访问MongoDB
|
NoSQL MongoDB 数据库
MongoDB 自动删除集合中过期的数据——TTL索引
简介 ​ TTL (Time To Live, 有生命周期的) 索引是特殊单字段索引,MongoDB可以用来在一定时间后自动从集合中删除文档的特殊索引。 这对于某些类型的数据非常好,例如机器生成的事件数据,日志和会话信息,这些信息只需要在数据库中保留一段时间。 ​ 创建 TTL 索引,只需要在使用 db.collection.createIndex() 方法,对字段值为日期或者包含日期的数组设置 expireAfterSeconds 选项即可。 1、如果字段是一个数组,并有多个日期值时,MongoDB使用最低(即最早)日期值来计算失效阈值。 2、如果字段不是日期类型也不是一个包含日期的数组
707 0
|
NoSQL MongoDB
AutoScaling 通过lifecycleHook自动添加MongoDB白名单
本文将为您介绍如何通过lifecycleHook实现弹性伸缩组中实例自动加入/移除MongoDB白名单。 相关介绍 lifecycleHook通过关联OOS模板的方式来实现自动化管理MongoDB白名单的工作,关于lifecycleHook与OOS如何协作,你可以查看兄弟文章AutoScaling 通过lifecycleHook自动添加Redis白名单。
717 0
推荐文章
更多