ALIYUN::RDS::Database類型用於在執行個體下建立資料庫。
文法
{
"Type": "ALIYUN::RDS::Database",
"Properties": {
"CharacterSetName": String,
"DBInstanceId": String,
"DBDescription": String,
"DBName": String
}
}屬性
屬性名稱 | 類型 | 必須 | 允許更新 | 描述 | 約束 |
CharacterSetName | String | 是 | 否 | 字元集。 | 取值:
|
DBInstanceId | String | 是 | 否 | 執行個體ID。 | 無 |
DBDescription | String | 否 | 是 | 資料庫描述。 | 長度為2~256個字元。以英文字母或漢字開頭,不能以 |
DBName | String | 是 | 否 | 資料庫名稱。 | 長度為2~64個字元。 以小寫英文字母開頭,以小寫英文字母或數字結尾。可包含小寫英文字母、數字、底線(_)或短劃線(-)。 說明 資料庫名稱在執行個體中必須唯一。 |
傳回值
Fn::GetAtt
DBInstanceId:執行個體ID。
DBName:資料庫名稱。
樣本
情境 1 :為已有RDS執行個體建立資料庫。
ROSTemplateFormatVersion: '2015-09-01'
Description:
zh-cn: 為已有RDS執行個體建立資料庫。
en: Create a database for an existing RDS instance.
Parameters:
RDSInstance:
AssociationProperty: ALIYUN::RDS::Instance::InstanceId
Type: String
Label:
zh-cn: RDS執行個體ID
en: RDS ID
DBName:
Type: String
Label:
zh-cn: 資料庫名稱
en: DB Name
Description:
zh-cn: 資料庫名稱,由小寫字母、數字及特殊字元(-_)組成,以字母開頭,字母或數字結尾,最多64個字元。
en: Database name, consisting of lowercase letters, Numbers, and special characters (-_), starting with letters, ending with letters or Numbers, up to 64 characters.
Default: springboot_demo
Outputs: {}
Resources:
Database:
Type: ALIYUN::RDS::Database
Properties:
CharacterSetName: UTF8
DBInstanceId:
Ref: RDSInstance
DBName:
Ref: DBName
Metadata: {}
{
"ROSTemplateFormatVersion": "2015-09-01",
"Description": {
"zh-cn": "為已有RDS執行個體建立資料庫。",
"en": "Create a database for an existing RDS instance."
},
"Parameters": {
"RDSInstance": {
"AssociationProperty": "ALIYUN::RDS::Instance::InstanceId",
"Type": "String",
"Label": {
"zh-cn": "RDS執行個體ID",
"en": "RDS ID"
}
},
"DBName": {
"Type": "String",
"Label": {
"zh-cn": "資料庫名稱",
"en": "DB Name"
},
"Description": {
"zh-cn": "資料庫名稱,由小寫字母、數字及特殊字元(-_)組成,以字母開頭,字母或數字結尾,最多64個字元。",
"en": "Database name, consisting of lowercase letters, Numbers, and special characters (-_), starting with letters, ending with letters or Numbers, up to 64 characters."
},
"Default": "springboot_demo"
}
},
"Outputs": {
},
"Resources": {
"Database": {
"Type": "ALIYUN::RDS::Database",
"Properties": {
"CharacterSetName": "UTF8",
"DBInstanceId": {
"Ref": "RDSInstance"
},
"DBName": {
"Ref": "DBName"
}
}
}
},
"Metadata": {
}
}情境 2 :建立一台RDS執行個體並建立資料庫。
ROSTemplateFormatVersion: '2015-09-01'
Description:
zh-cn: 建立一台隨用隨付的RDS Serverless MySQL執行個體並綁定資料庫和資料庫帳號。
en: Create a pay-as-you-go RDS Serverless MySQL instance and bind it to a database and a database user.
Parameters:
VpcId:
AssociationProperty: ALIYUN::ECS::VPC::VPCId
Type: String
Description:
zh-cn: 現有Virtual Private Cloud絡的執行個體ID
en: Please search the ID starting with (vpc-xxx) from console-Virtual Private Cloud
Label:
zh-cn: Virtual Private Cloud執行個體ID
en: VPC ID
RdsAccountName:
Default: db_root
Type: String
Description:
zh-cn: MySQL 管理使用者名稱
en: Account Name
Label:
zh-cn: 使用者名稱稱
en: Account Name
ZoneId:
AssociationProperty: ALIYUN::ECS::Instance::ZoneId
Type: String
Label:
zh-cn: 主可用性區域
en: Primary Availability Zone
VSwitch:
AssociationProperty: ALIYUN::ECS::VSwitch::VSwitchId
AssociationPropertyMetadata:
VpcId: ${VpcId}
ZoneId: ${ZoneId}
Type: String
Description:
zh-cn: 現有業務網路交換器的執行個體ID
en: Instance ID of existing business network switches, console-Virtual Private Cloud-VSwitches under query
Label:
zh-cn: 交換器執行個體ID
en: VSwitch ID
DBInstanceClass:
Default: mysql.n2.serverless.1c
AssociationProperty: ALIYUN::RDS::Instance::InstanceType
AssociationPropertyMetadata:
Engine: MySQL
EngineVersion: '8.0'
InstanceChargeType: Serverless
DBInstanceStorageType: cloud_essd
ZoneId: ${ZoneId}
Type: String
Label:
zh-cn: 執行個體規格
en: Instance Class
RdsAccountPassword:
Type: String
NoEcho: true
Description:
zh-cn: |-
長度為8~32個字元。由大寫英文字母、小寫英文字母、數字、特殊字元中的任意三種組成。支援的特殊字元如下:
!@#$&%^*()_+-= 。
en: |-
The length is 8 ~ 32 characters. It is composed of uppercase English letters, lowercase English letters, numbers and special characters. The special characters supported are as follows:
!@#$& amp;%^* ()_+-= .
Label:
zh-cn: 使用者密碼
en: DB Account Password
Outputs:
PublicConnectionString:
Value:
Fn::GetAtt:
- RDSInstance
- PublicConnectionString
InnerIPAddress:
Value:
Fn::GetAtt:
- RDSInstance
- InnerIPAddress
AccountName:
Value:
Fn::GetAtt:
- RdsAccount
- AccountName
PublicIPAddress:
Value:
Fn::GetAtt:
- RDSInstance
- PublicIPAddress
DBName:
Value:
Fn::GetAtt:
- Database
- DBName
InnerConnectionString:
Value:
Fn::GetAtt:
- RDSInstance
- InnerConnectionString
Resources:
RDSInstance:
Type: ALIYUN::RDS::DBInstance
Properties:
Category: serverless_basic
Engine: MySQL
DBInstanceStorage: 20
ServerlessConfig:
MinCapacity: 0.5
AutoPause: false
MaxCapacity: 8
SwitchForce: false
DBInstanceStorageType: cloud_essd
PayType: Serverless
ZoneId:
Ref: ZoneId
VpcId:
Ref: VpcId
VSwitchId:
Ref: VSwitch
EngineVersion: '8.0'
DBInstanceClass:
Ref: DBInstanceClass
SecurityIPList: 0.0.0.0/0
RdsAccount:
Type: ALIYUN::RDS::Account
Properties:
DBInstanceId:
Ref: RDSInstance
AccountPassword:
Ref: RdsAccountPassword
AccountType: Super
AccountName:
Ref: RdsAccountName
Database:
Type: ALIYUN::RDS::Database
Properties:
CharacterSetName: UTF8
DBInstanceId:
Ref: RDSInstance
DBName: springboot_demo
Metadata:
ALIYUN::ROS::Interface:
ParameterGroups:
- Parameters:
- VpcId
- ZoneId
- VSwitch
Label:
default:
zh-cn: 網路設定
en: Network Configuration
- Parameters:
- DBInstanceClass
- RdsAccountName
- RdsAccountPassword
Label:
default:
zh-cn: RDS配置
en: RDS Configuration
{
"ROSTemplateFormatVersion": "2015-09-01",
"Description": {
"zh-cn": "建立一台隨用隨付的RDS Serverless MySQL執行個體並綁定資料庫和資料庫帳號。",
"en": "Create a pay-as-you-go RDS Serverless MySQL instance and bind it to a database and a database user."
},
"Parameters": {
"VpcId": {
"AssociationProperty": "ALIYUN::ECS::VPC::VPCId",
"Type": "String",
"Description": {
"zh-cn": "現有Virtual Private Cloud絡的執行個體ID",
"en": "Please search the ID starting with (vpc-xxx) from console-Virtual Private Cloud"
},
"Label": {
"zh-cn": "Virtual Private Cloud執行個體ID",
"en": "VPC ID"
}
},
"RdsAccountName": {
"Default": "db_root",
"Type": "String",
"Description": {
"zh-cn": "MySQL 管理使用者名稱",
"en": "Account Name"
},
"Label": {
"zh-cn": "使用者名稱稱",
"en": "Account Name"
}
},
"ZoneId": {
"AssociationProperty": "ALIYUN::ECS::Instance::ZoneId",
"Type": "String",
"Label": {
"zh-cn": "主可用性區域",
"en": "Primary Availability Zone"
}
},
"VSwitch": {
"AssociationProperty": "ALIYUN::ECS::VSwitch::VSwitchId",
"AssociationPropertyMetadata": {
"VpcId": "${VpcId}",
"ZoneId": "${ZoneId}"
},
"Type": "String",
"Description": {
"zh-cn": "現有業務網路交換器的執行個體ID",
"en": "Instance ID of existing business network switches, console-Virtual Private Cloud-VSwitches under query"
},
"Label": {
"zh-cn": "交換器執行個體ID",
"en": "VSwitch ID"
}
},
"DBInstanceClass": {
"Default": "mysql.n2.serverless.1c",
"AssociationProperty": "ALIYUN::RDS::Instance::InstanceType",
"AssociationPropertyMetadata": {
"Engine": "MySQL",
"EngineVersion": "8.0",
"InstanceChargeType": "Serverless",
"DBInstanceStorageType": "cloud_essd",
"ZoneId": "${ZoneId}"
},
"Type": "String",
"Label": {
"zh-cn": "執行個體規格",
"en": "Instance Class"
}
},
"RdsAccountPassword": {
"Type": "String",
"NoEcho": true,
"Description": {
"zh-cn": "長度為8~32個字元。由大寫英文字母、小寫英文字母、數字、特殊字元中的任意三種組成。支援的特殊字元如下:\n!@#$&%^*()_+-= 。",
"en": "The length is 8 ~ 32 characters. It is composed of uppercase English letters, lowercase English letters, numbers and special characters. The special characters supported are as follows:\n!@#$& amp;%^* ()_+-= ."
},
"Label": {
"zh-cn": "使用者密碼",
"en": "DB Account Password"
}
}
},
"Outputs": {
"PublicConnectionString": {
"Value": {
"Fn::GetAtt": [
"RDSInstance",
"PublicConnectionString"
]
}
},
"InnerIPAddress": {
"Value": {
"Fn::GetAtt": [
"RDSInstance",
"InnerIPAddress"
]
}
},
"AccountName": {
"Value": {
"Fn::GetAtt": [
"RdsAccount",
"AccountName"
]
}
},
"PublicIPAddress": {
"Value": {
"Fn::GetAtt": [
"RDSInstance",
"PublicIPAddress"
]
}
},
"DBName": {
"Value": {
"Fn::GetAtt": [
"Database",
"DBName"
]
}
},
"InnerConnectionString": {
"Value": {
"Fn::GetAtt": [
"RDSInstance",
"InnerConnectionString"
]
}
}
},
"Resources": {
"RDSInstance": {
"Type": "ALIYUN::RDS::DBInstance",
"Properties": {
"Category": "serverless_basic",
"Engine": "MySQL",
"DBInstanceStorage": 20,
"ServerlessConfig": {
"MinCapacity": 0.5,
"AutoPause": false,
"MaxCapacity": 8,
"SwitchForce": false
},
"DBInstanceStorageType": "cloud_essd",
"PayType": "Serverless",
"ZoneId": {
"Ref": "ZoneId"
},
"VpcId": {
"Ref": "VpcId"
},
"VSwitchId": {
"Ref": "VSwitch"
},
"EngineVersion": "8.0",
"DBInstanceClass": {
"Ref": "DBInstanceClass"
},
"SecurityIPList": "0.0.0.0/0"
}
},
"RdsAccount": {
"Type": "ALIYUN::RDS::Account",
"Properties": {
"DBInstanceId": {
"Ref": "RDSInstance"
},
"AccountPassword": {
"Ref": "RdsAccountPassword"
},
"AccountType": "Super",
"AccountName": {
"Ref": "RdsAccountName"
}
}
},
"Database": {
"Type": "ALIYUN::RDS::Database",
"Properties": {
"CharacterSetName": "UTF8",
"DBInstanceId": {
"Ref": "RDSInstance"
},
"DBName": "springboot_demo"
}
}
},
"Metadata": {
"ALIYUN::ROS::Interface": {
"ParameterGroups": [
{
"Parameters": [
"VpcId",
"ZoneId",
"VSwitch"
],
"Label": {
"default": {
"zh-cn": "網路設定",
"en": "Network Configuration"
}
}
},
{
"Parameters": [
"DBInstanceClass",
"RdsAccountName",
"RdsAccountPassword"
],
"Label": {
"default": {
"zh-cn": "RDS配置",
"en": "RDS Configuration"
}
}
}
]
}
}
}更多樣本,請參考包含此資源的公用模板。