更新时间:2022-02-22 GMT+08:00

创建数据库实例

功能介绍

创建RDS实例,可分为单实例、HA实例和只读副本。

URI

  • URI格式

    POST https://{Endpoint}/v3/{project_id}/instances

  • 参数说明
    表1 参数说明

    名称

    是否必选

    说明

    project_id

    租户在某一region下的project ID。

    获取方法请参见获取项目ID

请求消息

表2 参数说明(创建HA实例、单实例和分布式实例)

名称

是否必选

参数类型

说明

name

String

实例名称。

用于表示实例的名称,同一租户下,同类型的实例名可重名。取值范围如下:

  • MySQL数据库支持的字符长度是4~64个字符,必须以字母开头,区分大小写,可以包含字母、数字、中划线或者下划线,不能包含其他的特殊字符。
  • PostgreSQL和SQL Server数据库支持的字符长度是4~64个字符,必须以字母开头,区分大小写,可以包含字母、数字、中划线或者下划线,不能包含其他的特殊字符。

datastore

Object

数据库信息。

详情请参见表4

ha

Object

HA配置参数,创建HA实例时使用。

详情请参见表5

configuration_id

String

参数模板ID。

使用可参考获取参数模板列表响应消息表3中的“id”

port

String

数据库端口信息。

  • MySQL数据库端口设置范围为1024~65535(其中12017和33071被RDS系统占用不可设置)。
  • PostgreSQL数据库端口修改范围为2100~9500。
  • Microsoft SQL Server实例的端口设置范围为1433和2100~9500(其中5355和5985不可设置)。

当不传该参数时,默认端口如下:

  • MySQL默认3306。
  • PostgreSQL默认5432。
  • Microsoft SQL Server默认1433。

password

String

数据库密码。

取值范围:

数据库支持的密码长度是8~32个字符,至少包含大写字母、小写字母、数字、特殊字符三种字符的组合。

建议您输入高强度密码,以提高安全性,防止出现密码被暴力破解等安全风险。

backup_strategy

Object

高级备份策略。

详情请参见表6

flavor_ref

String

规格码,取值范围:非空。

使用可参考查询数据库规格响应消息表3中的“spec_code”

volume

Object

volume信息。

详情请参见表7

region

String

区域ID。

availability_zone

String

可用区ID。对于数据库实例类型不是单机的实例,需要分别为实例所有节点指定可用区,并用逗号隔开。详见示例。

vpc_id

String

虚拟私有云ID,获取方法如下:

  • 方法1:登录虚拟私有云服务的控制台界面,在虚拟私有云的详情页面查找VPC ID。

subnet_id

String

子网的网络ID信息,获取方法如下:

  • 方法1:登录虚拟私有云服务的控制台界面,单击VPC下的子网,进入子网详情页面,查找网络ID。
  • 方法2:获取方法请参见《虚拟私有云API参考》中“查询子网列表”的内容。

data_vip

String

指定实例的内网IP,获取方法如下:

  • 方法1:登录虚拟私有云服务的控制台界面,单击VPC下的子网,进入子网详情页面,查找子网的网段。
  • 方法2:获取方法请参见《虚拟私有云API参考》中“查询子网”的内容。

security_group_id

String

指定实例所属的安全组。

  • 方法1:登录虚拟私有云服务的控制台界面,在安全组的详情页面查找安全组ID。
  • 方法2:获取方法请参见《虚拟私有云API参考》中“查询安全组列表”的内容。

charge_info

Object

计费类型信息。

详情请参见表8

time_zone

String

UTC时区。

  • 不选择时,各个引擎时区如下:
    • MySQL默认为UTC时间。
    • PostgreSQL默认为UTC时间。
    • Microsoft SQL Server默认为UTC时间。
  • MySQL和PostgreSQL引擎选择填写时,取值范围为UTC-12:00~UTC+12:00,且只支持整段时间,如UTC+08:00,不支持UTC+08:30。
  • Microsoft SQL Server引擎选择填写时,请参见表9,填写时区列字符串。
表3 参数说明

名称

是否必选

参数类型

说明

name

String

实例名称。

取值范围:

  • MySQL数据库支持的字符长度是4~64个字符,必须以字母开头,区分大小写,可以包含字母、数字、中划线或者下划线,不能包含其他的特殊字符。
  • PostgreSQL和SQL Server数据库支持的字符长度是4~64个字符,必须以字母开头,区分大小写,可以包含字母、数字、中划线或者下划线,不能包含其他的特殊字符。

replica_of_id

String

主实例ID,用于创建只读实例。

使用可参考查询数据库实例列表响应消息表3中的“id”

flavor_ref

String

规格码,取值范围:非空,。

使用可参考查询数据库规格响应消息表3中的“spec_code”

volume

Object

volume信息。

详情请参见表7

region

String

区域ID。当前只支持创建与主实例同region的只读实例。

availability_zone

String

可用区ID。

charge_info

Object

计费类型信息。

详情请参见表8

表4 datastore字段数据结构说明

名称

是否必选

参数类型

说明

type

String

数据库引擎,取值如下:

  • MySQL
  • PostgreSQL
  • SQLServer

version

String

数据库版本。

  • MySQL引擎支持5.6、5.7、8.0版本。取值示例:5.7。
  • PostgreSQL引擎支持1.0(PostgreSQL增强版)、9.5、9.6、10、11、12版本。取值示例:9.6。
  • Microsoft SQL Server:仅支持2017 企业版、2017 标准版、2017 web版、2014 标准版、2014 企业版、2016 标准版、2016 企业版、2012 企业版、2012 标准版、2012 web版、2008 R2 企业版、2008 R2 web版、2014 web版、2016 web版。取值示例2014_SE。

数据库支持的详细版本信息,可调用查询数据库引擎的版本接口获取。

表5 ha字段数据结构说明

名称

是否必选

参数类型

说明

mode

String

实例主备模式,取值:Ha(主备),不区分大小写。

replication_mode

String

备机同步参数。

取值:

  • MySQL为“async”或“semisync”。
  • PostgreSQL为“async”或“sync”。
  • Microsoft SQL Server为“sync”。
说明:
  • “async”为异步模式。
  • “semisync”为半同步模式。
  • “sync”为同步模式。
表6 backup_strategy字段数据结构说明

名称

是否必选

参数类型

说明

start_time

String

备份时间段。自动备份将在该时间段内触发。

取值范围:非空,格式必须为hh:mm-HH:MM且有效,当前时间指UTC时间。

  • HH取值必须比hh大1。
  • mm和MM取值必须相同,且取值必须为00、15、30或45。

取值示例:

  • 08:15-09:15
  • 23:00-00:00

keep_days

Integer

指定备份文件的可保存天数。

取值范围:0~732。该参数缺省,或取值为0,表示关闭自动备份策略。如果需要延长保留时间请联系客服人员申请,自动备份最长可以保留2562天。

须知:

SQL Server的HA实例不支持关闭自动备份策略。

表7 volume字段数据结构说明

名称

是否必选

参数类型

说明

type

String

磁盘类型。

取值范围如下,区分大小写:

  • ULTRAHIGH,表示SSD。

size

Integer

磁盘大小。

取值范围:40GB~4000GB,必须为10的整数倍。

说明:

对于只读实例,该参数无效,磁盘大小,默认和主实例相同。

表8 charge_info字段数据结构说明

名称

是否必选

参数类型

说明

charge_mode

String

计费模式。

表9 时区与UTC偏移量对照表

时区

标准时间偏移

备注

Afghanistan Standard Time

UTC+04:30

喀布尔

Alaskan Standard Time

UTC-09:00

阿拉斯加

Arabian Standard Time

UTC+04:00

阿布扎比,马斯喀特

Atlantic Standard Time

UTC-04:00

大西洋时间(加拿大)

AUS Central Standard Time

UTC+09:30

达尔文

AUS Eastern Standard Time

UTC+10:00

堪培拉,墨尔本,悉尼

Belarus Standard Time

UTC+03:00

明斯克

Canada Central Standard Time

UTC-06:00

萨斯喀彻温

Cape Verde Standard Time

UTC-01:00

佛得角群岛

Cen. Australia Standard Time

UTC+09:30

阿德莱德

Central America Standard Time

UTC-06:00

中美洲

Central Asia Standard Time

UTC+06:00

阿斯塔纳

Central Brazilian Standard Time

UTC-04:00

库亚巴

Central Europe Standard Time

UTC+01:00

贝尔格莱德,布拉迪斯拉发,布达佩斯,卢布尔雅那,布拉格

Central European Standard Time

UTC+01:00

萨拉热窝,斯科普里,华沙,萨格勒布

Central Pacific Standard Time

UTC+11:00

所罗门群岛,新喀里多尼亚

Central Standard Time

UTC-06:00

中部时间(美国和加拿大)

China Standard Time

UTC+08:00

北京,重庆,香港,乌鲁木齐

E. Africa Standard Time

UTC+03:00

内罗毕

E. Australia Standard Time

UTC+10:00

布里斯班

E. Europe Standard Time

UTC+02:00

基希讷乌

E. South America Standard Time

UTC-03:00

巴西利亚

Eastern Standard Time

UTC-05:00

东部时间(美国和加拿大)

Georgian Standard Time

UTC+04:00

第比利斯

GMT Standard Time

UTC

都柏林,爱丁堡,里斯本,伦敦

Greenland Standard Time

UTC–03:00

格陵兰

Greenwich Standard Time

UTC

蒙罗维亚,雷克雅未克

GTB Standard Time

UTC+02:00

雅典,布加勒斯特

Hawaiian Standard Time

UTC-10:00

夏威夷

India Standard Time

UTC+05:30

钦奈,加尔各答,孟买,新德里

Jordan Standard Time

UTC+02:00

安曼

Korea Standard Time

UTC+09:00

首尔

Middle East Standard Time

UTC+02:00

贝鲁特

Mountain Standard Time

UTC-07:00

山地时间(美国和加拿大)

US Mountain Standard Time

UTC-07:00

亚利桑那

New Zealand Standard Time

UTC+12:00

奥克兰,惠灵顿

Newfoundland Standard Time

UTC-03:30

纽芬兰

Pacific SA Standard Time

UTC-03:00

圣地亚哥

Pacific Standard Time

UTC-08:00

太平洋时间(美国和加拿大)

Russian Standard Time

UTC+03:00

莫斯科,圣彼得堡

SA Pacific Standard Time

UTC-05:00

波哥大,利马,基多,里奥布朗库

SE Asia Standard Time

UTC+07:00

曼谷,河内,雅加达

China Standard Time

UTC+08:00

吉隆坡,新加坡

Tokyo Standard Time

UTC+09:00

大阪,札幌,东京

US Eastern Standard Time

UTC-05:00

印地安那州(东部)

UTC

UTC

协调世界时间

UTC-02

UTC-02:00

协调世界时间-02

UTC-08

UTC-08:00

协调世界时间-08

UTC-09

UTC-09:00

协调世界时间-09

UTC-11

UTC-11:00

协调世界时间-11

UTC+12

UTC+12:00

协调时间时间+12

W. Australia Standard Time

UTC+08:00

珀斯

W. Central Africa Standard Time

UTC+01:00

中非西部

W. Europe Standard Time

UTC+01:00

阿姆斯特丹,柏林,伯尔尼,罗马,斯德哥尔摩,维也纳

  • 请求样例

    创建单实例:

    {
    	"name": "rds-instance-rep2",
    	"datastore": {
    		"type": "MySQL",
    		"version": "5.6"
    	},
    	"flavor_ref": "rds.mysql.s1.large",
    	"volume": {
    		"type": "ULTRAHIGH",
    		"size": 100
    	},
    	"vpc_id": "490a4a08-ef4b-44c5-94be-3051ef9e4fce",
    	"subnet_id": "0e2eda62-1d42-4d64-a9d1-4e9aa9cd994f",
    	"data_vip": "192.168.0.147",
    	"security_group_id": "2a1f7fc8-3307-42a7-aa6f-42c8b9b8f8c5",
    	"port": 8635,
    	"backup_strategy": {
    		"start_time": "08:15-09:15",
    		"keep_days": 12
    	},
    	"charge_info": {
    		"charge_mode": "postPaid"
    	},
    	"password": "Test@12345678",
    	"configuration_id": "452408-ef4b-44c5-94be-305145fg"
    ,
    }

    创建HA实例:

    {
    	"name": "rds-instance-rep2",
    	"datastore": {
    		"type": "MySQL",
    		"version": "5.6"
    	},
    	"ha": {
    		"mode": "ha",
    		"replication_mode": "semisync"
    	},
    	"flavor_ref": "rds.mysql.s1.large.ha",
    	"volume": {
    		"type": "ULTRAHIGH",
    		"size": 100
    	},
    	"region": "aaa",
    	"availability_zone": "bbb,ccc",
    	"vpc_id": "490a4a08-ef4b-44c5-94be-3051ef9e4fce",
    	"subnet_id": "0e2eda62-1d42-4d64-a9d1-4e9aa9cd994f",
    	"data_vip": "192.168.0.147",
    	"security_group_id": "2a1f7fc8-3307-42a7-aa6f-42c8b9b8f8c5",
    	"port": 8635,
    	"backup_strategy": {
    		"start_time": "08:15-09:15",
    		"keep_days": 12
    	},
    	"charge_info": {
    		"charge_mode": "postPaid"
    	},
    	"password": "Test@12345678",
    	"configuration_id": "452408-ef4b-44c5-94be-305145fg"
    }

    创建只读实例:

    {
    	"name": "rds-instance-rep2",
    	"replica_of_id": "afdsad-fds-fdsagin01",
    	"flavor_ref": "rds.mysql.s1.large.rr",
    	"volume": {
    		"type": "ULTRAHIGH"
    	},
    	"region": "aaa",
    	"availability_zone": "bbb"
    }

响应消息

  • 正常响应要素说明
    表10 要素说明

    名称

    参数类型

    说明

    instance

    Object

    实例信息。

    详情请参见表11

    job_id

    String

    实例创建的任务id。

    表11 instance说明

    名称

    参数类型

    说明

    id

    String

    实例id。

    name

    String

    实例名称。用于表示实例的名称,同一租户下,同类型的实例名称可相同。

    取值范围:

    • MySQL数据库支持的字符长度是4~64个字符,必须以字母开头,区分大小写,可以包含字母、数字、中划线或者下划线,不能包含其他的特殊字符。
    • PostgreSQL和SQL Server数据库支持的字符长度是4~64个字符,必须以字母开头,区分大小写,可以包含字母、数字、中划线或者下划线,不能包含其他的特殊字符。

    status

    String

    实例状态。如BUILD,表示创建中。

    datastore

    Object

    数据库信息。

    详情请参见表12

    ha

    Object

    HA配置参数,仅当您选择创建HA实例时该参数才可见。

    详情请参见表13

    configuration_id

    String

    参数模板id,仅当您创建实例指定用户自定义参数组时,该参数才可见。

    port

    String

    数据库端口信息,与请求参数相同。

    backup_strategy

    Object

    自动备份策略。

    详情请参见表14

    flavor_ref

    String

    规格码,取值范围:非空。

    使用可参考查询数据库规格响应消息表3中的“spec_code”

    volume

    Object

    volume信息。

    详情请参见表15

    region

    String

    区域ID。

    availability_zone

    String

    可用区ID。

    vpc_id

    String

    虚拟私有云ID,获取方法如下:

    • 方法1:登录虚拟私有云服务的控制台界面,在虚拟私有云的详情页面查找VPC ID。

    subnet_id

    String

    子网的网络ID信息,获取方法如下:

    • 方法1:登录虚拟私有云服务的控制台界面,单击VPC下的子网,进入子网详情页面,查找网络ID。
    • 方法2:获取方法请参见《虚拟私有云API参考》中“查询子网列表”的内容。

    security_group_id

    String

    指定实例所属的安全组。

    • 方法1:登录虚拟私有云服务的控制台界面,在安全组的详情页面查找安全组ID。
    • 方法2:获取方法请参见《虚拟私有云API参考》中“查询安全组列表”的内容。

    charge_info

    Object

    付费方式信息。

    详情请参见表16

    表12 datastore字段数据结构说明

    名称

    参数类型

    说明

    type

    String

    数据库引擎,返回值如下:

    • MySQL
    • PostgreSQL
    • SQLServer

    version

    String

    数据库版本。

    数据库支持的详细版本信息,可调用查询数据库引擎的版本接口获取。

    表13 ha字段数据结构说明

    名称

    参数类型

    说明

    mode

    String

    实例主备模式,取值范围:Ha(主备)。

    replication_mode

    String

    备机同步参数。实例主备模式为Ha时有效。

    取值:

    • MySQL为“async”或“semisync”。
    • PostgreSQL为“async”或“sync”。
    • Microsoft SQL Server为“sync”。
    说明:
    • “async”为异步模式。
    • “semisync”为半同步模式。
    • “sync”为同步模式。
    表14 backupStrategy字段数据结构说明

    名称

    参数类型

    说明

    start_time

    String

    备份时间段。自动备份将在该时间段内触发。

    取值范围:非空,格式必须为hh:mm-HH:MM且有效,当前时间指UTC时间。

    • HH取值必须比hh大1。
    • mm和MM取值必须相同,且取值必须为00、15、30或45。

    取值示例:

    • 08:15-09:15
    • 23:00-00:00

    如果请求体中“backup_strategy”为空,则响应体中 “start_time”默认返回“02:00-03:00”

    keep_days

    Integer

    指定已生成备份文件的可保存天数。

    取值范围:0~732。该参数缺省,或取0值,表示关闭自动备份策略。如果需要延长保留时间请联系客服人员申请,自动备份最长可以保留2562天。

    如果请求体中“backup_strategy”为空,则响应体中 “keep_days”默认返回“7”

    表15 volume字段数据结构说明

    名称

    参数类型

    说明

    type

    String

    磁盘类型。

    取值范围如下,区分大小写:

    • ULTRAHIGH,表示SSD。

    size

    Integer

    磁盘大小。

    取值范围:40GB~4000GB。必须为10的整数倍。

    表16 chargeInfo字段数据结构说明

    名称

    参数类型

    说明

    charge_mode

    String

    创建类型。

  • 正常响应样例

    MySQL单实例:

    {
    	"instance": {
    		"id": "dsfae23fsfdsae3435in01",
    		"name": "trove-instance-rep2",
    		"datastore": {
    			"type": "MySQL",
    			"version": "5.6"
    		},
    		"flavor_ref": "rds.mysql.s1.large",
    		"volume": {
    			"type": "ULTRAHIGH",
    			"size": 100
    		},
    		"vpc_id": "490a4a08-ef4b-44c5-94be-3051ef9e4fce",
    		"subnet_id": "0e2eda62-1d42-4d64-a9d1-4e9aa9cd994f",
    		"security_group_id": "2a1f7fc8-3307-42a7-aa6f-42c8b9b8f8c5",
    		"port": "8635",
    		"backup_strategy": {
    			"start_time": "08:15-09:15",
    			"keep_days": 3
    		},
    		"configuration_id": "452408-44c5-94be-305145fg",
    		"charge_info": {
    			"charge_mode": "postPaid"
    		}
    	},
    	"job_id": "dff1d289-4d03-4942-8b9f-463ea07c000d"
    }

    HA实例:

    {
      "instance":{ 
               "id": "dsfae23fsfdsae3435in01",
               "name": "trove-instance-rep2", 
               "datastore": { 
                 "type": "MySQL", 
                 "version": "5.6" 
                }, 
               "ha": {
                 "mode": "ha",
                 "replication_mode": "semisync"
               },
               "flavor_ref": "rds.mysql.s1.large.ha",
               "volume": { 
                   "type": "ULTRAHIGH", 
                   "size": 100 
                 },
               "vpc_id": "490a4a08-ef4b-44c5-94be-3051ef9e4fce", 
               "subnet_id": "0e2eda62-1d42-4d64-a9d1-4e9aa9cd994f",
               "security_group_id": "2a1f7fc8-3307-42a7-aa6f-42c8b9b8f8c5", 
               "port": "8635", 
               "backup_strategy": { 
                 "start_time": "08:15-09:15", 
                 "keep_days": 3 
                }, 
               "configuration_id": "452408-44c5-94be-305145fg",
               "charge_info": {
                       "charge_mode": "postPaid"
                                   },
             },
      "job_id": "dff1d289-4d03-4942-8b9f-463ea07c000d" 
    }

    只读实例:

    {
      "instance":{ 
                "id": "dsfae23fsfdsae3435in01",
                "name": "trove-instance-rep2", 
                "flavor_ref": "rds.mysql.s1.large.rr",
                 "volume": { 
                   "type": "ULTRAHIGH", 
                   "size": 100 
                 },
               "region": "",
               "availability_zone": "",
               "vpc_id": "490a4a08-ef4b-44c5-94be-3051ef9e4fce", 
               "subnet_id": "0e2eda62-1d42-4d64-a9d1-4e9aa9cd994f",
               "security_group_id": "2a1f7fc8-3307-42a7-aa6f-42c8b9b8f8c5", 
               "port": "8635", 
               "configuration_id": "452408-44c5-94be-305145fg"
             },
     "job_id": "dff1d289-4d03-4942-8b9f-463ea07c000d"  
    }
  • 异常响应

    请参见异常请求结果

状态码

请参见状态码

错误码

请参见错误码