ALIYUN::RDS::DBInstance is used to create an ApsaraDB RDS instance.
Syntax
{
"Type": "ALIYUN::RDS::DBInstance",
"Properties": {
"PeriodType": String,
"Category": String,
"PrivateIpAddress": String,
"ResourceGroupId": String,
"TargetDedicatedHostIdForSlave": String,
"DBInstanceNetType": String,
"DBTimeZone": String,
"DedicatedHostGroupId": String,
"EncryptionKey": String,
"PreferredBackupPeriod": List,
"SecurityIPList": String,
"SecurityGroupId": String,
"DBIsIgnoreCase": Integer,
"DBInstanceStorage": Integer,
"DBMappings": List,
"Port": Integer,
"ConnectionStringPrefix": String,
"ConnectionStringType": String,
"MultiAZ": Boolean,
"MaintainTime": String,
"Engine": String,
"DBParamGroupId": String,
"DBInstanceDescription": String,
"Tags": Map,
"TargetDedicatedHostIdForMaster": String,
"EngineVersion": String,
"ZoneId": String,
"DBInstanceClass": String,
"AllocatePublicConnection": Boolean,
"PreferredBackupTime": String,
"VSwitchId": String,
"BackupPolicyMode": String,
"Period": Integer,
"PayType": String,
"DBInstanceStorageType": String,
"RoleARN": String,
"MasterUserPassword": String,
"MasterUserType": String,
"VpcId": String,
"MasterUsername": String,
"ConnectionMode": String,
"BackupRetentionPeriod": Number,
"TargetDedicatedHostIdForLog": String,
"SlaveZoneIds": List,
"AutoRenew": Boolean,
"SQLCollectorStatus": String,
"SSLSetting": String,
"LogBackupFrequency": String,
"EnableBackupLog": Boolean,
"ReleasedKeepPolicy": String,
"ArchiveBackupRetentionPeriod": Integer,
"ArchiveBackupKeepPolicy": String,
"ArchiveBackupKeepCount": Integer,
"LogBackupRetentionPeriod": Integer,
"HighSpaceUsageProtection": String,
"LocalLogRetentionSpace": Integer,
"BackUpCategory": String,
"CompressType": Integer,
"LocalLogRetentionHours": Integer,
"LogBackupLocalRetentionNumber": Integer,
"ServerlessConfig": Map,
"InstanceNetworkType": String,
"StorageAutoScale": String,
"StorageUpperBound": Number,
"StorageThreshold": Number,
"BurstingEnabled": Boolean,
"IoAccelerationEnabled": String,
"ColdDataEnabled": Boolean,
"DeletionProtection": Boolean
}
}
Properties
Property | Type | Required | Editable | Description | Constraint |
Property | Type | Required | Editable | Description | Constraint |
ResourceGroupId | String | No | Yes | The ID of the resource group. | None. |
Engine | String | Yes | The type of the database engine. | Valid values:
| |
DBInstanceStorage | Integer | Yes | Yes | The storage capacity of the instance. |
Unit: GB. The value of DBInstanceStorage must be in increments of 5 GB. |
EngineVersion | String | Yes | No | The version of the database engine. |
|
Port | Integer | No | Yes | The port of the instance. | None. |
ConnectionStringPrefix | String | No | Yes | The prefix of the endpoint. | The prefix can contain lowercase letters, digits, and hyphens (-). The prefix must start with a lowercase letter and end with a lowercase letter or a digit. The prefix must be at least 8 characters in length. The endpoint, including the prefix and suffix, can be up to 63 characters in length. |
ConnectionStringType | String | No | Yes | The endpoint type. | Valid values:
|
DBTimeZone | String | No | No | The UTC time zone. | Valid values: -12:59 to +13:00.
|
DBParamGroupId | String | No | No | The ID of the parameter template. | None. |
Category | String | No | Yes | The edition of the instance. | Valid values:
To ensure complete validation, we recommend that you specify ZoneId, DBInstanceStorageType, and Category when you use the parameter constraint query feature. |
TargetDedicatedHostIdForMaster | String | No | No | The host ID of the primary instance that you want to create in a dedicated cluster. | None. |
DBIsIgnoreCase | Integer | No | No | Specifies whether table names are case-insensitive. | Valid values:
|
EncryptionKey | String | No | No | The ID of the key that is used for cloud disk encryption in the region where the instance resides. You can obtain the key ID from the Key Management Service (KMS) console. You can also create a key. | If you specify this property, cloud disk encryption is enabled and the RoleARN property is required. You cannot disable cloud disk encryption after it is enabled. |
MaintainTime | String | No | No | The maintenance window of the instance. | Specify the maintenance window in the |
TargetDedicatedHostIdForSlave | String | No | No | The host ID of the secondary instance that you want to create in a dedicated cluster. | None. |
DedicatedHostGroupId | String | No | No | The ID of the dedicated cluster in which you want to create the instance. | None. |
DBInstanceStorageType | String | No | Yes | The storage type of the instance. | Valid values:
The default value of DBInstanceStorageType varies based on the instance type specified by the DBInstanceClass property:
|
RoleARN | String | No | No | The Alibaba Cloud Resource Name (ARN) of the Resource Access Management (RAM) role. You can access KMS from ApsaraDB RDS by using the RAM role. | For more information, see Authorize ApsaraDB RDS to access KMS. |
DBInstanceClass | String | Yes | Yes | The instance type. | For more information, see Primary ApsaraDB RDS instance types. |
SecurityIPList | String | Yes | Yes | The IP address whitelist that allows access to all databases on the instance. | Separate multiple entries in the whitelist with commas (,). Each entry in the whitelist must be unique. The whitelist can contain up to 1,000 entries. Entries in the whitelist support the following formats:
|
SecurityGroupId | String | No | Yes | The ID of the security group with which you want to associate the instance. | You can associate the instance with up to three security groups. Separate multiple security group IDs with commas (,). If you want to disassociate the instance from all security groups, leave this property empty. |
MultiAZ | Boolean | No | No | Specifies whether the instance supports multiple zones. | Valid values:
To ensure complete validation, we recommend that you set MultiAZ to false when you use the parameter constraint query feature. |
VpcId | String | No | No | The ID of the virtual private cloud (VPC). | None. |
DBMappings | List | No | No | The databases that you want to create on the instance. | For more information, see DBMappings properties. |
DBInstanceDescription | String | No | Yes | The description of the instance. | The description must be 2 to 256 characters in length. It must start with a letter and cannot start with |
ConnectionMode | String | No | No | The connection mode of the database. | Valid values:
If you do not specify this property, the system assigns a connection mode by default. Instances that run SQL Server 2012, SQL Server 2016, or SQL Server 2017 support only the standard mode. |
MasterUsername | String | No | Yes | The username of the database management account of the instance. | The username must be globally unique. It can be up to 16 characters in length, and can contain letters, digits, and underscores (_). It must start with a letter. |
MasterUserPassword | String | No | Yes | The password of the database management account of the instance. | The password must be 8 to 32 characters in length, and can contain letters, digits, and underscores (_). |
ZoneId | String | No | No | The ID of the zone. | To ensure complete validation, we recommend that you specify ZoneId, DBInstanceStorageType, and Category when you use the parameter constraint query feature. |
DBInstanceNetType | String | No | No | The network connection type of the instance. | Valid values:
|
VSwitchId | String | No | No | The ID of the vSwitch. | Separate multiple vSwitch IDs with commas (,). This property must be specified when Engine is set to MariaDB. |
BackupPolicyMode | String | No | Yes | The backup type. | Valid values:
|
AllocatePublicConnection | Boolean | No | No | Specifies whether to apply for a public endpoint for the instance. | Valid values:
|
PreferredBackupTime | String | No | Yes | The backup time. | Specify the time in the Valid values: 00:00Z-01:00Z, 01:00Z-02:00Z, 02:00Z-03:00Z, 03:00Z-04:00Z, 04:00Z-05:00Z, 05:00Z-06:00Z, 06:00Z-07:00Z, 07:00Z-08:00Z, 08:00Z-09:00Z, 09:00Z-10:00Z, 10:00Z-11:00Z, 11:00Z-12:00Z, 12:00Z-13:00Z, 13:00Z-14:00Z, 14:00Z-15:00Z, 15:00Z-16:00Z, 16:00Z-17:00Z, 17:00Z-18:00Z, 18:00Z-19:00Z, 19:00Z-20:00Z, 20:00Z-21:00Z, 21:00Z-22:00Z, 22:00Z-23:00Z, and 23:00Z-24:00Z. |
BackupRetentionPeriod | Number | No | Yes | The number of days for which you want to retain backup data. | Valid values: 7 to 30. Unit: day. Default value: 7. |
PrivateIpAddress | String | No | No | The private IP address that corresponds to the vSwitch ID. | If you do not specify this property, the system assigns a private IP address by default. |
PreferredBackupPeriod | List | No | Yes | The day of a week on which the system backs up data. | Valid values:
|
MasterUserType | String | No | No | The type of the database management account. | Valid values:
|
Tags | Map | No | Yes | The tags. Each tag consists of a tag key and a tag value. | The tag key is required, and the tag value is optional. Sample format: |
PeriodType | String | No | No | The unit of the billing cycle. | Valid values:
|
PayType | String | No | No | The billing method of the instance. | Valid values:
|
Period | Integer | No | No | The subscription duration. |
|
TargetDedicatedHostIdForLog | String | No | No | The host ID of the logger instance that you want to create in a dedicated cluster. | None. |
SlaveZoneIds | List | No | No | The secondary zone IDs of the instance that runs RDS High-availability Edition or RDS Enterprise Edition. | You can specify up to two secondary zone IDs. For example, you can set this property to You must specify a vSwitch ID for each primary or secondary zone. For example, if you set ZoneId to
|
SQLCollectorStatus | String | No | Yes | Specifies whether to enable SQL Explorer and Audit. | Valid values:
|
SSLSetting | String | No | No | The SSL connection settings of the instance. | Valid values:
|
AutoRenew | Boolean | No | No | Specifies whether to enable auto-renewal. | This property must be specified only when the instance uses the subscription billing method. Valid values:
|
LogBackupFrequency | String | No | Yes | The frequency at which you want to back up logs. | Set the value to LogInterval. A value of LogInterval specifies that the system backs up logs every 30 minutes. The default value of LogBackupFrequency is the same as the value of PreferredBackupPeriod. LogBackupFrequency is supported only when Engine is set to SQLServer. |
EnableBackupLog | Boolean | No | Yes | Specifies whether to enable the log backup feature. | Valid values:
This property must be specified when BackupPolicyMode is set to LogBackupPolicy. |
ReleasedKeepPolicy | String | No | Yes | The policy that you want to use to retain archived backups after the instance is released. | Valid values:
|
ArchiveBackupRetentionPeriod | Integer | No | Yes | The number of days for which you want to retain archived backups. | Valid values: 30 to 1095. Unit: day. |
ArchiveBackupKeepPolicy | String | No | Yes | The cycle based on which you want to retain archived backups. | Valid values:
|
ArchiveBackupKeepCount | Integer | No | Yes | The number of archived backups that you want to retain. |
Default value: 1. |
LogBackupRetentionPeriod | Integer | No | Yes | The number of days for which you want to retain log backups. | Valid values: 7 to 730. The retention period of log backups cannot be longer than that of data backups. If you enable the log backup feature, you can specify the retention period of log backups. |
HighSpaceUsageProtection | String | No | Yes | Specifies whether to forcefully delete log backup files when the disk capacity is insufficient. The capacity is considered insufficient if the storage usage of your instance exceeds 80% or the remaining storage capacity of your instance is less than 5 GB. | Valid values:
This property must be specified when BackupPolicyMode is set to LogBackupPolicy. |
LocalLogRetentionSpace | Integer | No | Yes | The maximum storage usage that is allowed for log backup files on the instance. Unit: %. | Valid values: 0 to 50. If the storage usage for log backup files on the instance exceeds the value of this property, the system deletes earlier log backup files until the storage usage falls below the value of this property. This property must be specified when BackupPolicyMode is set to LogBackupPolicy. |
BackUpCategory | String | No | Yes | Specifies whether to enable the single-digit second backup feature. | Valid values:
|
CompressType | Integer | No | Yes | The method that you want to use to compress backup data. | Valid values:
|
LocalLogRetentionHours | Integer | No | Yes | The number of hours for which you want to retain local log backups on the instance. | Valid values: 0 to 168. Unit: hour. A value of 0 specifies that log backup files are not retained on the instance. This property must be specified when BackupPolicyMode is set to LogBackupPolicy. |
LogBackupLocalRetentionNumber | Integer | No | Yes | The number of log backup files that can be retained on the instance. | Valid values: 6 to 100. Default value: 60. |
ServerlessConfig | Map | No | No | The settings of the serverless instance. | For more information, see ServerlessConfig properties. |
InstanceNetworkType | String | No | No | The network type of the instance. | Valid values:
For instances that run MySQL and use cloud disks, you must set this property to VPC. For instances that run PostgreSQL or MariaDB, you must set this property to VPC. For instances that run SQL Server Basic or SQL Server Web, you can set this property to VPC or Classic. For other types of instances, you must set this property to VPC. |
StorageAutoScale | String | No | No | Specifies whether to enable automatic storage expansion. | This property is supported only when Engine is set to MySQL or PostgreSQL. Valid values:
You can also call the ModifyDasInstanceConfig operation to adjust the settings of automatic storage expansion for an instance after the instance is created. For more information, see Configure automatic storage expansion. |
StorageUpperBound | Number | No | No | The maximum storage capacity that is allowed for automatic storage expansion. | Automatic storage expansion does not cause the storage capacity of the instance to exceed the value of this property. Unit: GB. The value of this property must be greater than or equal to 0. This property must be specified when StorageAutoScale is set to Enable. |
StorageThreshold | Number | No | No | The threshold based on which automatic storage expansion is triggered. Unit: %. | Valid values:
This property must be specified when StorageAutoScale is set to Enable. |
BurstingEnabled | Boolean | No | No | Specifies whether to enable the I/O burst feature of general ESSDs. | Valid values:
For more information about the I/O burst feature of general ESSDs, see What is a general ESSD? |
IoAccelerationEnabled | String | No | No | Specifies whether to enable the I/O acceleration feature of general ESSDs. | Valid values:
For more information about the I/O acceleration feature of general ESSDs, see Use the I/O acceleration feature of general ESSDs. |
ColdDataEnabled | Boolean | No | No | Specifies whether to enable the data archiving feature of general ESSDs. | Valid values:
For more information about the data archiving feature of general ESSDs, see Use the data archiving feature of general ESSDs. |
DeletionProtection | Boolean | No | Yes | Specifies whether to enable the release protection feature. | Valid values:
|
ServerlessConfig syntax
"ServerlessConfig": {
"SwitchForce": Boolean,
"MaxCapacity": Number,
"MinCapacity": Number,
"AutoPause": Boolean
}
ServerlessConfig properties
Property | Type | Required | Editable | Description | Constraint |
Property | Type | Required | Editable | Description | Constraint |
SwitchForce | Boolean | No | No | Specifies whether to enable the forced scaling feature for the serverless instance. | Valid values:
|
MaxCapacity | Number | Yes | No | The maximum value of RCU scaling. | Valid values: 0.5 to 8. The value of this property must be greater than or equal to the value of MinCapacity. |
MinCapacity | Number | Yes | No | The minimum value of RCU scaling. | Valid values: 0.5 to 8. The value of this property must be less than or equal to the value of MaxCapacity. |
AutoPause | Boolean | No | No | Specifies whether to enable the automatic startup and suspension feature for the serverless instance. | Valid values:
After you enable the feature, the instance is suspended if the instance is not connected within 10 minutes, and the instance is resumed if the instance is connected. |
DBMappings syntax
"DBMappings": [
{
"DBDescription": String,
"CharacterSetName": String,
"DBName": String
}
]
DBMappings properties
Property | Type | Required | Editable | Description | Constraint |
Property | Type | Required | Editable | Description | Constraint |
CharacterSetName | String | Yes | No | The character set. |
|
DBName | String | Yes | No | The name of the database. | The name must be globally unique. It can be up to 64 characters in length, and can contain letters, digits, and underscores (_). It must start with a letter. |
DBDescription | String | No | No | The description of the database. | The description must be 2 to 256 characters in length. It must start with a letter and cannot start with |
Return values
Fn::GetAtt
DBInstanceId: the ID of the instance.
InnerPort: the private port of the instance.
InnerIPAddress: the private IP address.
InnerConnectionString: the private endpoint.
PublicPort: the public port of the instance.
PublicConnectionString: the public endpoint.
PublicIPAddress: the public IP address.
Examples
ROSTemplateFormatVersion: '2015-09-01'
Description: Test RDS DBInstance
Parameters:
VpcId:
AssociationProperty: ALIYUN::ECS::VPC::VPCId
Type: String
Description:
en: Please search the ID starting with (vpc-xxx) from console-Virtual Private Cloud
Label:
en: VPC ID
VSwitchId:
AssociationProperty: ALIYUN::ECS::VSwitch::VSwitchId
AssociationPropertyMetadata:
VpcId: ${VpcId}
ZoneId: ${VSwitchZoneId}
Type: String
Description:
en: Instance ID of existing business network switches, console-Virtual Private Cloud-VSwitches under query
Label:
en: VSwitch ID
Resources:
RDSInstance:
Type: ALIYUN::RDS::DBInstance
Properties:
VpcId:
Ref: VpcId
VSwitchId:
Ref: VSwitchId
EngineVersion: '5.6'
DBInstanceClass: rds.mysql.s2.large
SecurityIPList: 0.0.0.0/0
DBInstanceStorage: 5
Engine: MySQL
DBMappings:
- CharacterSetName: utf8
DBName: DBTest
Outputs:
DBInstanceId:
Value:
Fn::GetAtt:
- RDSInstance
- DBInstanceId
{
"ROSTemplateFormatVersion": "2015-09-01",
"Description": "Test RDS DBInstance",
"Parameters": {
"VpcId": {
"AssociationProperty": "ALIYUN::ECS::VPC::VPCId",
"Type": "String",
"Description": {
"en": "Please search the ID starting with (vpc-xxx) from console-Virtual Private Cloud",
},
"Label": {
"en": "VPC ID",
}
},
"VSwitchId": {
"AssociationProperty": "ALIYUN::ECS::VSwitch::VSwitchId",
"AssociationPropertyMetadata": {
"VpcId": "${VpcId}",
"ZoneId": "${VSwitchZoneId}"
},
"Type": "String",
"Description": {
"en": "Instance ID of existing business network switches, console-Virtual Private Cloud-VSwitches under query",
},
"Label": {
"en": "VSwitch ID",
}
}
},
"Resources": {
"RDSInstance": {
"Type": "ALIYUN::RDS::DBInstance",
"Properties": {
"VpcId": {
"Ref": "VpcId"
},
"VSwitchId": {
"Ref": "VSwitchId"
},
"EngineVersion": "5.6",
"DBInstanceClass": "rds.mysql.s2.large",
"SecurityIPList": "0.0.0.0/0",
"DBInstanceStorage": 5,
"Engine": "MySQL",
"DBMappings": [
{
"CharacterSetName": "utf8",
"DBName": "DBTest"
}
]
}
}
},
"Outputs": {
"DBInstanceId": {
"Value": {
"Fn::GetAtt": [
"RDSInstance",
"DBInstanceId"
]
}
}
}
}
To create an ApsaraDB RDS instance that resides in multiple zones, you can use one of the following methods:
Method 1. Set MultiAZ to true and leave ZoneId empty. This way, the system automatically selects multiple zones for the instance when you create the instance.
Method 2: Set MultiAZ to false or leave MultiAZ empty, and specify ZoneId and ZoneIdSlave.
For more examples, visit db-instance.yml. In the examples, the following resource types are used: ALIYUN::RDS::DBInstance, ALIYUN::RDS::Account, ALIYUN::RDS::AccountPrivilege, ALIYUN::RDS::DBInstanceParameterGroup, ALIYUN::RDS::DBInstanceSecurityIps, ALIYUN::RDS::ReadOnlyDBInstance, and ALIYUN::RDS::Database.