ALIYUN::MONGODB::ShardingInstance類型用于創(chuàng)建或者克隆MongoDB分片集群實(shí)例。

語法

{
  "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,
    "NetworkType": String,
    "ConfigServer": List,
    "SrcDBInstanceId": String,
    "ReplicaSet": List,
    "Tags": List,
    "TDEStatus": Boolean,
    "DBInstanceDescription": String,
    "ResourceGroupId": String,
    "SecondaryZoneId": String,
    "HiddenZoneId": String,
    "StorageType": String
  }
}

屬性

屬性名稱類型必須允許更新描述約束
EngineVersionString數(shù)據(jù)庫版本號(hào)。取值:
  • 3.4
  • 4.0
  • 4.2
說明 克隆實(shí)例時(shí),該值必須與源實(shí)例保持一致。
ZoneIdString可用區(qū)ID。
AutoRenewBoolean設(shè)置實(shí)例是否自動(dòng)續(xù)費(fèi)。取值:
  • true:自動(dòng)續(xù)費(fèi)。
  • false(默認(rèn)值):不自動(dòng)續(xù)費(fèi),即手動(dòng)續(xù)費(fèi)。
說明 當(dāng)ChargeType參數(shù)值為PrePaid時(shí),該參數(shù)有效。
VSwitchIdString交換機(jī)ID。NetworkType參數(shù)取值為VPC時(shí),該參數(shù)有效。
PeriodInteger實(shí)例的購買時(shí)長(zhǎng)。取值:1~9、12、24、36。

單位:月。

說明 當(dāng)ChargeType參數(shù)值為PrePaid時(shí),該參數(shù)可用且必須指定。
SecurityIPArrayString實(shí)例的IP白名單。以半角逗號(hào)(,)隔開,不可重復(fù),最多支持1000個(gè)IP。
支持格式:
  • %
  • 0.0.0.0/0
  • 10.23.XX.XX(IP)
  • 10.23.XX.XX/24(CIDR模式,無類域間路由。/24表示地址前綴的長(zhǎng)度,取值范圍:1~32。)
說明 %和0.0.0.0/0表示任何IP地址都可以訪問實(shí)例的數(shù)據(jù)庫,屬于高危設(shè)置,請(qǐng)謹(jǐn)慎操作。
MongosListMongos節(jié)點(diǎn)。節(jié)點(diǎn)數(shù)量:2~32。

更多信息,請(qǐng)參見Mongos屬性

StorageEngineString實(shí)例使用的存儲(chǔ)引擎。 取值:
  • WiredTiger(默認(rèn)值):適用于大多數(shù)業(yè)務(wù)場(chǎng)景。
  • RocksDB:適用于大量寫且少讀的場(chǎng)景。
  • TerarkDB:適用于多讀少寫或批量寫大量讀的場(chǎng)景。
說明 克隆實(shí)例時(shí),該值必須與源實(shí)例保持一致。
RestoreTimeString克隆實(shí)例時(shí)所恢復(fù)的時(shí)間點(diǎn)。格式為yyyy-MM-ddTHH:mm:ssZ(UTC時(shí)間)。只有克隆實(shí)例時(shí)才能指定該參數(shù),且必須和SrcDBInstanceId參數(shù)同時(shí)指定。
說明 支持選擇7天內(nèi)的任一時(shí)間點(diǎn)進(jìn)行克隆。
AccountPasswordStringRoot賬號(hào)的密碼。 長(zhǎng)度為8~32個(gè)字符,必須包含大寫英文字母、小寫英文字母、數(shù)字和特殊字符中至少三種,支持的特殊字符為:!#$%^&*()_+-=
VpcIdString專有網(wǎng)絡(luò)ID。當(dāng)NetworkType參數(shù)取值為VPC時(shí),該參數(shù)可用。
ProtocolTypeString訪問協(xié)議的類型。取值:
  • mongodb:MongoDB協(xié)議。
  • dynamodb:DynamoDB協(xié)議。
ChargeTypeString實(shí)例的付費(fèi)類型。取值:
  • PostPaid(默認(rèn)值):后付費(fèi)(按量付費(fèi))。
  • PrePaid:預(yù)付費(fèi)(包年包月)。
    說明 取值為PrePaid時(shí),還需要指定Period參數(shù)。
NetworkTypeString實(shí)例的網(wǎng)絡(luò)類型。 取值:
  • CLASSIC(默認(rèn)值):經(jīng)典網(wǎng)絡(luò)。
  • VPC:專有網(wǎng)絡(luò)。
    說明 取值為VPC時(shí),還需要指定VpcId和VSwitchId。
ConfigServerListConfigServer規(guī)格配置。更多信息,請(qǐng)參見ConfigServer屬性
SrcDBInstanceIdString源實(shí)例ID。只有克隆實(shí)例時(shí)才能指定該參數(shù),且必須和RestoreTime同時(shí)指定。
ReplicaSetListShard節(jié)點(diǎn)。節(jié)點(diǎn)數(shù)量:2~32。

更多信息,請(qǐng)參見ReplicaSet屬性

TagsList標(biāo)簽。最多支持添加20個(gè)標(biāo)簽。

更多信息,請(qǐng)參見Tags屬性

TDEStatusBoolean是否啟用透明數(shù)據(jù)加密(TDE)。取值:
  • true:?jiǎn)⒂肨DE。
    說明 啟用TDE后,您將無法禁用它。
  • false(默認(rèn)值):未啟用TDE。
ResourceGroupIdString實(shí)例所屬的資源組ID。
DBInstanceDescriptionString實(shí)例名稱。長(zhǎng)度為2~256個(gè)字符。以英文字母或漢字開頭,可包含英文字母、漢字、數(shù)字、下劃線(_)和短劃線(-)。
SecondaryZoneIdString配置從節(jié)點(diǎn)(Secondary節(jié)點(diǎn))所在的可用區(qū)。取值:
  • cn-hangzhou-g:杭州可用區(qū)G。
  • cn-hangzhou-h:杭州可用區(qū)H。
  • cn-hangzhou-i:杭州可用區(qū)I。
  • cn-hongkong-b:中國(guó)香港可用區(qū)B。
  • cn-hongkong-c:中國(guó)香港可用區(qū)C。
  • cn-hongkong-d:中國(guó)香港可用區(qū)D。
  • cn-wulanchabu-a:烏蘭察布可用區(qū)A。
  • cn-wulanchabu-b:烏蘭察布可用區(qū)B。
  • cn-wulanchabu-c:烏蘭察布可用區(qū)C。
  • ap-southeast-1a:新加坡可用區(qū)A。
  • ap-southeast-1b:新加坡可用區(qū)B。
  • ap-southeast-1c:新加坡可用區(qū)C。
  • ap-southeast-5a:雅加達(dá)可用區(qū)A。
  • ap-southeast-5b:雅加達(dá)可用區(qū)B。
  • ap-southeast-5c:雅加達(dá)可用區(qū)C。
  • eu-central-1a:法蘭克福可用區(qū)A。
  • eu-central-1b:法蘭克福可用區(qū)B。
  • eu-central-1c:法蘭克福可用區(qū)C。
說明
  • 當(dāng)EngineVersion參數(shù)值為4.4或5.0時(shí),該參數(shù)可用且為必填參數(shù)。
  • 該參數(shù)取值不能與ZoneId和HiddenZoneId參數(shù)值相同。
HiddenZoneIdString配置隱藏節(jié)點(diǎn)(Hidden節(jié)點(diǎn))所在的可用區(qū)。取值:
  • cn-hangzhou-g:杭州可用區(qū)G。
  • cn-hangzhou-h:杭州可用區(qū)H。
  • cn-hangzhou-i:杭州可用區(qū)I。
  • cn-hongkong-b:中國(guó)香港可用區(qū)B。
  • cn-hongkong-c:中國(guó)香港可用區(qū)C。
  • cn-hongkong-d:中國(guó)香港可用區(qū)D。
  • cn-wulanchabu-a:烏蘭察布可用區(qū)A。
  • cn-wulanchabu-b:烏蘭察布可用區(qū)B。
  • cn-wulanchabu-c:烏蘭察布可用區(qū)C。
  • ap-southeast-1a:新加坡可用區(qū)A。
  • ap-southeast-1b:新加坡可用區(qū)B。
  • ap-southeast-1c:新加坡可用區(qū)C。
  • ap-southeast-5a:雅加達(dá)可用區(qū)A。
  • ap-southeast-5b:雅加達(dá)可用區(qū)B。
  • ap-southeast-5c:雅加達(dá)可用區(qū)C。
  • eu-central-1a:法蘭克福可用區(qū)A。
  • eu-central-1b:法蘭克福可用區(qū)B。
  • eu-central-1c:法蘭克福可用區(qū)C。
說明
  • 當(dāng)EngineVersion參數(shù)值為4.4或5.0時(shí),該參數(shù)可用且為必填參數(shù)。
  • 該參數(shù)值不能與ZoneId和SecondaryZoneId參數(shù)值相同。
StorageTypeString存儲(chǔ)類型。取值:
  • cloud_essd1:ESSD PL1云盤。
  • cloud_essd2:ESSD PL2云盤。
  • cloud_essd3:ESSD PL3云盤。
  • local_ssd:SSD本地盤。

Mongos語法

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

Mongos屬性

屬性名稱類型必須允許更新描述約束
ClassStringMongos節(jié)點(diǎn)的規(guī)格。關(guān)于取值的更多信息,請(qǐng)參見 實(shí)例規(guī)格概述

ConfigServer語法

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

ConfigServer屬性

屬性名稱類型必須允許更新描述約束
StorageIntegerConfigServer的存儲(chǔ)空間。取值:20。

單位:GB。

說明 存儲(chǔ)空間取值固定為20 GB。
ClassStringConfigServer的規(guī)格。取值:dds.cs.mid。
說明 規(guī)格固定為1核2 GB,數(shù)量固定為1個(gè)。

ReplicaSet語法

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

ReplicaSet屬性

屬性名稱類型必須允許更新描述約束
StorageIntegerShard節(jié)點(diǎn)的存儲(chǔ)空間。取值范圍:10~2000。

單位:GB。

每10 GB遞增。

ClassStringShard節(jié)點(diǎn)的規(guī)格。關(guān)于取值的更多信息,請(qǐng)參見 實(shí)例規(guī)格概述
ReadonlyReplicasInteger創(chuàng)建只讀節(jié)點(diǎn)的個(gè)數(shù)。取值范圍:1~5。

Tags語法

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

Tags屬性

屬性名稱類型必須允許更新描述約束
KeyString標(biāo)簽鍵。長(zhǎng)度為1~128個(gè)字符,不能以aliyunacs:開頭,不能包含http://https://
ValueString標(biāo)簽值。長(zhǎng)度為0~128個(gè)字符,不能以aliyunacs:開頭,不能包含http://https://

返回值

Fn::GetAtt

  • DBInstanceStatus:實(shí)例狀態(tài)。
  • DBInstanceId:實(shí)例ID。
  • OrderId:訂單ID。

示例

  • YAML格式

    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
  • 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"
            ]
          }
        }
      }
    }

更多示例,請(qǐng)參見:JSON示例YAML示例