ALIYUN::MONGODB::ShardingInstance

更新时间:2024-12-26 06:18:00

ALIYUN::MONGODB::ShardingInstance类型用于创建或者克隆MongoDB分片集群实例。

语法

{
  "Type": "ALIYUN::MONGODB::ShardingInstance",
  "Properties": {
    "EngineVersion": String,
    "ZoneId": String,
    "AutoRenew": Boolean,
    "VSwitchId": String,
    "Period": Integer,
    "SecurityIPArray": String,
    "Mongos": List,
    "StorageEngine": String,
    "RestoreTime": String,
    "AccountPassword": String,
    "VpcId": String,
    "ProtocolType": String,
    "ChargeType": String,
    "ConfigServer": List,
    "SrcDBInstanceId": String,
    "ReplicaSet": List,
    "Tags": List,
    "TDEStatus": Boolean,
    "DBInstanceDescription": String,
    "ResourceGroupId": String,
    "SecondaryZoneId": String,
    "HiddenZoneId": String,
    "StorageType": String
  }
}

属性

属性名称

类型

必须

允许更新

描述

约束

属性名称

类型

必须

允许更新

描述

约束

EngineVersion

String

数据库版本号。

取值:

  • 3.4

  • 4.0

  • 4.2

说明

克隆实例时,该值必须与源实例保持一致。

ZoneId

String

可用区ID。

AutoRenew

Boolean

设置实例是否自动续费。

取值:

  • true:自动续费。

  • false(默认值):不自动续费,即手动续费。

说明

ChargeType参数值为PrePaid时,该参数有效。

VSwitchId

String

交换机ID。

无。

Period

Integer

实例的购买时长。

取值:1~9、12、24、36。

单位:月。

说明

ChargeType参数值为PrePaid时,该参数可用且必须指定。

SecurityIPArray

String

实例的IP白名单。

以半角逗号(,)隔开,不可重复,最多支持1000IP。

支持格式:

  • %

  • 0.0.0.0/0

  • 10.23.XX.XX(IP)

  • 10.23.XX.XX/24(CIDR模式,无类域间路由。/24表示地址前缀的长度,取值范围:1~32。)

说明

%和0.0.0.0/0表示任何IP地址都可以访问实例的数据库,属于高危设置,请谨慎操作。

Mongos

List

Mongos节点。

节点数量:2~32。

更多信息,请参见Mongos属性

StorageEngine

String

实例使用的存储引擎。

取值:

  • WiredTiger(默认值):适用于大多数业务场景。

  • RocksDB:适用于大量写且少读的场景。

  • TerarkDB:适用于多读少写或批量写大量读的场景。

说明

克隆实例时,该值必须与源实例保持一致。

RestoreTime

String

克隆实例时所恢复的时间点。

格式为yyyy-MM-ddTHH:mm:ssZ(UTC时间)。只有克隆实例时才能指定该参数,且必须和SrcDBInstanceId参数同时指定。

说明

支持选择7天内的任一时间点进行克隆。

AccountPassword

String

Root账号的密码。

长度为8~32个字符,必须包含大写英文字母、小写英文字母、数字和特殊字符中至少三种,支持的特殊字符为:!#$%^&*()_+-=

VpcId

String

专有网络ID。

ProtocolType

String

访问协议的类型。

取值:

  • mongodb:MongoDB协议。

  • dynamodb:DynamoDB协议。

ChargeType

String

实例的付费类型。

取值:

  • PostPaid(默认值):后付费(按量付费)。

  • PrePaid:预付费(包年包月)。

    说明

    取值为PrePaid时,还需要指定Period参数。

ConfigServer

List

ConfigServer规格配置。

更多信息,请参见ConfigServer属性

SrcDBInstanceId

String

源实例ID。

只有克隆实例时才能指定该参数,且必须和RestoreTime同时指定。

ReplicaSet

List

Shard节点。

节点数量:2~32。

更多信息,请参见ReplicaSet属性

Tags

List

标签。

最多支持添加20个标签。

更多信息,请参见Tags属性

TDEStatus

Boolean

是否启用透明数据加密(TDE)。

取值:

  • true:启用TDE。

    说明

    启用TDE后,您将无法禁用它。

  • false(默认值):未启用TDE。

ResourceGroupId

String

实例所属的资源组ID。

DBInstanceDescription

String

实例名称。

长度为2~256个字符。以英文字母或汉字开头,可包含英文字母、汉字、数字、下划线(_)和短划线(-)。

SecondaryZoneId

String

配置从节点(Secondary节点)所在的可用区。

取值:

  • cn-hangzhou-g:杭州可用区G。

  • cn-hangzhou-h:杭州可用区H。

  • cn-hangzhou-i:杭州可用区I。

  • cn-hongkong-b:中国香港可用区B。

  • cn-hongkong-c:中国香港可用区C。

  • cn-hongkong-d:中国香港可用区D。

  • cn-wulanchabu-a:乌兰察布可用区A。

  • cn-wulanchabu-b:乌兰察布可用区B。

  • cn-wulanchabu-c:乌兰察布可用区C。

  • ap-southeast-1a:新加坡可用区A。

  • ap-southeast-1b:新加坡可用区B。

  • ap-southeast-1c:新加坡可用区C。

  • ap-southeast-5a:雅加达可用区A。

  • ap-southeast-5b:雅加达可用区B。

  • ap-southeast-5c:雅加达可用区C。

  • eu-central-1a:法兰克福可用区A。

  • eu-central-1b:法兰克福可用区B。

  • eu-central-1c:法兰克福可用区C。

说明
  • EngineVersion参数值为4.45.0时,该参数可用且为必填参数。

  • 该参数取值不能与ZoneIdHiddenZoneId参数值相同。

HiddenZoneId

String

配置隐藏节点(Hidden节点)所在的可用区。

取值:

  • cn-hangzhou-g:杭州可用区G。

  • cn-hangzhou-h:杭州可用区H。

  • cn-hangzhou-i:杭州可用区I。

  • cn-hongkong-b:中国香港可用区B。

  • cn-hongkong-c:中国香港可用区C。

  • cn-hongkong-d:中国香港可用区D。

  • cn-wulanchabu-a:乌兰察布可用区A。

  • cn-wulanchabu-b:乌兰察布可用区B。

  • cn-wulanchabu-c:乌兰察布可用区C。

  • ap-southeast-1a:新加坡可用区A。

  • ap-southeast-1b:新加坡可用区B。

  • ap-southeast-1c:新加坡可用区C。

  • ap-southeast-5a:雅加达可用区A。

  • ap-southeast-5b:雅加达可用区B。

  • ap-southeast-5c:雅加达可用区C。

  • eu-central-1a:法兰克福可用区A。

  • eu-central-1b:法兰克福可用区B。

  • eu-central-1c:法兰克福可用区C。

说明
  • EngineVersion参数值为4.45.0时,该参数可用且为必填参数。

  • 该参数值不能与ZoneIdSecondaryZoneId参数值相同。

StorageType

String

存储类型。

取值:

  • cloud_essd1:ESSD PL1云盘。

  • cloud_essd2:ESSD PL2云盘。

  • cloud_essd3:ESSD PL3云盘。

  • local_ssd:SSD本地盘。

Mongos语法

"Mongos": [
  {
    "Class": String
  }
]

Mongos属性

属性名称

类型

必须

允许更新

描述

约束

属性名称

类型

必须

允许更新

描述

约束

Class

String

Mongos节点的规格。

关于取值的更多信息,请参见实例规格

ConfigServer语法

"ConfigServer": [
  {
    "Storage": Integer,
    "Class": String
  }
]

ConfigServer属性

属性名称

类型

必须

允许更新

描述

约束

属性名称

类型

必须

允许更新

描述

约束

Storage

Integer

ConfigServer的存储空间。

取值:20。

单位:GB。

说明

存储空间取值固定为20 GB。

Class

String

ConfigServer的规格。

取值:dds.cs.mid。

说明

规格固定为12 GB,数量固定为1个。

ReplicaSet语法

"ReplicaSet": [
  {
    "Storage": Integer,
    "Class": String,
    "ReadonlyReplicas": Integer
  }
]

ReplicaSet属性

属性名称

类型

必须

允许更新

描述

约束

属性名称

类型

必须

允许更新

描述

约束

Storage

Integer

Shard节点的存储空间。

取值范围:10~2000。

单位:GB。

10 GB递增。

Class

String

Shard节点的规格。

关于取值的更多信息,请参见实例规格

ReadonlyReplicas

Integer

创建只读节点的个数。

取值范围:1~5。

Tags语法

"Tags": [
  {
    "Key": String,
    "Value": String
  }
]  

Tags属性

属性名称

类型

必须

允许更新

描述

约束

属性名称

类型

必须

允许更新

描述

约束

Key

String

标签键。

长度为1~128个字符,不能以aliyunacs:开头,不能包含http://https://

Value

String

标签值。

长度为0~128个字符,不能以aliyunacs:开头,不能包含http://https://

返回值

Fn::GetAtt

  • DBInstanceStatus:实例状态。

  • DBInstanceId:实例ID。

  • OrderId:订单ID。

示例

YAML
JSON
ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  ZoneId:
    Type: String
    AssociationProperty: ALIYUN::ECS::ZoneId
Resources:
  MongoDbShardingInstance:
    Type: ALIYUN::MONGODB::ShardingInstance
    Properties:
      ZoneId:
        Ref: ZoneId
      EngineVersion: '4.0'
      Mongos:
        - Class: dds.mongos.mid
        - Class: dds.mongos.mid
      ReplicaSet:
        - Class: dds.shard.mid
          Storage: 10
        - Class: dds.shard.mid
          Storage: 20
      ConfigServer:
        - Class: dds.cs.mid
          Storage: 20
      TDEStatus: false
Outputs:
  DBInstanceStatus:
    Description: Status of mongodb instance.
    Value:
      Fn::GetAtt:
        - MongoDbShardingInstance
        - DBInstanceStatus
  DBInstanceId:
    Description: The instance id of created mongodb instance.
    Value:
      Fn::GetAtt:
        - MongoDbShardingInstance
        - DBInstanceId
  OrderId:
    Description: Order Id of created instance.
    Value:
      Fn::GetAtt:
        - MongoDbShardingInstance
        - OrderId
{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
    "ZoneId": {
      "Type": "String",
      "AssociationProperty": "ALIYUN::ECS::ZoneId"
    }
  },
  "Resources": {
    "MongoDbShardingInstance": {
      "Type": "ALIYUN::MONGODB::ShardingInstance",
      "Properties": {
        "ZoneId": {
          "Ref": "ZoneId"
        },
        "EngineVersion": "4.0",
        "Mongos": [
          {
            "Class": "dds.mongos.mid"
          },
          {
            "Class": "dds.mongos.mid"
          }
        ],
        "ReplicaSet": [
          {
            "Class": "dds.shard.mid",
            "Storage": 10
          },
          {
            "Class": "dds.shard.mid",
            "Storage": 20
          }
        ],
        "ConfigServer": [
          {
            "Class": "dds.cs.mid",
            "Storage": 20
          }
        ],
        "TDEStatus": false
      }
    }
  },
  "Outputs": {
    "DBInstanceStatus": {
      "Description": "Status of mongodb instance.",
      "Value": {
        "Fn::GetAtt": [
          "MongoDbShardingInstance",
          "DBInstanceStatus"
        ]
      }
    },
    "DBInstanceId": {
      "Description": "The instance id of created mongodb instance.",
      "Value": {
        "Fn::GetAtt": [
          "MongoDbShardingInstance",
          "DBInstanceId"
        ]
      }
    },
    "OrderId": {
      "Description": "Order Id of created instance.",
      "Value": {
        "Fn::GetAtt": [
          "MongoDbShardingInstance",
          "OrderId"
        ]
      }
    }
  }
}

更多示例,请参见:YAML示例

  • 本页导读 (1)
  • 语法
  • 属性
  • Mongos语法
  • Mongos属性
  • ConfigServer语法
  • ConfigServer属性
  • ReplicaSet语法
  • ReplicaSet属性
  • Tags语法
  • Tags属性
  • 返回值
  • 示例
AI助理

点击开启售前

在线咨询服务

你好,我是AI助理

可以解答问题、推荐解决方案等