LoginSignup
1
1

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

では。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1