はじめに
今回は、Alibaba CloudのRDS(Relational Database Service)をROSで起動します。
コンソールでROSを選んでサンプルテンプレートを起動
サンプルが新しく作成したアカウントは対応できないようです。
また、MySQLも 5.5 と 5.6 なので、古いようです。
サンプルテンプレートをカスタマイズする。
準備
VPCをROSで作っておきます。
AlibabaCloudのResource Orchestration Service(ROS)を触ってみる。
テンプレートをカスタマイズ
ALIYUN::RDS::DBInstance
や
インスタンスタイプリスト - プロダクト紹介| Alibaba Cloud ドキュメントセンター
を参考にしていきます。
できたテンプレートがこちら
{
"ROSTemplateFormatVersion" : "2015-09-01",
"Description": "One RDS instance custom",
"Parameters" : {
"Engine" : {
"Type" : "String",
"Default": "MySQL",
"AllowedValues": [
"MySQL"
]
},
"EngineVersion" : {
"Type" : "String",
"Description": "MySQL:5.6/5.7",
"Default": "5.7",
"AllowedValues": [
"5.6",
"5.7"
]
},
"DBInstanceClass":{
"Type" : "String",
"Default": "rds.mysql.t1.small",
"AllowedValues":[
"mysql.n1.micro.1",
"rds.mysql.t1.small",
"rds.mysql.s1.small"
]
},
"DBInstanceStorage":{
"Type": "Number",
"MinValue": 5,
"MaxValue": 2000,
"Default": "10",
"Description": "Incrementing in every 5G, unit: GB",
"ConstraintDescription": "Incrementing in every 5G, unit: GB"
},
"DBInstanceNetType":{
"Type": "String",
"AllowedValues": ["Internet", "Intranet"]
},
"VpcId":{
"Type": "String",
"Default": "vpc-XXXXXXXXX",
"Description": "VPC-ID"
},
"VPCSwitchId":{
"Type": "String",
"Default": "vsw-XXXXXXXXX",
"Description": "VPC-SWITCH-ID"
},
"SecurityIPList":{
"Type": "String",
"Default": "0.0.0.0/0",
"Description": ""
},
"DBUserName":{
"Type": "String",
"Description": "Database User Name"
},
"DBUserPassword":{
"Type": "String",
"Description": "Database User Password"
}
},
"Resources" : {
"Database": {
"Type": "ALIYUN::RDS::DBInstance",
"Properties": {
"Engine": {"Ref": "Engine"},
"EngineVersion": {"Ref": "EngineVersion"},
"DBInstanceClass": {"Ref": "DBInstanceClass"},
"DBInstanceStorage": {"Ref": "DBInstanceStorage"},
"DBInstanceNetType": {"Ref": "DBInstanceNetType"},
"SecurityIPList": {"Ref": "SecurityIPList"},
"VpcId": {"Ref": "VpcId"},
"VSwitchId": {"Ref": "VPCSwitchId"},
"AllocatePublicConnection": true,
"MasterUsername": {"Ref": "DBUserName"},
"MasterUserPassword": {"Ref": "DBUserPassword"}
}
}
},
"Outputs": {
"DBInstanceId": {
"Value" : {"Fn::GetAtt": ["Database", "DBInstanceId"]}
},
"PublicConnectionString": {
"Value" : {"Fn::GetAtt": ["Database", "PublicConnectionString"]}
},
"PublicPort": {
"Value" : {"Fn::GetAtt": ["Database", "PublicPort"]}
},
"InnerConnectionString": {
"Value" : {"Fn::GetAtt": ["Database", "InnerConnectionString"]}
},
"InnerPort": {
"Value" : {"Fn::GetAtt": ["Database", "InnerPort"]}
}
}
}
テンプレートの説明
ApsaraDB for RDSってなに?
の記事では、RDS構築後にパブリックアクセスの作業をしました。
今回は、下記のブロックを追加して構築できるようにしました。
"VpcId": {"Ref": "VpcId"},
"VSwitchId": {"Ref": "VPCSwitchId"},
"AllocatePublicConnection": true,
"MasterUsername": {"Ref": "DBUserName"},
"MasterUserPassword": {"Ref": "DBUserPassword"}
まとめ
まだこのROSテンプレートは実運用には向いてません。
一度RDSをコンソールで起動していると、テンプレート作成の進みは良くなります。
では。