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

屬性

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

單位:月。

說明 當ChargeType參數值為PrePaid時,該參數可用且必須指定。
SecurityIPArrayString實例的IP白名單。以半角逗號(,)隔開,不可重復,最多支持1000個IP。
支持格式:
  • %
  • 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地址都可以訪問實例的數據庫,屬于高危設置,請謹慎操作。
MongosListMongos節點。節點數量:2~32。

更多信息,請參見Mongos屬性。

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

更多信息,請參見ReplicaSet屬性

TagsList標簽。最多支持添加20個標簽。

更多信息,請參見Tags屬性。

TDEStatusBoolean是否啟用透明數據加密(TDE)。取值:
  • true:啟用TDE。
    說明 啟用TDE后,您將無法禁用它。
  • false(默認值):未啟用TDE。
ResourceGroupIdString實例所屬的資源組ID。
DBInstanceDescriptionString實例名稱。長度為2~256個字符。以英文字母或漢字開頭,可包含英文字母、漢字、數字、下劃線(_)和短劃線(-)。
SecondaryZoneIdString配置從節點(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.4或5.0時,該參數可用且為必填參數。
  • 該參數取值不能與ZoneId和HiddenZoneId參數值相同。
HiddenZoneIdString配置隱藏節點(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.4或5.0時,該參數可用且為必填參數。
  • 該參數值不能與ZoneId和SecondaryZoneId參數值相同。
StorageTypeString存儲類型。取值:
  • cloud_essd1:ESSD PL1云盤。
  • cloud_essd2:ESSD PL2云盤。
  • cloud_essd3:ESSD PL3云盤。
  • local_ssd:SSD本地盤。

Mongos語法

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

Mongos屬性

屬性名稱類型必須允許更新描述約束
ClassStringMongos節點的規格。關于取值的更多信息,請參見 實例規格概述 。

ConfigServer語法

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

ConfigServer屬性

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

單位:GB。

說明 存儲空間取值固定為20 GB。
ClassStringConfigServer的規格。取值:dds.cs.mid。
說明 規格固定為1核2 GB,數量固定為1個。

ReplicaSet語法

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

ReplicaSet屬性

屬性名稱類型必須允許更新描述約束
StorageIntegerShard節點的存儲空間。取值范圍:10~2000。

單位:GB。

每10 GB遞增。

ClassStringShard節點的規格。關于取值的更多信息,請參見 實例規格概述
ReadonlyReplicasInteger創建只讀節點的個數。取值范圍:1~5。

Tags語法

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

Tags屬性

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

返回值

Fn::GetAtt

  • DBInstanceStatus:實例狀態。
  • DBInstanceId:實例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"
            ]
          }
        }
      }
    }

更多示例,請參見:JSON示例YAML示例。