更新时间:2024-04-17 GMT+08:00

RDS.MySQL

模型说明

关系型数据库(Relational Database Service,以下简称RDS)是一种基于云计算平台的即开即用、稳定可靠、弹性伸缩、便捷管理的在线关系型数据库服务。

RDS具有完善的性能监控体系和多重安全防护措施,并提供专业的数据库管理平台, 让用户能够在云中轻松设置、操作和扩展关系型数据库。通过RDS控制台,用户几乎可以执行所有必需任务而无需编程,简化运营流程,减少日常运维工作量,从而专注于应用开发和业务发展。

模型属性

表1 模型定义属性说明

属性

是否必选

描述

dbPort

访问实例的端口

参数类型:integer

取值说明:[2100, 9500],该字段目前无效。

默认值:3306

取值约束:{u'in_range': [2100, 9500]}

使用建议:按需在端口范围内填写

availabilityZone

实例所属的可用区

参数类型:Cloud.ECS.AvailabilityZone.Name

取值说明:待创建云服务器所在的可用区,需要指定可用区(AZ)的名称,例如ae-ad-1a。

取值约束:根据所属区域选择。

使用建议:将该字段通过get_input函数传入,通过在AOS界面创建堆栈填写输入参数时时可自动选择

name

实例名称

参数类型:string

取值说明:用户自定义

默认值:""

取值约束:1. 4位到64位之间,必须以字母开头,不区分大小写可以包含字母、数字、中划线或者下划线,不能包含其他的特殊字符。 2. 同一租户下,同类型的实例名唯一。

使用建议:用户自定义

dataBase

实例自带数据库的配置

参数类型:MySQL.DataBase

默认值:{u'characterSet': u'utf8', u'name': u'unset', u'collate': u'utf8_general_ci'}

使用建议:在“组成部分”中选择 dataBase 字段根据提示的字段进行扩充填写

paramsGroupId

实例的参数组Id

参数类型:Cloud.RDS.ParamsGroup.Id

使用建议:建议设置成get_input形式,从下拉列表中选择;也支持填写一个默认参数组Id,默认值需要从RDS页面获取

securityGroupId

实例所属的安全组ID

参数类型:Cloud.VPC.SecurityGroup.Id

取值说明:到VPC服务获取安全组ID或通过连线VPC.SecurityGroup自动生成。

使用建议:1. 将该字段通过get_input函数传入,通过在AOS界面创建堆栈填写输入参数时时可自动选择 2. 通过get_reference获取由本堆栈创建的VPC.SecurityGroup 3. 在VPC服务界面中获取已创建好的安全组的ID

dbUser

实例自带用户的配置

参数类型:MySQL.DBUser

默认值:{u'userPassword': u'unset', u'name': u'unset'}

使用建议:在“组成部分”中选择 dbUser 字段根据提示的字段进行扩充填写

dbRootPassword

实例的root用户密码。参数非空,由大小写字母、数字和特殊符号~!@#%^*-_=+?组成,长度8~32位,非弱密码。

参数类型:password

取值说明:用户自定义

取值约束:1. 参数必须写入inputs内,通过get_input的方式传入 2. 参数非空,由大小写字母、数字和特殊符号~!@#%^*-_=+?组成,长度8~32位,非弱密码。

使用建议:建议定义为get_input方式获取,以保证安全性

volume

实例使用的数据盘信息

参数类型:RDS.Volume

默认值:{u'volumetype': u'COMMON', u'size': 100}

使用建议:在“组成部分”中选择 volume 字段根据提示的字段进行扩充填写

timeZone

所在地时区

参数类型:string

取值说明:选择填写时,取值范围为UTC-12:00~UTC+12:00,且只支持整段时间,如UTC+08:00,不支持UTC+08:30。

取值约束:{u'valid_values': [u'UTC-12:00', u'UTC-11:00', u'UTC-10:00', u'UTC-09:00', u'UTC-08:00', u'UTC-07:00', u'UTC-06:00', u'UTC-05:00', u'UTC-04:00', u'UTC-03:00', u'UTC-02:00', u'UTC-01:00', u'UTC', u'UTC+01:00', u'UTC+02:00', u'UTC+03:00', u'UTC+04:00', u'UTC+05:00', u'UTC+06:00', u'UTC+07:00', u'UTC+08:00', u'UTC+09:00', u'UTC+10:00', u'UTC+11:00', u'UTC+12:00']}

使用建议:将该字段通过get_input函数传入,通过在AOS界面创建堆栈填写输入参数时可自动选择

backupStrategy

实例备份策略

参数类型:RDS.BackupStrategy

默认值:{u'keepDays': 0, u'endTime': u'02:00', u'startTime': u'01:00'}

取值约束:用户按规格选择定义

subnetId

实例所属的子网ID

参数类型:Cloud.VPC.Subnet.Id

取值说明:使用已有或创建的子网ID。若使用新建的,需在模板中定义子网对象并建立依赖关系。建议通过连线VPC.Subnet来自动生成

取值约束:所填子网必须为与VPC关联对应

使用建议:1. 将该字段通过get_input函数传入,通过在AOS界面创建堆栈填写输入参数时可自动选择 2. 通过get_reference获取由本堆栈创建的VPC.Subnet 3. 在VPC服务界面中获取已创建好的子网的ID。

slaveAvailabilityZone

HA实例备机所属的可用区

参数类型:Cloud.ECS.AvailabilityZone.Name

取值说明:待创建云服务器所在的可用区,需要指定可用区(AZ)的名称,例如ae-ad-1a。

取值约束:根据所属区域选择。

使用建议:将该字段通过get_input函数传入,通过在AOS界面创建堆栈填写输入参数时时可自动选择。

dataStore

数据库信息

参数类型:MySQL.DataStore

默认值:{u'dbtype': u'MySQL', u'version': u'5.7'}

使用建议:在“组成部分”中选择 dataStore 字段根据提示的字段进行扩充填写

HA

实例的高可用配置

参数类型:RDS.HA.Mysql

默认值:{u'replicationMode': u'semisync', u'enable': u'unset'}

使用建议:在“组成部分”中选择 HA 字段根据提示的字段进行扩充填写

vpcId

实例所属的VPC ID

参数类型:Cloud.VPC.VPC.Id

取值说明:支持使用已有或新建私有云ID。 若使用新建的,需在模板中定义vpc对象并建立依赖关系。建议通过拖拽到VPC内自动生成。

取值约束:满足uuid的生成规则

使用建议:1. 将该字段通过get_input函数传入,通过在AOS界面创建堆栈填写输入参数时可自动选择 2. 通过get_reference获取由本堆栈创建的VPC.VPC元素 3. 在VPC服务界面获取已经创建好的VPC的ID。

flavor

实例规格

参数类型:Cloud.RDS.Flavor.Id

取值说明:待创建的数据库实例的规格,根据实例规格及用户project生成。

取值约束:不同Project所获取的FlavorID不一致,同时需要与所用的数据库类型、版本配套。资源规格编码,例如:rds.mysql.m1.xlarge。其中,rds代表RDS产品,mysql代表数据库引擎,m1.xlarge代表性能规格,为高内存类型。带"rr"的表示只读实例规格,反之表示单实例和HA实例规格。

使用建议:建议通过RDS API先获取。

关联关系

表2 关联关系说明

关系说明

关联节点

关联关系

VPC.Subnet

关联关系

VPC.SecurityGroup

被包含关系

VPC.VPC

输出

属性

参数类型

描述

refIP

string

关系型数据库MySQL的访问IP地址

refPort

integer

关系型数据库MySQL的访问端口

refName

string

关系型数据库MySQL实例的名称

refID

string

关系型数据库MySQL实例的ID

blueprint样例

tosca_definitions_version: cloud_tosca_version_1_0
node_templates:
  rdsms528:
    type: Cloud.RDS.MySQL
    properties:
      dataStore:
        dbtype: MySQL
        version: '5.7'
      dbPort: 3306
      vpcId:
        get_input: rdsms528_vpcId
      securityGroupId:
        get_input: rdsms528_securityGroupId
      availabilityZone:
        get_input: rdsms528_availabilityZone
      dbRootPassword:
        get_input: rdsms528_dbRootPassword
      volume:
        volumetype: COMMON
        size: 100
      backupStrategy:
        keepDays: 0
        endTime: '02:00'
        startTime: '01:00'
      subnetId:
        get_input: rdsms528_subnetId
      flavor:
        get_input: rdsms528_flavor
      HA:
        replicationMode: semisync
        enable:
          get_input: rdsms528_HA_enable
inputs:
  rdsms528_vpcId:
    description: 实例所属的VPC ID
    label: ''
  rdsms528_securityGroupId:
    description: 实例所属的安全组ID
    label: ''
  rdsms528_availabilityZone:
    description: 实例所属的可用分区
    label: ''
  rdsms528_dbRootPassword:
    description: '实例的root用户密码。参数非空,由大小写字母、数字和特殊符号~!@#%^*-_=+?组成,长度8~32位,非弱密码。'
    label: ''
  rdsms528_subnetId:
    description: 实例所属的子网ID
    label: ''
  rdsms528_flavor:
    description: 实例规格
    label: ''
  rdsms528_HA_enable:
    description: 是否高可用
    label: ''