Edited at

ApsaraDB for RDSをROSで起動する

More than 1 year has passed since last update.


はじめに

今回は、Alibaba CloudのRDS(Relational Database Service)をROSで起動します。


コンソールでROSを選んでサンプルテンプレートを起動

9e87044c.png

24cadb7a.png

9e50cafc.png

86803faf.png

サンプルが新しく作成したアカウントは対応できないようです。

また、MySQLも 5.55.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をコンソールで起動していると、テンプレート作成の進みは良くなります。

では。