调用CreateDBInstance接口创建RDS实例。

请确保在使用该接口前,已充分了解RDS产品的收费方式和价格。更多信息,请参见价格、收费项与计费方式

关于RDS实例的规格,请参见实例规格表

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称 类型 是否必选 示例值 描述
Action String CreateDBInstance

系统规定参数。取值:CreateDBInstance

DBInstanceClass String rds.mysql.s1.small

实例规格。详情请参见主实例规格表。您也可以调用DescribeAvailableResource接口查询目标地域中可用的实例规格列表。

DBInstanceNetType String Internet

实例的网络连接类型。取值:

  • Internet:公网连接
  • Intranet:内网连接
DBInstanceStorage Integer 20

实例存储空间。单位:GB。每5GB进行递增,取值范围请参见实例规格表。您也可以调用DescribeAvailableResource接口查询目标实例规格中可用的存储空间范围。

Engine String MySQL

数据库类型。取值:

  • MySQL
  • SQLServer
  • PostgreSQL
  • PPAS
  • MariaDB
EngineVersion String 5.6

数据库版本。取值:

  • MySQL:5.5/5.6/5.7/8.0
  • SQL Server:2008r2/08r2_ent_ha/2012/2012_ent_ha/2012_std_ha/2012_web/2014_std_ha/2016_ent_ha/2016_std_ha/2016_web/2017_std_ha/2017_ent/2019_std_ha/2019_ent
  • PostgreSQL:9.4/10.0/11.0/12.0/13.0
  • PPAS:9.3/10.0
  • MariaDB:10.3
PayType String Postpaid

实例的付费类型。取值:

  • Postpaid:后付费(按量付费)。
  • Prepaid:预付费(包年包月)。
说明 系统会自动生成订单并自动完成支付,无需手动确认支付。
RegionId String cn-hangzhou

地域ID。可以通过接口DescribeRegions查看可用的地域ID。

SecurityIPList String 10.23.12.27/24

该实例的IP白名单。多条记录请以英文逗号(,)隔开,不可重复,最多1000条记录。支持如下两种格式:

  • IP地址形式,例如:10.23.12.24。
  • CIDR形式,例如:10.23.12.24/24(无类域间路由,24表示了地址中前缀的长度,范围为1~32)。
SystemDBCharset String gbk

字符集。该参数已弃用。

DBInstanceDescription String 测试数据库

实例名称。长度为2~255个字符。以中文、英文字母开头,可以包含数字、中文、英文、下划线(_)、短横线(-)。

说明 不能以 http:// 和 https:// 开头。
ClientToken String ETnLKlblzczshOTUbOCzxxxxxxxxxx

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

ZoneId String cn-hangzhou-b

主节点可用区ID。

说明
  • 指定了VPC和交换机时,为匹配交换机对应的可用区,该参数必填。
  • 对于高可用版实例,还需传入ZoneIdSlave1,以此决定实例是单可用区部署还是多可用区部署。
  • 对于三节点企业版实例,还需传入ZoneIdSlave1ZoneIdSlave2,以此决定实例是单可用区部署还是多可用区部署。
ZoneIdSlave1 String cn-hangzhou-c

备节点可用区ID。如果和ZoneId相同,则为单可用区部署;如果和ZoneId不同,则为多可用区部署。

ZoneIdSlave2 String cn-hangzhou-d

日志节点可用区ID。如果和ZoneId相同,则为单可用区部署;如果和ZoneId不同,则为多可用区部署。

InstanceNetworkType String Classic

实例的网络类型。取值:

  • VPC:VPC网络
  • Classic:经典网络(默认)
说明
  • 云盘实例只支持VPC网络,例如想创建基础版实例,该参数必须传入VPC
  • 如果数据库类型Engine=MariaDB,该参数必填。
ConnectionMode String Standard

实例的访问模式。取值:

  • Standard:标准访问模式
  • Safe:数据库代理模式

默认为RDS系统分配。

说明 SQL Server 2012/2016/2017只支持标准访问模式。
VPCId String vpc-xxxxxxxxxxxx

专有网络(VPC) ID。

说明 需要网络类型 InstanceNetworkType= VPC
VSwitchId String vsw-xxxxxxxxxxx

虚拟交换机(VSwitch) ID。多个值用英文逗号(,)隔开。

说明 需要网络类型 InstanceNetworkType= VPC
PrivateIpAddress String 172.16.201.69

设置实例的内网IP。需要在指定交换机的IP地址范围内。系统默认通过VPCIdVSwitchId自动分配。

UsedTime String 2

指定购买时长。取值:

  • 当参数Period=Year时,UsedTime取值为1~5
  • 当参数Period=Month时,UsedTime取值为1~11
说明 若付费类型为 Prepaid则该参数必须传入。
Period String Year

指定预付费实例为包年或者包月类型。取值:

  • Year:包年
  • Month:包月
说明 若付费类型为 Prepaid则该参数必须传入。
ResourceGroupId String rg-acfmyxxxxxxxxxx

资源组ID。

DBInstanceStorageType String cloud_ssd

实例存储类型。取值:

  • local_ssd:本地SSD盘(推荐)
  • cloud_ssd:SSD云盘
  • cloud_essd:ESSD PL1云盘
  • cloud_essd2:ESSD PL2云盘
  • cloud_essd3:ESSD PL3云盘
BusinessInfo String 121436975448952

业务扩展参数。

EncryptionKey String 0d24xxxx-da7b-4786-b981-9a164dxxxxxx

同地域内的云盘加密的密钥ID。您可以在密钥管理服务控制台查看密钥ID,也可以创建新的密钥。详情请参见管理密钥

说明 传入此参数表示开启云盘加密(开启后无法关闭),并且需要传入 RoleARN
RoleARN String acs:ram::1406xxxxxx:role/aliyunrdsinstanceencryptiondefaultrole

主账号授权RDS云服务账号访问KMS权限的全局资源描述符(ARN)。您可以在RAM访问控制台复制ARN的内容。

说明 在控制台自助授权请参见 授权RDS访问KMS
AutoRenew String true

实例是否自动续费,仅在创建包年包月实例时传入。取值:true | false

说明
  • 按月购买,则自动续费周期为1个月。
  • 按年购买,则自动续费周期为1年。
Category String HighAvailability

实例系列。取值:

  • Basic:基础版
  • HighAvailability:高可用版
  • AlwaysOn:集群版
  • Finance:三节点企业版
DedicatedHostGroupId String dhg-4nxxxxxxx

专属集群主机组ID。

在专属集群内创建RDS实例时需要指定。

说明
TargetDedicatedHostIdForMaster String i-bpxxxxxxx1

专属集群中主实例的主机ID。

在专属集群内创建RDS实例时需要指定。如不指定该参数,系统默认自动分配主机。

说明
TargetDedicatedHostIdForSlave String i-bpxxxxxxx2

专属集群中备实例的主机ID。

在专属集群内创建RDS高可用版或三节点企业版实例时需要指定。如不指定该参数,系统默认自动分配主机。

说明
TargetDedicatedHostIdForLog String i-bpxxxxxxx3

专属集群中日志实例的主机ID。

在专属集群内创建RDS三节点企业版实例时需要指定。如不指定该参数,系统默认自动分配主机。

说明
DBParamGroupId String rpg-sys-xxxx

参数模板ID。

DBTimeZone String +08:00

设置实例的时区,仅在EngineMySQLPostgreSQL时生效。

  • EngineMySQL
    • 此参数配置UTC时区。取值范围为-12:59 ~ +13:00
    • 本地SSD盘实例可以使用命名时区,例如Asia/Hong_Kong。命名时区的详细信息,请参见命名时区清单
  • EnginePostgreSQL
    • 此参数配置命名时区,不支持UTC时区。命名时区的详细信息,请参见命名时区清单
    • 仅当实例为PostgreSQL云盘时,该参数可配置。
说明
  • 购买主实例时支持设置时区,只读实例不支持设置时区,只读实例将继承主实例时区。
  • 如果不配置此参数,系统将根据您购买实例的地域,选择默认时区。
DBIsIgnoreCase String 1

表名是否区分大小写。取值:

  • 1:不区分大小写(默认)
  • 0:区分大小写
TargetMinorVersion String rds_20200229

指定创建的MySQL实例的小版本,仅在创建MySQL实例时需要传入。格式:实例版本_数字版本号。例如rds_20200229、xcluster_20200229或xcluster80_20200229。说明如下:

  • rds:高可用版或基础版
  • xcluster:MySQL 5.7三节点企业版
  • xcluster80:MySQL 8.0三节点企业版
说明 数字版本号请参见 AliSQL 小版本Release Notes
StorageAutoScale String Disable

存储空间自动扩容开关,取值:

  • Enable:开启
  • Disable:关闭

默认为Disable

说明 您也可以在实例创建完成之后,调用 ModifyDasInstanceConfig进行调整。更多信息,请参见 设置存储空间自动扩容
StorageThreshold Integer 50

存储空间自动扩容触发阈值(百分比)。取值:

  • 10
  • 20
  • 30
  • 40
  • 50
说明 StorageAutoScaleEnable时必填。
StorageUpperBound Integer 2000

存储空间自动扩容的总存储空间上限值,即自动扩容不会导致实例总存储空间超过该值。单位:GB。取值需≥0。

说明 StorageAutoScaleEnable时必填。
DryRun Boolean false

是否对本次创建实例的操作执行预检查,取值:

  • true:执行预检查操作,不创建实例。检查项目包含请求参数、请求格式、业务限制和库存等。
  • false:发送正常请求,通过检查后直接创建实例。

默认值:false

UserBackupId String 67798****

用户备份ID。可调用ListUserBackupFiles查询。传入该参数,可基于用户备份创建实例。

说明 如需传入此参数,有如下限制:
  • PayType参数必须为Postpaid
  • Engine参数必须为MySQL
  • EngineVersion参数必须为5.7
  • Category参数必须为Basic
Tag.N.Key String testkey1

标签键。传入此参数为实例绑定标签。参数名Tag.N.Key中的N需要用数字1~20进行替换,代表您可以多次传入该参数为实例绑定多个标签。

例如:您需要给实例绑定2个标签,则分别传入Tag.1.KeyTag.2.Key参数。

说明
  • 若传入的标签键已存在,则直接为实例绑定该标签键。可调用ListTagResources查询已创建的标签。
  • 若传入的标签键不存在,则先创建再为实例绑定该标签键。
  • 不允许传入空字符串。
  • 该参数与Tag.N.Value参数为配套参数,不可单独使用。
Tag.N.Value String testvalue1

标签键对应的标签值。传入此参数为实例绑定标签。参数名Tag.N.Value中的N需要用数字1~20进行替换,代表您可以多次传入该参数为实例绑定多个标签。

此参数需要和Tag.N.Key对应。例如:您传入了Tag.1.KeyTag.2.Key参数,则需要再分别传入Tag.1.ValueTag.2.Value参数。

说明
  • 若对应的标签键中存在传入的标签值,则直接为实例绑定该标签值。可调用ListTagResources查询已创建的标签。
  • 若对应的标签键中不存在传入的标签值,则先创建再为实例绑定该标签值。
  • 该参数与Tag.N.Key参数为配套参数,不可单独使用。
Amount Integer 2

指定需要创建的RDS MySQL实例数量。本参数仅适用于批量创建RDS MySQL实例。

取值范围:1~20;默认值:1

说明
  • 创建多个RDS MySQL实例时,可以考虑通过Tag.N.KeyTag.N.Value参数给同一批次的实例打上标签,以方便创建完成后通过标签管理该批次的实例。
  • 完成多个RDS MySQL实例的创建后,接口只会返回TaskIdRequestIdMessage参数,不会返回其他详情参数。如需查询个体实例的详情,可调用DescribeDBInstanceAttribute接口。
  • engine参数非MySQL,而本参数的值大于1时,接口会调用失败并返回错误码InvalidParam.Engine
CreateStrategy String Atomicity

批量创建实例策略。本参数仅在Amount参数大于1时生效。取值:

  • Atomicity:原子性。即同一批次的实例要么全部创建成功,若有一个创建失败,则所有实例创建失败。
  • Partial:非原子性。即实例的创建不受同一批次中其他实例的影响。

默认值:Atomicity

返回数据

名称 类型 示例值 描述
DBInstanceId String rm-uf6wjk5xxxxxxxxxx

实例ID。

OrderId String 1007893702xxxxx

订单ID。

ConnectionString String rm-uf6wjk5xxxxxxx.mysql.rds.aliyuncs.com

数据库连接地址。

说明 参数 DBInstanceNetType决定该地址为内网或外网。
Port String 3306

数据库连接端口。

说明 参数 DBInstanceNetType决定该端口为内网或外网。
DryRun Boolean true

表示当前请求需要在创建实例前执行预检查。返回值固定为true

说明 如不执行预检查,则不返回该参数。
DryRunResult Boolean true

创建实例预检查是否通过。返回值:

  • true:通过
  • false:未通过
    说明
    • 如不执行预检查,则不返回该参数。
    • 如预检查未通过,则返回对应错误。
Message String Batch Create DBInstance Task Is In Process.

批量创建任务的提示信息。仅在Amount参数大于1时返回。

RequestId String 1E43AAE0-BEE8-43DA-860D-EAF2AA0724DC

请求ID。

TagResult Boolean true

实例是否成功绑定标签。返回值:

  • true:成功。
  • false:失败。
说明 如不为实例绑定标签,则不返回该参数。
TaskId String s2365879-a9d0-55af-fgae-f2**********

批量创建任务的任务ID。仅在Amount参数大于1时返回。

说明 当前暂不支持通过 TaskId的值查看任务。
说明 使用新版SDK包调用本接口时,由于SDK内部的客户端默认超时时间和服务端的不一致,因此可能返回请求超时的错误,但实际上接口已调用成功。如需避免这个问题,您可以在调用前设置ReadTimeout参数为20000。
设置调用超时时间

示例

请求示例

http(s)://rds.aliyuncs.com/?Action=CreateDBInstance
&RegionId=cn-hangzhou
&Engine=MySQL
&EngineVersion=5.6
&DBInstanceClass=rds.mysql.s1.small
&DBInstanceStorage=20
&DBInstanceNetType=Internet
&PayType=Postpaid
&SecurityIPList=10.23.12.27/24
&<公共请求参数>

正常返回示例

XML格式

<CreateDBInstanceResponse>
	  <OrderId>1007893702xxxxx</OrderId>
	  <ConnectionString>rm-uf6wjk5xxxxxxx.mysql.rds.aliyuncs.com</ConnectionString>
	  <DBInstanceId>rm-uf6wjk5xxxxxxx</DBInstanceId>
	  <Port>3306</Port>
	  <RequestId>1E43AAE0-BEE8-43DA-860D-EAF2AA0724DC</RequestId>
</CreateDBInstanceResponse>

JSON格式

{
    "OrderId": "1007893702xxxxx",
    "ConnectionString": "rm-uf6wjk5xxxxxxx.mysql.rds.aliyuncs.com",
    "DBInstanceId": "rm-uf6wjk5xxxxxxx",
    "Port": "3306",
    "RequestId": "1E43AAE0-BEE8-43DA-860D-EAF2AA0724DC"
}

错误码

HttpCode 错误码 错误信息 描述
400 InvalidZoneId.NotSupported The Specified vpc Zone not supported. 当前可用区不支持创建VPC网络类型实例,请更换可用区。
400 InvalidPaymentMethod.Incomplete No payment method is specified for your account. We recommend that you add a payment method. 您的账户暂无有效支付方式,请添加支付方式。
400 InvalidPaymentMethod.Missing No payment method is specified for your account. We recommend that you add a payment method. 您的账户暂无有效支付方式,请添加支付方式。
400 SYSTEM.CONCURRENT_OPERATE Concurrent operation is detected. 系统中存在并发操作。
400 ZoneId.NotMatchWithCategory The number of ZoneId specified does not match with category. 可用区数量与数据库类型或实例系列不匹配。请重新设置。
400 InvalidTagKey.Malformed The Tag.N.Key parameter is empty. Tag.N.Key参数为空
400 InvalidTagValue.Malformed The Tag.N.Value parameter is empty. Tag.N.Value参数为空
400 Duplicate.TagKey The Tag.N.Key contains duplicate keys. Tag.N.Key包含重复键
400 NumberExceed.Tags The maximum number of Tags is exceeded. The maximum is 20. 标签参数数量超过限制,有效数量:20。
400 MissingParameter.ResourceIds The parameter ResourceIds.N must not be null. 参数ResourceIds.N不能为空。
400 InvalidParameter.TagKey The Tag.N.Key parameter is invalid. Tag.N.Key参数无效.
400 InvalidParam.Amount Amount is allowed from 1 to 20. 数量支持1到20的数值。
400 InvalidParam.CreateStrategy Only Atomicity and Partial are allowed. 只支持Atomicity和Partial参数

访问错误中心查看更多错误码。