当前位置:首页 > 行业动态 > 正文

如何使用CreateShardingDBInstance创建分片数据库实例?

CreateShardingDBInstance 是创建分片数据库实例的指令,用于构建分布式数据库系统。

CreateShardingDBInstance 是云数据库 MongoDB 版提供的一个 API 接口,用于创建或克隆 MongoDB 分片集群实例,以下是关于该接口的详细介绍:

1、功能

调用 CreateShardingDBInstance 接口可以创建一个新的 MongoDB 分片集群实例,或者克隆一个已有的分片集群实例。

2、请求参数

Action:要执行的操作,固定取值为 "CreateShardingDBInstance"。

RegionId:实例所属地域 ID,可通过 DescribeRegions 接口查询可用的地域 ID。

ZoneId:实例所属可用区 ID,可通过 DescribeRegions 接口查看可用的可用区 ID。

Engine:数据库类型,固定取值为 "MongoDB"。

StorageEngine:存储引擎,取值固定为 WiredTiger 或 RocksDB,默认值为 WiredTiger。

EngineVersion:数据库版本号,可取值如 3.2、3.4、7.0、6.0、5.0、4.4、4.2、4.0 等。

DBInstanceDescription:实例的描述或备忘信息,以中文或字母开头,可包含中文、英文字符、下划线(_)、连字符(-)和数字,长度为 2 256 个字符。

Mongos.N.Class:mongos 节点的规格,一个分片集群实例中 mongos 节点数量为 2 32 个。

ReplicaSet.N.Class:shard 节点的规格,一个分片集群实例中 shard 节点数量为 2 32 个。

ReplicaSet.N.Storage:每个 shard 节点的存储空间,大小为 10 1000GB。

ConfigServer.1.Class:configServer 的规格,固定为 1 核 2GB。

ConfigServer.1.Storage:configServer 的存储空间,固定为 20GB。

SecurityIPList:允许访问该实例下所有数据库的主机 IP 名单,多个 IP 地址或 IP 段用英文逗号隔开,不可重复,若设置为 % 或者 0.0.0.0/0,表示允许任何 IP 地址访问该 MongoDB 实例,但此设置会极大降低数据库的安全性,非必要请勿使用。

AccountPassword:root 账号密码,由字母、数字、特殊符号组成,长度为 8 32 位。

ChargeType:实例的付费类型,PrePaid 表示预付费(包年包月),PostPaid 表示后付费(按量付费),默认值为 PostPaid。

Period:实例的购买时长,单位为月,取值范围为 1 9、12、24、36、60,仅当 ChargeType 为 PrePaid 时有效。

NetworkType:实例的网络类型,CLASSIC 表示传统网络,VPC 表示专有网络,默认值为 CLASSIC。

VpcId:专有网络(VPC)ID,当 NetworkType 为 VPC 时必传。

VSwitchId:虚拟交换机 ID,当 NetworkType 为 VPC 时必传。

SrcDBInstanceId:源实例 ID,仅在克隆分片集群实例时需要传入该参数。

RestoreTime:7 天内的一个任意时间点的 UTC 时间,精确到秒级,仅在克隆分片集群实例时需要传入该参数。

ClientToken:用于保证请求的幂等性,防止重复提交请求,由客户端生成该参数值,在不同请求间该参数值唯一,最大值不超过 64 个 ASCII 字符。

3、返回结果

接口调用成功会返回相应的实例创建或克隆任务的相关信息,包括任务 ID 等,可以通过该任务 ID 查询任务的执行进度和最终结果。

4、注意事项

在调用 CreateShardingDBInstance 接口前,需确保已充分了解云数据库 MongoDB 的收费方式和价格,以及实例规格等信息。

克隆实例时,部分参数的值需与源实例保持一致,如 EngineVersion、StorageEngine 等。

以下是两个常见问题及解答:

问题一:CreateShardingDBInstance 接口中的 SecurityIPList 参数设置为 "%" 有什么风险?

解答:将 SecurityIPList 参数设置为 "%" 意味着允许任何 IP 地址访问该 MongoDB 实例,这会使数据库面临极大的安全风险,任何未经授权的用户都可能通过网络访问数据库,可能导致数据泄露、改动或其他安全问题,除非在非常特殊且有足够安全措施保障的情况下,不建议将 SecurityIPList 设置为 "%"。

问题二:如果调用 CreateShardingDBInstance 接口创建实例时指定的 RegionId 和 ZoneId 不存在怎么办?

解答:如果指定的 RegionId 和 ZoneId 不存在,接口调用将会失败,并返回相应的错误信息提示指定的地域或可用区无效,此时需要通过 DescribeRegions 接口重新查询有效的地域和可用区 ID,然后使用正确的 RegionId 和 ZoneId 再次调用 CreateShardingDBInstance 接口创建实例。

小编有话说:CreateShardingDBInstance 接口为云数据库 MongoDB 版的使用者提供了便捷的方式来创建或克隆分片集群实例,但在使用时一定要谨慎设置各项参数,特别是涉及到安全性和资源分配的参数,以确保数据库的稳定性、安全性和高效性,对于一些关键参数的设置,建议参考官方文档和相关技术资料,避免因误操作而带来不必要的麻烦和风险。

0