ALIYUN::RDS::Account を使用して、データベース管理アカウントを作成します。
構文
{
"Type": "ALIYUN::RDS::Account",
"Properties": {
"AccountDescription": String,
"DBInstanceId": String,
"AccountPassword": String,
"AccountType": String,
"AccountName": String
}
}プロパティ
プロパティ名 | 型 | 必須 | 更新可能 | 説明 | 制約 |
AccountDescription | String | いいえ | はい | アカウントの説明。 | 説明は 2~256 文字である必要があります。先頭は英字または漢字にする必要があり、英字、漢字、数字、アンダースコア (_)、ハイフン (-) を使用できます。 |
DBInstanceId | String | はい | いいえ | インスタンス ID。 | なし |
AccountPassword | String | はい | いいえ | アカウントのパスワード。 | パスワードは 8~32 文字である必要があります。大文字、小文字、数字、特殊文字のうち、3 種類以上を含める必要があります。サポートされている特殊文字は次のとおりです: |
AccountType | String | いいえ | いいえ | アカウントのタイプ。 | 有効な値:
|
AccountName | String | はい | いいえ | アカウントの名前。 | なし |
戻り値
Fn::GetAtt
AccountName:アカウントの名前。
例
シナリオ 1:既存の RDS インスタンスの標準データベース管理アカウントの作成
ROSTemplateFormatVersion: '2015-09-01'
Description: 既存の RDS インスタンスの標準データベース管理アカウントを作成します。
Parameters:
RDSInstance:
AssociationProperty: ALIYUN::RDS::Instance::InstanceId
Type: String
Label: RDS インスタンス ID
RdsAccountName:
Default: db_root
Type: String
Description: データベースアカウントの名前。
Label: アカウント名
RdsAccountPassword:
Type: String
NoEcho: true
Description: |-
パスワードは 8~32 文字である必要があります。大文字、小文字、数字、特殊文字のうち、3 種類以上を含める必要があります。サポートされている特殊文字は次のとおりです:
!@#$&%^*()_+-= .
Label: アカウントパスワード
Outputs: {}
Resources:
RdsAccount:
Type: ALIYUN::RDS::Account
Properties:
DBInstanceId:
Ref: RDSInstance
AccountPassword:
Ref: RdsAccountPassword
AccountType: Normal
AccountName:
Ref: RdsAccountName
Metadata: {}
{
"ROSTemplateFormatVersion": "2015-09-01",
"Description": "既存の RDS インスタンスの標準データベース管理アカウントを作成します。",
"Parameters": {
"RDSInstance": {
"AssociationProperty": "ALIYUN::RDS::Instance::InstanceId",
"Type": "String",
"Label": "RDS インスタンス ID"
},
"RdsAccountName": {
"Default": "db_root",
"Type": "String",
"Description": "データベースアカウントの名前。",
"Label": "アカウント名"
},
"RdsAccountPassword": {
"Type": "String",
"NoEcho": true,
"Description": "パスワードは 8~32 文字である必要があります。大文字、小文字、数字、特殊文字のうち、3 種類以上を含める必要があります。サポートされている特殊文字は次のとおりです:\n!@#$&%^*()_+-= .",
"Label": "アカウントパスワード"
}
},
"Outputs": {},
"Resources": {
"RdsAccount": {
"Type": "ALIYUN::RDS::Account",
"Properties": {
"DBInstanceId": {
"Ref": "RDSInstance"
},
"AccountPassword": {
"Ref": "RdsAccountPassword"
},
"AccountType": "Normal",
"AccountName": {
"Ref": "RdsAccountName"
}
}
}
},
"Metadata": {}
}シナリオ 2:RDS インスタンスと特権データベース管理アカウントの作成
ROSTemplateFormatVersion: '2015-09-01'
Description: 従量課金の ApsaraDB RDS for MySQL サーバーレスインスタンスを作成し、そのインスタンスのデータベースとデータベースアカウントを作成します。
Parameters:
VpcId:
AssociationProperty: ALIYUN::ECS::VPC::VPCId
Type: String
Description: RDS インスタンスが属する VPC の ID。
Label: VPC ID
RdsAccountName:
Default: db_root
Type: String
Description: データベースアカウントの名前。
Label: アカウント名
ZoneId:
AssociationProperty: ALIYUN::ECS::Instance::ZoneId
Type: String
Label: プライマリゾーン
VSwitch:
AssociationProperty: ALIYUN::ECS::VSwitch::VSwitchId
AssociationPropertyMetadata:
VpcId: ${VpcId}
ZoneId: ${ZoneId}
Type: String
Description: vSwitch の ID。
Label: 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: インスタンスタイプ
RdsAccountPassword:
Type: String
NoEcho: true
Description: |-
パスワードは 8~32 文字である必要があります。大文字、小文字、数字、特殊文字のうち、3 種類以上を含める必要があります。サポートされている特殊文字は次のとおりです:
!@#$&%^*()_+-= .
Label: アカウントパスワード
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: ネットワーク設定
- Parameters:
- DBInstanceClass
- RdsAccountName
- RdsAccountPassword
Label:
default: RDS 設定
{
"ROSTemplateFormatVersion": "2015-09-01",
"Description": "従量課金の ApsaraDB RDS for MySQL サーバーレスインスタンスを作成し、そのインスタンスのデータベースとデータベースアカウントを作成します。",
"Parameters": {
"VpcId": {
"AssociationProperty": "ALIYUN::ECS::VPC::VPCId",
"Type": "String",
"Description": "RDS インスタンスが属する VPC の ID。",
"Label": "VPC ID"
},
"RdsAccountName": {
"Default": "db_root",
"Type": "String",
"Description": "データベースアカウントの名前。",
"Label": "アカウント名"
},
"ZoneId": {
"AssociationProperty": "ALIYUN::ECS::Instance::ZoneId",
"Type": "String",
"Label": "プライマリゾーン"
},
"VSwitch": {
"AssociationProperty": "ALIYUN::ECS::VSwitch::VSwitchId",
"AssociationPropertyMetadata": {
"VpcId": "${VpcId}",
"ZoneId": "${ZoneId}"
},
"Type": "String",
"Description": "vSwitch の ID。",
"Label": "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": "インスタンスタイプ"
},
"RdsAccountPassword": {
"Type": "String",
"NoEcho": true,
"Description": "パスワードは 8~32 文字である必要があります。大文字、小文字、数字、特殊文字のうち、3 種類以上を含める必要があります。サポートされている特殊文字は次のとおりです:\n!@#$&%^*()_+-= .",
"Label": "アカウントパスワード"
}
},
"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": "ネットワーク設定"
}
},
{
"Parameters": [
"DBInstanceClass",
"RdsAccountName",
"RdsAccountPassword"
],
"Label": {
"default": "RDS 設定"
}
}
]
}
}
}