ALIYUN::RDS::DBInstance類型用於建立RDS資料庫執行個體。
文法
{
"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
}
}
屬性
屬性名稱 | 類型 | 必須 | 允許更新 | 描述 | 約束 |
ResourceGroupId | String | 否 | 是 | 資源群組ID。 | 無 |
Engine | String | 是 | 資料庫類型。 | 取值:
| |
DBInstanceStorage | Integer | 是 | 是 | 資料庫儲存空間。 | 取值:
單位:GB。 說明 每5 GB進行遞增。 |
EngineVersion | String | 是 | 否 | 資料庫版本號碼。 | 取值:
|
Port | Integer | 否 | 是 | 執行個體連接埠。 | 無 |
ConnectionStringPrefix | String | 否 | 是 | 串連地址的首碼。 | 串連地址首碼以小寫字母開頭,以小寫字母或數字結尾,可包含小寫字母、數字和連字號(-)。 串連地址首碼至少包含8個字元、串連地址總長度(首碼+尾碼)不得超過63個字元。 |
ConnectionStringType | String | 否 | 是 | 串連地址的類型。 | 取值:
|
DBTimeZone | String | 否 | 否 | UTC時區。 | 取值範圍:-12:59~+13:00。 說明
|
DBParamGroupId | String | 否 | 否 | 參數模板ID。 | 無 |
Category | String | 否 | 是 | 執行個體系列。 | 取值:
說明 使用參數查詢功能時,ZoneId,DBInstanceStorageType,Category建議必填,否則會導致校正不完全。 |
TargetDedicatedHostIdForMaster | String | 否 | 否 | 在專屬叢集內建立執行個體時,指定主執行個體的主機ID。 | 無 |
DBIsIgnoreCase | Integer | 否 | 否 | 表名是否區分大小寫。 | 取值:
|
EncryptionKey | String | 否 | 否 | 同地區內的雲端硬碟加密的密鑰ID。您可以在Key Management Service控制台查看密鑰ID,也可以建立新的密鑰。 | 傳入該參數表示開啟雲端硬碟加密(開啟後無法關閉),並且需要傳入RoleARN。 |
MaintainTime | String | 否 | 否 | 執行個體的可維護時間段。 | 格式: |
TargetDedicatedHostIdForSlave | String | 否 | 否 | 在專屬叢集內建立執行個體時,指定備份執行個體的主機ID。 | 無 |
DedicatedHostGroupId | String | 否 | 否 | 在專屬叢集內建立執行個體時,指定專屬叢集ID。 | 無 |
DBInstanceStorageType | String | 否 | 是 | 執行個體儲存類型。 | 執行個體儲存類型,取值:
本參數的預設值根據DBInstanceClass參數中傳的規格代碼自動判斷:
說明 使用參數查詢功能時,ZoneId,DBInstanceStorageType,Category建議必填,否則會導致校正不完全。 Serverless 執行個體僅支援 ESSD PL1 雲端硬碟,必須傳入cloud_essd。 |
RoleARN | String | 否 | 否 | 角色ARN。RDS通過該角色訪問KMS。 | 更多資訊,請參見授權PolarDB訪問KMS。 |
DBInstanceClass | String | 是 | 是 | 執行個體規格。 | 更多資訊,請參見主執行個體規格列表。 |
SecurityIPList | String | 是 | 是 | 允許訪問該執行個體下所有資料庫的IP白名單。 | 多個IP以半形逗號(,)間隔,不可以重複。最多支援1000個。 支援格式:
|
SecurityGroupId | String | 否 | 是 | 關聯的安全性群組ID。 | 最多支援關聯3個安全性群組,多個安全性群組用半形逗號(,)隔開。清空安全性群組請指定Null 字元串。 |
MultiAZ | Boolean | 否 | 否 | 該資料庫執行個體是否支援多可用性區域。 | 取值:
說明 使用參數查詢功能時,MultiAZ建議設定為 false,否則會導致校正不完全。 |
VpcId | String | 否 | 否 | 專用網路ID。 | 無 |
DBMappings | List | 否 | 否 | 執行個體下建立新的資料庫。 | 更多資訊,請參見DBMappings屬性。 |
DBInstanceDescription | String | 否 | 否 | 執行個體的描述或備忘資訊。 | 長度為2~256個字元。以英文字母或漢字開頭,不能以 |
ConnectionMode | String | 否 | 否 | 資料庫的串連模式。 | 取值:
如果未指定該參數,則預設由RDS系統分配。 說明 SQL Server 2012/2016/2017隻支援標準訪問模式。 |
MasterUsername | String | 否 | 是 | 資料庫執行個體的主帳號名稱。 | 名稱需要全域唯一。長度不超過16個字元。以英文字母開頭,可包含英文字母、數字和底線(_)。 |
MasterUserPassword | String | 否 | 是 | 資料庫執行個體的主帳號密碼。 | 長度為8~32個字元。可包含英文字母、數字和底線(_)。 |
ZoneId | String | 否 | 否 | 可用性區域ID。 | 說明 使用參數查詢功能時,ZoneId,DBInstanceStorageType,Category建議必填,否則會導致校正不完全。 |
DBInstanceNetType | String | 否 | 否 | 資料庫執行個體的網路類型。 | 取值
|
VSwitchId | String | 否 | 否 | 交換器ID。 | 多個值用半形逗號(,)隔開。 如果資料庫類型為MariaDB,該參數必須指定。 |
BackupPolicyMode | String | 否 | 否 | 備份類型。 | 取值:
|
AllocatePublicConnection | Boolean | 否 | 否 | 是否申請執行個體的外網串連串。 | 取值:
|
PreferredBackupTime | String | 否 | 否 | 備份時間。 | 格式: 取值: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、23:00Z-24:00Z。 |
BackupRetentionPeriod | Number | 否 | 否 | 備份保留天數。 | 取值範圍:7~30。 單位:天。 預設值:7。 |
PrivateIpAddress | String | 否 | 否 | VSwitchId下的私網IP。 | 如果不指定該參數,系統將自動分配私網IP。 |
PreferredBackupPeriod | List | 否 | 否 | 備份周期。 | 取值:
|
MasterUserType | String | 否 | 否 | 主帳號類型。 | 取值:
|
Tags | Map | 否 | 是 | Tag列表,包括TagKey和TagValue。 | TagKey不可為空,TagValue可以為空白。 格式樣本: |
PeriodType | String | 否 | 否 | 周期類型。 | 取值:
|
PayType | String | 否 | 否 | 執行個體的付費類型。 | 取值:
|
Period | Integer | 否 | 否 | 預付費時間長度。 | 取值:
|
TargetDedicatedHostIdForLog | String | 否 | 否 | 在專屬叢集內建立執行個體時,指定日誌執行個體的主機ID。 | 無 |
SlaveZoneIds | List | 否 | 否 | 高可用版或三節點企業版的備可用性區域。 | 最多指定兩個備可用性區域,例如: 為每個主可用性區域或者備可用性區域指定一個交換器,例如:ZoneId=
|
SQLCollectorStatus | String | 否 | 是 | 是否開啟SQL洞察(SQL審計)。 | 取值:
|
SSLSetting | String | 否 | 否 | 執行個體的安全套接層(SSL)連結設定。 | 取值:
|
AutoRenew | Boolean | 否 | 否 | 是否自動續約。 | 僅在建立訂用帳戶執行個體時傳入。 取值:
說明
|
LogBackupFrequency | String | 否 | 否 | 記錄備份頻率。 | 取值:LogInterval,表示每30分鐘備份一次。 LogBackupFrequency的預設值與資料備份周期PreferredBackupPeriod相同。 說明 參數LogBackupFrequency僅適用於SQL Server。 |
EnableBackupLog | Boolean | 否 | 否 | 是否啟用記錄備份功能。 | 取值:
說明 當BackupPolicyMode參數設定為LogBackupPolicy時,必須指定該參數。 |
ReleasedKeepPolicy | String | 否 | 否 | 執行個體釋放後的歸檔備份保留原則。 | 取值:
|
ArchiveBackupRetentionPeriod | Integer | 否 | 否 | 歸檔備份的保留天數。 | 取值範圍:30~1095。 單位:天。 |
ArchiveBackupKeepPolicy | String | 否 | 否 | 歸檔備份的保留周期。 | 取值:
|
ArchiveBackupKeepCount | Integer | 否 | 否 | 歸檔備份的保留個數。 | 取值:
預設值:1。 |
LogBackupRetentionPeriod | Integer | 否 | 否 | 記錄備份保留天數。 | 取值範圍:7~730。 記錄備份保留期不能長於資料備份保留期。 說明 如果啟用了記錄備份功能,您可以指定記錄備份的保留期限。 |
HighSpaceUsageProtection | String | 否 | 否 | 指定當磁碟空間不足(執行個體超過80%或剩餘空間少於5 GB)時是否強制移除記錄備份檔案 。 | 取值:
當BackupPolicyMode取值為LogBackupPolicy時,必須指定該參數。 |
LocalLogRetentionSpace | Integer | 否 | 否 | 執行個體上允許儲存記錄備份檔案的最大空間百分比。 | 取值範圍:0~50。 如果記錄備份檔案的空間使用率超過該百分比,系統會提前刪除記錄備份檔案,直到空間使用率降至此百分比以下。 說明 當BackupPolicyMode取值為LogBackupPolicy時,必須指定該參數。 |
BackUpCategory | String | 否 | 否 | 是否開啟秒級備份。 | 取值:
|
CompressType | Integer | 否 | 否 | 備份壓縮方式。 | 取值:
|
LocalLogRetentionHours | Integer | 否 | 否 | 本地記錄備份保留小時數。 | 取值範圍:0~168。 單位:小時。 0表示不在執行個體上保留記錄備份檔案。 說明 當BackupPolicyMode取值為LogBackupPolicy時,必須指定該參數。 |
LogBackupLocalRetentionNumber | Integer | 否 | 否 | 執行個體上可以保留的記錄備份檔案數。 | 取值範圍:6~100。 預設值:60。 |
ServerlessConfig | Map | 否 | 否 | RDS Serverless執行個體的相關設定。 | 更多資訊,請參見ServerlessConfig屬性。 |
InstanceNetworkType | String | 否 | 否 | 執行個體的網路類型。 | 取值:
說明 MySQL雲端硬碟執行個體只支援專用網路,此參數必須配置為VPC。 PostgreSQL和MariaDB執行個體只支援專用網路,此參數必須配置為VPC。 SQL Server單機版和Web版執行個體支援傳統網路和專用網路。其餘執行個體只支援專用網路,此參數必須配置為VPC。 |
StorageAutoScale | String | 否 | 否 | 儲存空間自動擴容開關。 | 僅MySQL和PostgreSQL支援,取值:
說明 您也可以在執行個體建立完成之後,調用ModifyDasInstanceConfig進行調整。更多資訊,請參見設定儲存空間自動擴容。 |
StorageUpperBound | Number | 否 | 否 | 儲存空間自動擴容的總儲存空間限制值。 | 自動擴容不會導致執行個體總儲存空間超過該值。單位:GB。 說明 取值需大於等於 0。 StorageAutoScale為Enable時必填。 |
StorageThreshold | Number | 否 | 否 | 儲存空間自動擴容觸發閾值(百分比)。 | 取值:
說明 StorageAutoScale為Enable時該參數必填。 |
BurstingEnabled | Boolean | 否 | 否 | 通用雲端硬碟 IO 突發功能開關。 | 取值:
說明 瞭解通用雲端硬碟的 IO 突發功能的更多資訊,請參見什麼是通用雲端硬碟。 |
IoAccelerationEnabled | String | 否 | 否 | 是否開啟通用雲端硬碟 IO 加速功能。 | 取值:
說明 通用雲端硬碟的 IO 加速功能的更多資訊,請參見通用雲端硬碟IO加速功能。 |
ColdDataEnabled | Boolean | 否 | 否 | 通用雲端硬碟資料歸檔功能開關。 | 取值:
通用雲端硬碟的資料歸檔功能資訊,請參見通用雲端硬碟資料歸檔功能。 |
ServerlessConfig文法
"ServerlessConfig": {
"SwitchForce": Boolean,
"MaxCapacity": Number,
"MinCapacity": Number,
"AutoPause": Boolean
}
ServerlessConfig屬性
屬性名稱 | 類型 | 必須 | 允許更新 | 描述 | 約束 |
SwitchForce | Boolean | 否 | 否 | 是否開啟Serverless執行個體的強制彈性擴容和縮容。 | 取值:
說明
|
MaxCapacity | Number | 是 | 否 | 執行個體RCU(RDS Capacity Unit)自動擴容和縮容範圍的最大值。 | 取值:0.5~8。 說明 該參數的值必須大於等於MinCapacity參數。 |
MinCapacity | Number | 是 | 否 | 執行個體RCU自動擴容和縮容範圍的最小值。 | 取值:0.5~8。 說明 該參數的值必須小於等於MaxCapacity參數。 |
AutoPause | Boolean | 否 | 否 | 是否開啟Serverless執行個體的智能暫停和啟動。 | 取值:
說明 如果10分鐘無任何串連將進入暫停狀態,當串連進入時會自動喚醒。 |
DBMappings文法
"DBMappings": [
{
"DBDescription": String,
"CharacterSetName": String,
"DBName": String
}
]
DBMappings屬性
屬性名稱 | 類型 | 必須 | 允許更新 | 描述 | 約束 |
CharacterSetName | String | 是 | 否 | 字元集。 | 取值:
|
DBName | String | 是 | 否 | 資料庫名稱。 | 名稱需要全域唯一。 長度不超過64個字元。以英文字母開頭,可包含英文字母、數字和底線(_)。 |
DBDescription | String | 否 | 否 | 資料庫描述。 | 長度為2~256個字元。以英文字母或漢字開頭,不能以 |
傳回值
Fn::GetAtt
DBInstanceId:資料庫執行個體ID。
InnerPort:資料庫執行個體的內網連接埠。
InnerIPAddress:內網IP。
InnerConnectionString:內網串連地址。
PublicPort:資料庫執行個體公網連接埠。
PublicConnectionString:公網串連地址。
PublicIPAddress:公網IP。
樣本
YAML
格式
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
zh-cn: 現有Virtual Private Cloud絡的執行個體ID
Label:
en: VPC ID
zh-cn: Virtual Private Cloud執行個體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
zh-cn: 現有業務網路交換器的執行個體ID
Label:
en: VSwitch ID
zh-cn: 交換器執行個體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
JSON
格式
{
"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",
"zh-cn": "現有Virtual Private Cloud絡的執行個體ID"
},
"Label": {
"en": "VPC ID",
"zh-cn": "Virtual Private Cloud執行個體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",
"zh-cn": "現有業務網路交換器的執行個體ID"
},
"Label": {
"en": "VSwitch ID",
"zh-cn": "交換器執行個體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"
]
}
}
}
}
使用者需要建立多可用性區域的RDS時,可以通過以下兩種方式實現:
1.配置MultiAZ 為 true,ZoneId 設定為空白,建立時會自動為RDS執行個體選擇多可用性區域。
2.配置MultiAZ為 false 或者不配置MultiAZ,通過配置ZoneId+ZoneIdSlave的方式設定RDS多可用性區域。
更多樣本,請參見建立資料庫執行個體、建立管理資料庫的帳號、授權帳號訪問資料庫、修改資料庫參數列表、修改執行個體訪問白名單、為某個執行個體建立一個唯讀執行個體和在執行個體下建立資料庫的組合樣本:YAML樣本。