Le type ALIYUN::RDS::DBInstance permet de créer une instance de base de données ApsaraDB RDS.
Syntaxe
{
"Type": "ALIYUN::RDS::DBInstance",
"Properties": {
"AutoUpgradeMinorVersion": String,
"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,
"SubscriptionDeletionForce": Boolean,
"ColdDataEnabled": Boolean,
"DeletionProtection": Boolean
}
}
Propriétés
Nom de la propriété | Type | Obligatoire | Mise à jour autorisée | Description | Contraintes |
ResourceGroupId | String | Non | Oui | ID du groupe de ressources. | Aucune |
Engine | String | Oui | Type de base de données. | Valeurs valides :
| |
DBInstanceStorage | Integer | Oui | Oui | Espace de stockage de l'instance de base de données. | Valeurs valides :
Unité : Go. Remarque La valeur doit être un multiple de 5 Go. |
EngineVersion | String | Oui | Non | Numéro de version de la base de données. | Valeurs valides :
|
AutoUpgradeMinorVersion | String | Non | Oui | Méthode de mise à niveau de la version mineure du moteur de l'instance. | Valeurs valides :
|
Port | Integer | Non | Oui | Port de l'instance. | Aucune |
ConnectionStringPrefix | String | Non | Oui | Préfixe de l'endpoint. | Le préfixe doit commencer par une lettre minuscule et se terminer par une lettre minuscule ou un chiffre. Il peut contenir des lettres minuscules, des chiffres et des traits d'union (-). Le préfixe doit comporter au moins 8 caractères. La longueur totale de l'endpoint (préfixe + suffixe) ne peut pas dépasser 63 caractères. |
ConnectionStringType | String | Non | Oui | Type de l'endpoint. | Valeurs valides :
|
DBTimeZone | String | Non | Non | Fuseau horaire UTC. | La valeur doit être comprise entre -12:59 et +13:00. Remarque
|
DBParamGroupId | String | Non | Non | ID du modèle de paramètres. | Aucune |
Category | String | Non | Oui | Édition de l'instance. | Valeurs valides :
Remarque Lorsque vous interrogez des paramètres, spécifiez ZoneId, DBInstanceStorageType et Category. Sinon, la vérification risque d'être incomplète. |
TargetDedicatedHostIdForMaster | String | Non | Non | Lors de la création d'une instance dans un cluster dédié, spécifiez l'ID d'hôte de l'instance principale. | Aucune |
DBIsIgnoreCase | Integer | Non | Non | Indique si les noms de table sont sensibles à la casse. | Valeurs valides :
|
EncryptionKey | String | Non | Non | ID de la clé utilisée pour le chiffrement des disques dans la même région. Vous pouvez consulter l'ID de la clé dans la console Key Management Service (KMS) ou créer une nouvelle clé. | Si vous spécifiez ce paramètre, le chiffrement des disques est activé et ne peut pas être désactivé. Vous devez également spécifier RoleARN. |
MaintainTime | String | Non | Non | Fenêtre de maintenance de l'instance. | Format : |
TargetDedicatedHostIdForSlave | String | Non | Non | Lors de la création d'une instance dans un cluster dédié, spécifiez l'ID d'hôte de l'instance secondaire. | Aucune |
DedicatedHostGroupId | String | Non | Non | Lors de la création d'une instance dans un cluster dédié, spécifiez l'ID du cluster dédié. | Aucune |
DBInstanceStorageType | String | Non | Oui | Classe de stockage de l'instance. | Classe de stockage de l'instance. Valeurs valides :
La valeur par défaut de ce paramètre est déterminée automatiquement en fonction du code de type d'instance spécifié dans le paramètre DBInstanceClass :
Remarque
|
RoleARN | String | Non | Non | ARN du rôle. RDS utilise ce rôle pour accéder à KMS. | Pour plus d'informations, voir Accorder les permissions RDS pour accéder à KMS. |
DBInstanceClass | String | Oui | Oui | Type d'instance. | Pour plus d'informations, voir Types d'instances principales. |
SecurityIPList | String | Oui | Oui | Liste d'autorisation d'adresses IP permettant d'accéder à toutes les bases de données de l'instance. | Séparez plusieurs adresses IP par des virgules (,). Les adresses IP ne peuvent pas être répétées. Un maximum de 1 000 adresses IP est pris en charge. Formats pris en charge :
|
SecurityGroupId | String | Non | Oui | ID du groupe de sécurité associé. | Vous pouvez associer jusqu'à trois groupes de sécurité. Séparez plusieurs ID de groupes de sécurité par des virgules (,). Pour effacer les groupes de sécurité, spécifiez une chaîne vide. |
MultiAZ | Boolean | Non | Non | Indique si l'instance de base de données prend en charge plusieurs zones. | Valeurs valides :
Remarque Lorsque vous interrogez des paramètres, définissez MultiAZ sur false. Sinon, la vérification risque d'être incomplète. |
VpcId | String | Non | Non | ID du VPC. | Aucune |
DBMappings | List | Non | Non | Crée une nouvelle base de données dans l'instance. | Pour plus d'informations, voir Propriétés DBMappings. |
DBInstanceDescription | String | Non | Oui | Description ou remarques de l'instance. | Le nom doit comporter entre 2 et 256 caractères. Il doit commencer par une lettre anglaise ou un caractère chinois. Il ne peut pas commencer par |
SubscriptionDeletionForce | Boolean | Non | Non | Cette option s'applique uniquement aux instances par abonnement. Pour une instance par abonnement, si cette option est définie sur true, l'instance est convertie en instance au paiement à l'utilisation avant d'être supprimée. Si cette option est définie sur false, l'instance n'est pas supprimée de force. Cette opération peut entraîner des frais supplémentaires. Utilisez cette option avec prudence. | Aucune |
ConnectionMode | String | Non | Non | Mode de connexion de la base de données. | Valeurs valides :
Si ce paramètre n'est pas spécifié, RDS attribue une valeur par défaut. Remarque SQL Server 2012, 2016 et 2017 ne prennent en charge que le mode d'accès standard. |
MasterUsername | String | Non | Oui | Nom du compte principal de l'instance de base de données. | Le nom doit être globalement unique. Il peut comporter jusqu'à 16 caractères. Il doit commencer par une lettre et peut contenir des lettres, des chiffres et des traits de soulignement (_). |
MasterUserPassword | String | Non | Oui | Mot de passe du compte principal de l'instance de base de données. | La valeur doit comporter entre 8 et 32 caractères. Elle peut contenir des lettres, des chiffres et des traits de soulignement (_). |
ZoneId | String | Non | Non | ID de la zone. | Remarque Lorsque vous interrogez des paramètres, spécifiez ZoneId, DBInstanceStorageType et Category. Sinon, la vérification risque d'être incomplète. |
DBInstanceNetType | String | Non | Non | Type de réseau de l'instance de base de données. | Valeurs valides
|
VSwitchId | String | Non | Non | ID du vSwitch. | Séparez plusieurs valeurs par des virgules (,). Si le type de base de données est MariaDB, vous devez spécifier ce paramètre. |
BackupPolicyMode | String | Non | Oui | Type de sauvegarde. | Valeurs valides :
|
AllocatePublicConnection | Boolean | Non | Non | Indique s'il faut demander un endpoint public pour l'instance. | Valeurs valides :
|
PreferredBackupTime | String | Non | Oui | Heure de sauvegarde. | Format : Valeurs valides : 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 | Non | Oui | Nombre de jours de conservation des sauvegardes. | La valeur doit être comprise entre 7 et 30. Unité : jours. Valeur par défaut : 7. |
PrivateIpAddress | String | Non | Non | Adresse IP privée dans le vSwitch spécifié. | Si vous ne spécifiez pas ce paramètre, le système attribue automatiquement une adresse IP privée. |
PreferredBackupPeriod | List | Non | Oui | Cycle de sauvegarde. | Valeurs valides :
|
MasterUserType | String | Non | Non | Type du compte principal. | Valeurs valides :
|
Tags | Map | Non | Oui | Liste de tags, comprenant TagKey et TagValue. | TagKey ne peut pas être vide, mais TagValue peut l'être. Exemple de format : |
PeriodType | String | Non | Non | Cycle de facturation. | Valeurs valides :
|
PayType | String | Non | Non | Mode de facturation de l'instance. | Valeurs valides :
Remarque
|
Period | Integer | Non | Non | Durée de l'abonnement. | Valeurs valides :
|
TargetDedicatedHostIdForLog | String | Non | Non | Lors de la création d'une instance dans un cluster dédié, spécifiez l'ID d'hôte de l'instance de journalisation. | Aucune |
SlaveZoneIds | List | Non | Non | Zone secondaire pour une instance Édition High-availability ou Édition Enterprise à trois nœuds. | Vous pouvez spécifier jusqu'à deux zones secondaires, par exemple Spécifiez un vSwitch pour chaque zone principale ou secondaire. Par exemple, si ZoneId est |
SQLCollectorStatus | String | Non | Oui | Indique s'il faut activer la fonctionnalité SQL Explorer (SQL Audit). | Valeurs valides :
|
SSLSetting | String | Non | Non | Paramètres de liaison Secure Sockets Layer (SSL) pour l'instance. | Valeurs valides :
|
AutoRenew | Boolean | Non | Oui | Indique s'il faut activer le renouvellement automatique. | Ce paramètre n'est valide que lors de la création d'une instance par abonnement. Valeurs valides :
Remarque
|
LogBackupFrequency | String | Non | Oui | Fréquence des sauvegardes de journaux. | Valeur valide : LogInterval, ce qui indique qu'une sauvegarde est effectuée toutes les 30 minutes. La valeur par défaut de LogBackupFrequency est identique à celle de PreferredBackupPeriod. Remarque Le paramètre LogBackupFrequency s'applique uniquement à SQL Server. |
EnableBackupLog | Boolean | Non | Oui | Indique s'il faut activer la fonctionnalité de sauvegarde des journaux. | Valeurs valides :
Remarque Vous devez spécifier ce paramètre lorsque BackupPolicyMode est défini sur LogBackupPolicy. |
ReleasedKeepPolicy | String | Non | Oui | Politique de conservation des sauvegardes archivées après la libération de l'instance. | Valeurs valides :
Remarque
|
ArchiveBackupRetentionPeriod | Integer | Non | Oui | Nombre de jours de conservation des sauvegardes archivées. | La valeur doit être comprise entre 30 et 1095. Unité : jours. |
ArchiveBackupKeepPolicy | String | Non | Oui | Période de conservation des sauvegardes archivées. | Valeurs valides :
|
ArchiveBackupKeepCount | Integer | Non | Oui | Nombre de sauvegardes archivées à conserver. | Valeurs valides :
Valeur par défaut : 1. |
LogBackupRetentionPeriod | Integer | Non | Oui | Nombre de jours de conservation des sauvegardes de journaux. | La valeur doit être comprise entre 7 et 730. La période de conservation des sauvegardes de journaux ne peut pas être supérieure à la période de conservation des sauvegardes de données. Remarque Si la fonctionnalité de sauvegarde des journaux est activée, vous pouvez spécifier la période de conservation des sauvegardes de journaux. |
HighSpaceUsageProtection | String | Non | Oui | Indique s'il faut supprimer de force les fichiers de sauvegarde de journaux lorsque l'espace disque est insuffisant (l'utilisation de l'instance dépasse 80 % ou l'espace restant est inférieur à 5 Go). | Valeurs valides :
Vous devez spécifier ce paramètre lorsque BackupPolicyMode est défini sur LogBackupPolicy. |
LocalLogRetentionSpace | Integer | Non | Oui | Pourcentage maximal d'espace sur l'instance pouvant être utilisé pour stocker les fichiers de sauvegarde de journaux. | La valeur doit être comprise entre 0 et 50. Si l'utilisation de l'espace par les fichiers de sauvegarde de journaux dépasse ce pourcentage, le système supprime les fichiers de sauvegarde de journaux à l'avance jusqu'à ce que l'utilisation de l'espace descende sous ce pourcentage. Remarque Vous devez spécifier ce paramètre lorsque BackupPolicyMode est défini sur LogBackupPolicy. |
BackUpCategory | String | Non | Oui | Indique s'il faut activer la sauvegarde en quelques secondes. | Valeurs valides :
|
CompressType | Integer | Non | Oui | Méthode de compression des sauvegardes. | Valeurs valides :
|
LocalLogRetentionHours | Integer | Non | Oui | Nombre d'heures de conservation des sauvegardes de journaux locaux. | La valeur doit être comprise entre 0 et 168. Unité : heures. Une valeur de 0 indique que les fichiers de sauvegarde de journaux ne sont pas conservés sur l'instance. Remarque Vous devez spécifier ce paramètre lorsque BackupPolicyMode est défini sur LogBackupPolicy. |
LogBackupLocalRetentionNumber | Integer | Non | Oui | Nombre de fichiers de sauvegarde de journaux pouvant être conservés sur l'instance. | La valeur doit être comprise entre 6 et 100. Valeur par défaut : 60. |
ServerlessConfig | Map | Non | Non | Paramètres de l'instance RDS Serverless. | Pour plus d'informations, voir Propriétés ServerlessConfig. |
InstanceNetworkType | String | Non | Non | Type de réseau de l'instance. | Valeurs valides :
Remarque Les instances RDS for MySQL utilisant des disques cloud ne prennent en charge que les VPC. Vous devez définir ce paramètre sur VPC. Les instances PostgreSQL et MariaDB ne prennent en charge que les VPC. Vous devez définir ce paramètre sur VPC. Les instances SQL Server Édition Basic et Édition Web prennent en charge les réseaux classiques et les VPC. Les autres instances ne prennent en charge que les VPC. Vous devez définir ce paramètre sur VPC. |
StorageAutoScale | String | Non | Non | Commutateur pour l'extension automatique du stockage. | Ce paramètre n'est pris en charge que pour MySQL et PostgreSQL. Valeurs valides :
Remarque Vous pouvez également appeler ModifyDasInstanceConfig pour ajuster ce paramètre après la création de l'instance. Pour plus d'informations, voir Configurer l'extension automatique du stockage pour une instance ApsaraDB RDS for MySQL. |
StorageUpperBound | Number | Non | Non | Limite supérieure de l'espace de stockage total pour l'extension automatique. | L'extension automatique n'entraîne pas le dépassement de cette valeur par l'espace de stockage total de l'instance. Unité : Go. Remarque La valeur doit être supérieure ou égale à 0. Ce paramètre est requis lorsque StorageAutoScale est défini sur Enable. |
StorageThreshold | Number | Non | Non | Seuil (pourcentage) déclenchant l'extension automatique du stockage. | Valeurs valides :
Remarque Ce paramètre est requis lorsque StorageAutoScale est défini sur Enable. |
BurstingEnabled | Boolean | Non | Non | Commutateur pour la fonctionnalité d'I/O bursting des ESSD à usage général. | Valeurs valides :
Remarque Pour plus d'informations sur la fonctionnalité d'I/O bursting des ESSD à usage général, voir Qu'est-ce qu'un disque haute performance ?. |
IoAccelerationEnabled | String | Non | Non | Indique s'il faut activer la fonctionnalité d'accélération des E/S pour les ESSD à usage général. | Valeurs valides :
Remarque Pour plus d'informations sur la fonctionnalité d'accélération des E/S des ESSD à usage général, voir Fonctionnalité Buffer Pool Extension (BPE). |
ColdDataEnabled | Boolean | Non | Non | Cette option active ou désactive la fonctionnalité d'archivage des données sur disque cloud à usage général. | Valeurs valides :
Pour plus d'informations sur la fonctionnalité d'archivage des données des ESSD à usage général, voir Fonctionnalité d'archivage des données. |
DeletionProtection | Boolean | Non | Oui | Indique si la fonctionnalité de protection contre la libération est activée. | Valeurs valides :
|
Syntaxe ServerlessConfig
"ServerlessConfig": {
"SwitchForce": Boolean,
"MaxCapacity": Number,
"MinCapacity": Number,
"AutoPause": Boolean
}
Propriétés ServerlessConfig
Nom de la propriété | Type | Obligatoire | Mise à jour autorisée | Description | Contraintes |
SwitchForce | Boolean | Non | Non | Indique s'il faut activer la mise à l'échelle élastique forcée pour l'instance Serverless. | Valeurs valides :
Remarque
|
MaxCapacity | Number | Oui | Non | Valeur maximale de la plage de mise à l'échelle automatique des RDS Capacity Units (RCU) de l'instance. | La valeur doit être comprise entre 0,5 et 8. Remarque La valeur de ce paramètre doit être supérieure ou égale à la valeur du paramètre MinCapacity. |
MinCapacity | Number | Oui | Non | Valeur minimale de la plage de mise à l'échelle automatique des RCU de l'instance. | La valeur doit être comprise entre 0,5 et 8. Remarque La valeur de ce paramètre doit être inférieure ou égale à la valeur du paramètre MaxCapacity. |
AutoPause | Boolean | Non | Non | Indique s'il faut activer la pause et le démarrage automatiques pour l'instance Serverless. | Valeurs valides :
Remarque S'il n'y a aucune connexion pendant 10 minutes, l'instance passe à l'état de pause. Lorsqu'une connexion est établie, l'instance est automatiquement réveillée. |
Syntaxe DBMappings
"DBMappings": [
{
"DBDescription": String,
"CharacterSetName": String,
"DBName": String
}
]
Propriétés DBMappings
Nom de la propriété | Type | Obligatoire | Mise à jour autorisée | Description | Contraintes |
CharacterSetName | String | Oui | Non | Jeu de caractères. | Valeurs valides :
|
DBName | String | Oui | Non | Nom de la base de données. | Le nom doit être globalement unique. La valeur peut comporter jusqu'à 64 caractères. Elle doit commencer par une lettre et peut contenir des lettres, des chiffres et des traits de soulignement (_). |
DBDescription | String | Non | Non | Description de la base de données. | La valeur doit comporter entre 2 et 256 caractères. Elle doit commencer par une lettre et ne peut pas commencer par |
Valeurs de retour
Fn::GetAtt
DBInstanceId : ID de l'instance de base de données.
InnerPort : port interne de l'instance de base de données.
InnerIPAddress : adresse IP interne.
InnerConnectionString : endpoint interne.
PublicPort : port public de l'instance de base de données.
PublicConnectionString : endpoint public.
PublicIPAddress : adresse IP publique.
Exemples
Scénario 1 : Créer une instance ApsaraDB RDS for PostgreSQL Édition Basic au paiement à l'utilisation.
ROSTemplateFormatVersion: '2015-09-01'
Description: Create a pay-as-you-go ApsaraDB RDS for PostgreSQL Basic Edition instance.
Parameters:
VpcId:
AssociationProperty: ALIYUN::ECS::VPC::VPCId
Type: String
Description:
en: The ID of the existing VPC. You can find the ID, which starts with vpc-xxx, in the VPC console.
zh-cn: The ID of the existing VPC.
Label:
en: VPC ID
zh-cn: VPC ID
ZoneId:
Type: String
Label:
en: Zone ID
zh-cn: Zone ID
Description:
en: The ID of the zone.
zh-cn: The ID of the zone.
Required: true
AssociationProperty: ZoneId
AssociationPropertyMetadata:
AutoSelectFirst: true
VSwitchId:
AssociationProperty: ALIYUN::ECS::VSwitch::VSwitchId
AssociationPropertyMetadata:
VpcId: ${VpcId}
ZoneId: ${ZoneId}
Type: String
Description:
en: The ID of the existing vSwitch. You can find the ID in the VPC console.
zh-cn: The ID of the existing vSwitch.
Label:
en: VSwitch ID
zh-cn: vSwitch ID
DBInstanceClass:
Type: String
Label:
en: Instance type
zh-cn: Instance type
Required: true
AssociationProperty: ALIYUN::RDS::Instance::InstanceType
AssociationPropertyMetadata:
InstanceChargeType: Postpaid
ZoneId: ${ZoneId}
EngineVersion: '17.0'
Engine: PostgreSQL
Category: Basic
DBInstanceStorageType: cloud_essd
Resources:
RDSInstance:
Type: ALIYUN::RDS::DBInstance
Properties:
ZoneId:
Ref: ZoneId
VpcId:
Ref: VpcId
VSwitchId:
Ref: VSwitchId
DBInstanceClass:
Ref: DBInstanceClass
DBInstanceStorage: 50
Engine: PostgreSQL
EngineVersion: '17.0'
Category: Basic
DBInstanceStorageType: cloud_essd
AllocatePublicConnection: true
PayType: Postpaid
SecurityIPList: 0.0.0.0/0
Outputs:
InnerConnectionString:
Value:
Fn::GetAtt:
- RDSInstance
- InnerConnectionString
InnerIPAddress:
Value:
Fn::GetAtt:
- RDSInstance
- InnerIPAddress
PublicConnectionString:
Value:
Fn::GetAtt:
- RDSInstance
- PublicConnectionString
PublicIPAddress:
Value:
Fn::GetAtt:
- RDSInstance
- PublicIPAddress{
"ROSTemplateFormatVersion": "2015-09-01",
"Description": "Create a pay-as-you-go ApsaraDB RDS for PostgreSQL Basic Edition instance.",
"Parameters": {
"VpcId": {
"AssociationProperty": "ALIYUN::ECS::VPC::VPCId",
"Type": "String",
"Description": {
"en": "The ID of the existing VPC. You can find the ID, which starts with vpc-xxx, in the VPC console.",
"zh-cn": "The ID of the existing VPC."
},
"Label": {
"en": "VPC ID",
"zh-cn": "VPC ID"
}
},
"ZoneId": {
"Type": "String",
"Label": {
"en": "Zone ID",
"zh-cn": "Zone ID"
},
"Description": {
"en": "The ID of the zone.",
"zh-cn": "The ID of the zone."
},
"Required": true,
"AssociationProperty": "ZoneId",
"AssociationPropertyMetadata": {
"AutoSelectFirst": true
}
},
"VSwitchId": {
"AssociationProperty": "ALIYUN::ECS::VSwitch::VSwitchId",
"AssociationPropertyMetadata": {
"VpcId": "${VpcId}",
"ZoneId": "${ZoneId}"
},
"Type": "String",
"Description": {
"en": "The ID of the existing vSwitch. You can find the ID in the VPC console.",
"zh-cn": "The ID of the existing vSwitch."
},
"Label": {
"en": "VSwitch ID",
"zh-cn": "vSwitch ID"
}
},
"DBInstanceClass": {
"Type": "String",
"Label": {
"en": "Instance type",
"zh-cn": "Instance type"
},
"Required": true,
"AssociationProperty": "ALIYUN::RDS::Instance::InstanceType",
"AssociationPropertyMetadata": {
"InstanceChargeType": "Postpaid",
"ZoneId": "${ZoneId}",
"EngineVersion": "17.0",
"Engine": "PostgreSQL",
"Category": "Basic",
"DBInstanceStorageType": "cloud_essd"
}
}
},
"Resources": {
"RDSInstance": {
"Type": "ALIYUN::RDS::DBInstance",
"Properties": {
"ZoneId": {
"Ref": "ZoneId"
},
"VpcId": {
"Ref": "VpcId"
},
"VSwitchId": {
"Ref": "VSwitchId"
},
"DBInstanceClass": {
"Ref": "DBInstanceClass"
},
"DBInstanceStorage": 50,
"Engine": "PostgreSQL",
"EngineVersion": "17.0",
"Category": "Basic",
"DBInstanceStorageType": "cloud_essd",
"AllocatePublicConnection": true,
"PayType": "Postpaid",
"SecurityIPList": "0.0.0.0/0"
}
}
},
"Outputs": {
"InnerConnectionString": {
"Value": {
"Fn::GetAtt": [
"RDSInstance",
"InnerConnectionString"
]
}
},
"InnerIPAddress": {
"Value": {
"Fn::GetAtt": [
"RDSInstance",
"InnerIPAddress"
]
}
},
"PublicConnectionString": {
"Value": {
"Fn::GetAtt": [
"RDSInstance",
"PublicConnectionString"
]
}
},
"PublicIPAddress": {
"Value": {
"Fn::GetAtt": [
"RDSInstance",
"PublicIPAddress"
]
}
}
}
}Scénario 2 : Créer une instance ApsaraDB RDS for MySQL Édition High-availability multi-zone par abonnement.
ROSTemplateFormatVersion: '2015-09-01'
Description:
zh-cn: Create a subscription, multi-zone ApsaraDB RDS for MySQL High-availability Edition instance.
en: Create a subscription, multi-zone ApsaraDB RDS for MySQL High-availability Edition instance.
Parameters:
VSwitch2:
AssociationProperty: ALIYUN::ECS::VSwitch::VSwitchId
AssociationPropertyMetadata:
VpcId: ${VpcId}
ZoneId: ${ZoneId2}
Type: String
Description:
zh-cn: The ID of the existing vSwitch.
en: The ID of the existing vSwitch. You can find the ID in the VPC console.
Label:
zh-cn: VSwitch 2 ID
en: VSwitch 2 ID
VpcId:
AssociationProperty: ALIYUN::ECS::VPC::VPCId
Type: String
Description:
zh-cn: The ID of the existing VPC.
en: The ID of the existing VPC. You can find the ID, which starts with vpc-xxx, in the VPC console.
Label:
zh-cn: VPC ID
en: VPC ID
ZoneId1:
AssociationProperty: ALIYUN::ECS::Instance::ZoneId
AssociationPropertyMetadata:
ExclusiveTo:
- ZoneId2
Type: String
Label:
zh-cn: Primary zone
en: Primary zone
ZoneId2:
AssociationProperty: ALIYUN::ECS::Instance::ZoneId
AssociationPropertyMetadata:
ExclusiveTo:
- ZoneId1
Type: String
Label:
zh-cn: Secondary zone
en: Secondary zone
VSwitch1:
AssociationProperty: ALIYUN::ECS::VSwitch::VSwitchId
AssociationPropertyMetadata:
VpcId: ${VpcId}
ZoneId: ${ZoneId1}
Type: String
Description:
zh-cn: The ID of the existing vSwitch.
en: The ID of the existing vSwitch. You can find the ID in the VPC console.
Label:
zh-cn: VSwitch 1 ID
en: VSwitch 1 ID
DBInstanceClass:
AssociationProperty: ALIYUN::RDS::Instance::InstanceType
AssociationPropertyMetadata:
Engine: MySQL
Category: HighAvailability
EngineVersion: '8.0'
InstanceChargeType: Prepaid
DBInstanceStorageType: cloud_essd
Type: String
Label:
zh-cn: Instance type
en: Instance type
Outputs:
InnerIPAddress:
Value:
Fn::GetAtt:
- RDSInstance
- InnerIPAddress
InnerConnectionString:
Value:
Fn::GetAtt:
- RDSInstance
- InnerConnectionString
PublicConnectionString:
Value:
Fn::GetAtt:
- RDSInstance
- PublicConnectionString
PublicIPAddress:
Value:
Fn::GetAtt:
- RDSInstance
- PublicIPAddress
Resources:
RDSInstance:
Type: ALIYUN::RDS::DBInstance
Properties:
Category: HighAvailability
Engine: MySQL
PayType: Prepaid
SlaveZoneIds:
- Ref: ZoneId2
DBInstanceStorage: 20
PeriodType: Month
DBInstanceStorageType: cloud_essd
Period: 1
ZoneId:
Ref: ZoneId1
VpcId:
Ref: VpcId
VSwitchId:
Fn::Join:
- ','
- - Ref: VSwitch1
- Ref: VSwitch2
EngineVersion: '8.0'
DBInstanceClass:
Ref: DBInstanceClass
SecurityIPList: 0.0.0.0/0
Metadata:
ALIYUN::ROS::Interface:
ParameterGroups:
- Parameters:
- VpcId
- ZoneId1
- ZoneId2
- VSwitch1
- VSwitch2
Label:
default:
zh-cn: Network configuration
en: Network configuration
- Parameters:
- DBInstanceClass
Label:
default:
zh-cn: RDS configuration
en: RDS configuration{
"ROSTemplateFormatVersion": "2015-09-01",
"Description": {
"zh-cn": "Create a subscription, multi-zone ApsaraDB RDS for MySQL High-availability Edition instance.",
"en": "Create a subscription, multi-zone ApsaraDB RDS for MySQL High-availability Edition instance."
},
"Parameters": {
"VSwitch2": {
"AssociationProperty": "ALIYUN::ECS::VSwitch::VSwitchId",
"AssociationPropertyMetadata": {
"VpcId": "${VpcId}",
"ZoneId": "${ZoneId2}"
},
"Type": "String",
"Description": {
"zh-cn": "The ID of the existing vSwitch.",
"en": "The ID of the existing vSwitch. You can find the ID in the VPC console."
},
"Label": {
"zh-cn": "VSwitch 2 ID",
"en": "VSwitch 2 ID"
}
},
"VpcId": {
"AssociationProperty": "ALIYUN::ECS::VPC::VPCId",
"Type": "String",
"Description": {
"zh-cn": "The ID of the existing VPC.",
"en": "The ID of the existing VPC. You can find the ID, which starts with vpc-xxx, in the VPC console."
},
"Label": {
"zh-cn": "VPC ID",
"en": "VPC ID"
}
},
"ZoneId1": {
"AssociationProperty": "ALIYUN::ECS::Instance::ZoneId",
"AssociationPropertyMetadata": {
"ExclusiveTo": [
"ZoneId2"
]
},
"Type": "String",
"Label": {
"zh-cn": "Primary zone",
"en": "Primary zone"
}
},
"ZoneId2": {
"AssociationProperty": "ALIYUN::ECS::Instance::ZoneId",
"AssociationPropertyMetadata": {
"ExclusiveTo": [
"ZoneId1"
]
},
"Type": "String",
"Label": {
"zh-cn": "Secondary zone",
"en": "Secondary zone"
}
},
"VSwitch1": {
"AssociationProperty": "ALIYUN::ECS::VSwitch::VSwitchId",
"AssociationPropertyMetadata": {
"VpcId": "${VpcId}",
"ZoneId": "${ZoneId1}"
},
"Type": "String",
"Description": {
"zh-cn": "The ID of the existing vSwitch.",
"en": "The ID of the existing vSwitch. You can find the ID in the VPC console."
},
"Label": {
"zh-cn": "VSwitch 1 ID",
"en": "VSwitch 1 ID"
}
},
"DBInstanceClass": {
"AssociationProperty": "ALIYUN::RDS::Instance::InstanceType",
"AssociationPropertyMetadata": {
"Engine": "MySQL",
"Category": "HighAvailability",
"EngineVersion": "8.0",
"InstanceChargeType": "Prepaid",
"DBInstanceStorageType": "cloud_essd"
},
"Type": "String",
"Label": {
"zh-cn": "Instance type",
"en": "Instance type"
}
}
},
"Outputs": {
"InnerIPAddress": {
"Value": {
"Fn::GetAtt": [
"RDSInstance",
"InnerIPAddress"
]
}
},
"InnerConnectionString": {
"Value": {
"Fn::GetAtt": [
"RDSInstance",
"InnerConnectionString"
]
}
},
"PublicConnectionString": {
"Value": {
"Fn::GetAtt": [
"RDSInstance",
"PublicConnectionString"
]
}
},
"PublicIPAddress": {
"Value": {
"Fn::GetAtt": [
"RDSInstance",
"PublicIPAddress"
]
}
}
},
"Resources": {
"RDSInstance": {
"Type": "ALIYUN::RDS::DBInstance",
"Properties": {
"Category": "HighAvailability",
"Engine": "MySQL",
"PayType": "Prepaid",
"SlaveZoneIds": [
{
"Ref": "ZoneId2"
}
],
"DBInstanceStorage": 20,
"PeriodType": "Month",
"DBInstanceStorageType": "cloud_essd",
"Period": 1,
"ZoneId": {
"Ref": "ZoneId1"
},
"VpcId": {
"Ref": "VpcId"
},
"VSwitchId": {
"Fn::Join": [
",",
[
{
"Ref": "VSwitch1"
},
{
"Ref": "VSwitch2"
}
]
]
},
"EngineVersion": "8.0",
"DBInstanceClass": {
"Ref": "DBInstanceClass"
},
"SecurityIPList": "0.0.0.0/0"
}
}
},
"Metadata": {
"ALIYUN::ROS::Interface": {
"ParameterGroups": [
{
"Parameters": [
"VpcId",
"ZoneId1",
"ZoneId2",
"VSwitch1",
"VSwitch2"
],
"Label": {
"default": {
"zh-cn": "Network configuration",
"en": "Network configuration"
}
}
},
{
"Parameters": [
"DBInstanceClass"
],
"Label": {
"default": {
"zh-cn": "RDS configuration",
"en": "RDS configuration"
}
}
}
]
}
}
}Scénario 3 : Créer une instance ApsaraDB RDS for MySQL Serverless au paiement à l'utilisation et associer une base de données ainsi qu'un compte de base de données.
ROSTemplateFormatVersion: '2015-09-01'
Description:
zh-cn: Create a pay-as-you-go Serverless ApsaraDB RDS for MySQL instance and associate a database and a database account.
en: Create a pay-as-you-go Serverless ApsaraDB RDS for MySQL instance and associate a database and a database account.
Parameters:
VpcId:
AssociationProperty: ALIYUN::ECS::VPC::VPCId
Type: String
Description:
zh-cn: The ID of the existing VPC.
en: The ID of the existing VPC. You can find the ID, which starts with vpc-xxx, in the VPC console.
Label:
zh-cn: VPC ID
en: VPC ID
RdsAccountName:
Default: db_root
Type: String
Description:
zh-cn: The name of the MySQL administrator user.
en: Account Name
Label:
zh-cn: Username
en: Account Name
ZoneId:
AssociationProperty: ALIYUN::ECS::Instance::ZoneId
Type: String
Label:
zh-cn: Primary zone
en: Primary zone
VSwitch:
AssociationProperty: ALIYUN::ECS::VSwitch::VSwitchId
AssociationPropertyMetadata:
VpcId: ${VpcId}
ZoneId: ${ZoneId}
Type: String
Description:
zh-cn: The ID of the existing vSwitch.
en: The ID of the existing vSwitch. You can find the ID in the VPC console.
Label:
zh-cn: vSwitch 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: Instance type
en: Instance type
RdsAccountPassword:
Type: String
NoEcho: true
Description:
zh-cn: |-
The value must be 8 to 32 characters in length. It must contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. The following special characters are supported:
!@#$&%^*()_+-= .
en: |-
The value must be 8 to 32 characters in length. It must contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. The following special characters are supported:
!@#$& amp;%^* ()_+-= .
Label:
zh-cn: User password
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: Network configuration
en: Network configuration
- Parameters:
- DBInstanceClass
- RdsAccountName
- RdsAccountPassword
Label:
default:
zh-cn: RDS configuration
en: RDS configuration
{
"ROSTemplateFormatVersion": "2015-09-01",
"Description": {
"zh-cn": "Create a pay-as-you-go Serverless ApsaraDB RDS for MySQL instance and associate a database and a database account.",
"en": "Create a pay-as-you-go Serverless ApsaraDB RDS for MySQL instance and associate a database and a database account."
},
"Parameters": {
"VpcId": {
"AssociationProperty": "ALIYUN::ECS::VPC::VPCId",
"Type": "String",
"Description": {
"zh-cn": "The ID of the existing VPC.",
"en": "The ID of the existing VPC. You can find the ID, which starts with vpc-xxx, in the VPC console."
},
"Label": {
"zh-cn": "VPC ID",
"en": "VPC ID"
}
},
"RdsAccountName": {
"Default": "db_root",
"Type": "String",
"Description": {
"zh-cn": "The name of the MySQL administrator user.",
"en": "Account Name"
},
"Label": {
"zh-cn": "Username",
"en": "Account Name"
}
},
"ZoneId": {
"AssociationProperty": "ALIYUN::ECS::Instance::ZoneId",
"Type": "String",
"Label": {
"zh-cn": "Primary zone",
"en": "Primary zone"
}
},
"VSwitch": {
"AssociationProperty": "ALIYUN::ECS::VSwitch::VSwitchId",
"AssociationPropertyMetadata": {
"VpcId": "${VpcId}",
"ZoneId": "${ZoneId}"
},
"Type": "String",
"Description": {
"zh-cn": "The ID of the existing vSwitch.",
"en": "The ID of the existing vSwitch. You can find the ID in the VPC console."
},
"Label": {
"zh-cn": "vSwitch 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": "Instance type",
"en": "Instance type"
}
},
"RdsAccountPassword": {
"Type": "String",
"NoEcho": true,
"Description": {
"zh-cn": "The value must be 8 to 32 characters in length. It must contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. The following special characters are supported:\n!@#$&%^*()_+-= .",
"en": "The value must be 8 to 32 characters in length. It must contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. The following special characters are supported:\n!@#$& amp;%^* ()_+-= ."
},
"Label": {
"zh-cn": "User password",
"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": "Network configuration",
"en": "Network configuration"
}
}
},
{
"Parameters": [
"DBInstanceClass",
"RdsAccountName",
"RdsAccountPassword"
],
"Label": {
"default": {
"zh-cn": "RDS configuration",
"en": "RDS configuration"
}
}
}
]
}
}
}Pour plus d'exemples, voir les modèles publics contenant cette ressource.