调用CreateReadOnlyDBInstance接口为某个实例创建一个只读实例。

调用该接口创建只读实例时,请注意:
  • 主实例(非专属集群)的版本必须为以下其中一种:
    • MySQL 8.0高可用版或三节点企业版。
    • MySQL 5.7高可用版或三节点企业版。
    • MySQL 5.6。
    • SQL Server 2017集群版。
    • PostgreSQL 10(本地SSD盘)、11、12、13或14高可用版,本地盘主实例的规格不低于8核32G(独享套餐)。
  • 对于MySQL实例,最多允许创建10个只读实例。
  • 对于SQL Server实例,最多允许创建7个只读实例。
  • 对于PostgreSQL实例,本地盘主实例最多允许创建5个只读实例,云盘主实例最多允许创建32个只读实例。

调试

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

请求参数

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

系统规定参数。取值:CreateReadOnlyDBInstance

ClientToken String ETnLKlblzczshOTUbOC****

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

RegionId String cn-hangzhou

地域ID。只读实例的地域必须和主实例相同。可以通过接口DescribeRegions查看地域列表。

ZoneId String cn-hangzhou-b

可用区ID。可以通过接口DescribeRegions查看可用区列表。

DBInstanceId String rm-uf6wjk5****

主实例ID。

DBInstanceClass String rds.mys2.small

实例规格,详见只读实例规格列表。建议只读实例规格不小于主实例规格,否则易导致只读实例延迟高、负载高等现象。

DBInstanceStorage Integer 20

存储空间,取值:请参见只读实例规格列表存储空间列。每5 GB进行递增,单位:GB。

EngineVersion String 5.6

数据库版本号。必须与主实例相同。

  • MySQL数据库取值:5.65.78.0
  • SQL Server数据库取值:2017_ent、2019_ent
PayType String Postpaid

付费类型,取值:

  • Postpaid:后付费(按量付费)
  • Prepaid:预付费(包年包月)
DBInstanceDescription String 测试只读实例

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

说明 不能以http://和https://开头。
InstanceNetworkType String Classic

只读实例的网络类型,取值:

  • VPC:专有网络
  • Classic:经典网络

默认创建专有网络实例,需要传入VPCIdVSwitchId

说明 只读实例的网络类型可以和主实例不同。
VPCId String vpc-uf6f7l4fg90****

只读实例的专有网络VPC ID。当InstanceNetworkType配置为空或VPC时需要传入。

说明
  • 主实例的存储类型为本地SSD盘时,只读实例可以选择任意VPC网络。
  • 主实例的存储类型为云盘时,只读实例VPC必须和主实例保持一致。
VSwitchId String vsw-uf6adz52c2p****

只读实例的虚拟交换机ID。当InstanceNetworkType配置为空或VPC时需要传入。

PrivateIpAddress String 172.16.XX.XX

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

ResourceGroupId String rg-acfmy****

资源组ID。

Category String HighAvailability

实例系列,取值:

  • Basic:基础版
  • HighAvailability:高可用版(默认值)
  • AlwaysOn:集群版
  • Finance:金融版
说明 PostgreSQL云盘实例的只读实例为基础版,因此必须传入Basic
DBInstanceStorageType String local_ssd

实例储存类型,取值:

  • local_ssd:本地SSD盘
  • cloud_ssd:SSD云盘
  • cloud_essd:ESSD PL1云盘
  • cloud_essd2:ESSD PL2云盘
  • cloud_essd3:ESSD PL3云盘
说明
  • RDS MySQL主实例为本地SSD盘,则仅支持传入local_ssd;RDS MySQL主实例为云盘,则仅支持传入云盘存储类型。
  • SQL Server仅支持传入云盘存储类型。
DedicatedHostGroupId String dhg-4n****

在专属集群内创建只读实例时指定专属集群ID。

TargetDedicatedHostIdForMaster String i-bp****

在专属集群内创建只读实例时,指定主实例的主机ID。

GdnInstanceName String

备用参数。

TddlBizType String

备用参数。

TddlRegionConfig String

备用参数。

InstructionSetArch String

备用参数。

UsedTime String 1

指定购买时长。取值:

  • 当参数PeriodYear时,UsedTime取值为1~5
  • 当参数PeriodMonth时,UsedTime取值为1~9
说明PayTypePrepaid,需要传入该参数。
Period String Month

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

  • Year:包年
  • Month:包月
AutoRenew String true

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

  • true:是
  • false:否
说明
  • 按月购买,则自动续费周期为1个月。
  • 按年购买,则自动续费周期为1年。
DeletionProtection Boolean true

是否开启RDS释放保护功能。取值:

  • true:开启
  • false:关闭(默认值)
说明计费方式按量付费时支持开启。

返回数据

名称 类型 示例值 描述
DBInstanceId String rr-uf6wjk5****

创建的只读实例ID。

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

请求ID。

Port String 3306

创建的只读实例内网数据库连接端口。

ConnectionString String rr-****.mysql.rds.aliyuncs.com

创建的只读实例内网数据库连接地址。

OrderId String 10078937****

订单ID。

示例

请求示例

http(s)://rds.aliyuncs.com/?Action=CreateReadOnlyDBInstance
&ClientToken=ETnLKlblzczshOTUbOC****
&RegionId=cn-hangzhou
&ZoneId=cn-hangzhou-b
&DBInstanceId=rm-uf6wjk5****
&DBInstanceClass=rds.mys2.small
&DBInstanceStorage=20
&EngineVersion=5.6
&PayType=Postpaid
&DBInstanceDescription=测试只读实例
&InstanceNetworkType=Classic
&VPCId=vpc-uf6f7l4fg90****
&VSwitchId=vsw-uf6adz52c2p****
&PrivateIpAddress=172.16.XX.XX
&ResourceGroupId=rg-acfmy****
&Category=HighAvailability
&DBInstanceStorageType=local_ssd
&DedicatedHostGroupId=dhg-4n****
&TargetDedicatedHostIdForMaster=i-bp****
&GdnInstanceName=无
&TddlBizType=无
&TddlRegionConfig=无
&InstructionSetArch=无
&UsedTime=1
&Period=Month
&AutoRenew=true
&DeletionProtection=true
&公共请求参数

正常返回示例

XML格式

HTTP/1.1 200 OK
Content-Type:application/xml

<CreateReadOnlyDBInstanceResponse>
    <DBInstanceId>rr-uf6wjk5****</DBInstanceId>
    <RequestId>1E43AAE0-BEE8-43DA-860D-EAF2AA0724DC</RequestId>
    <Port>3306</Port>
    <ConnectionString>rr-****.mysql.rds.aliyuncs.com</ConnectionString>
    <OrderId>10078937****</OrderId>
</CreateReadOnlyDBInstanceResponse>

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

{
  "DBInstanceId" : "rr-uf6wjk5****",
  "RequestId" : "1E43AAE0-BEE8-43DA-860D-EAF2AA0724DC",
  "Port" : 3306,
  "ConnectionString" : "rr-****.mysql.rds.aliyuncs.com",
  "OrderId" : "10078937****"
}

错误码

HttpCode 错误码 错误信息 描述
400 InvalidEngineVersion.Malformed The specified parameter "EngineVersion" is not valid. 无效的引擎版本参数。
400 InvalidSecurityIPList.Malformed The specified parameter "SecurityIPList" is not valid. 目标实例的IP白名单配置无效。
400 InvalidSecurityIPList.Duplicate The Security IP address is not in the available range or occupied. 当前的安全IP地址已被占用或不在有效区间内,请重新设置安全IP地址。
400 InvalidParameter The specified parameter "dbInstanceId" is not valid. 实例ID(DBInstanceId)无效,请检查该参数的正确性。
400 OperationDenied VPC IP is in use, please check. 操作失败,当前VPC IP已经被使用。
400 InvalidZoneId.NotSupported The Specified vpc Zone not supported. 当前可用区不支持创建VPC网络类型实例,请更换可用区。
400 CDDC.AvailableHostsNotEnoughInZone Not enough available hosts are in the target zone. 目标可用区没有足够的主机资源,请在可用区中创建主机。
403 OperationDenied.PrimaryDBInstanceStatus The operation is not permitted due to status of primary instance. 操作失败,无法迁移专属集群内非运行状态的RDS实例。
404 IncorrectDBInstanceConnType Current DB instance conn type does not support this operation. 当前数据库实例的连接类型不支持此操作。
500 CannotDecreaseEssdPerfLevel cannot decrease cloud essd performance level. 存储类型变更校验失败,SQL Server云盘实例只能转为云盘,SSD只能升级到SSD或ESSD。
500 InvalidEssdStorageSize invalid cloud essd storage size. 云盘存储规格有误,请检查存储规格配置。

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