すべてのプロダクト
Search
ドキュメントセンター

Resource Orchestration Service:ALIYUN::RDS::DBInstanceClone

最終更新日:Jan 25, 2025

ALIYUN::RDS::DBInstanceClone は、インスタンスの既存データを新しいインスタンスに復旧するために使用されます。新しいインスタンスはクローンインスタンスと呼ばれます。

構文

{
  "Type": "ALIYUN::RDS::DBInstanceClone",
  "Properties": {
    "PeriodType": String,
    "Category": String,
    "PrivateIpAddress": String,
    "DedicatedHostGroupId": String,
    "BackupId": String,
    "RestoreTime": String,
    "InstanceNetworkType": String,
    "DbNames": String,
    "Port": Integer,
    "ConnectionStringPrefix": String,
    "ConnectionStringType": String,
    "TimeoutInMinutes": Integer,
    "PreferredBackupPeriod": List,
    "DBInstanceId": String,
    "SecurityIPList": String,
    "DBInstanceStorage": Integer,
    "BackupType": String,
    "DBMappings": List,
    "MaintainTime": String,
    "Tags": Map,
    "DBInstanceDescription": String,
    "ZoneId": String,
    "SlaveZoneIds": List,
    "DBInstanceClass": String,
    "AllocatePublicConnection": Boolean,
    "SecurityGroupId": String,
    "PreferredBackupTime": String,
    "VSwitchId": String,
    "Period": Integer,
    "PayType": String,
    "DBInstanceStorageType": String,
    "RestoreTable": String,
    "MasterUserPassword": String,
    "MasterUserType": String,
    "VpcId": String,
    "SSLSetting": String,
    "MasterUsername": String,
    "SQLCollectorStatus": String,
    "BackupRetentionPeriod": Number,
    "TableMeta": List
  }
}

プロパティ

プロパティ

タイプ

必須

編集可能

説明

制約

PeriodType

String

いいえ

いいえ

サブスクリプション期間の単位。

有効値:

  • Month

  • Year

PayType が Prepaid に設定されている場合は、このプロパティを指定する必要があります。

Category

String

いいえ

はい

新しいインスタンスのエディション。

有効値:

  • Basic: RDS Basic Edition。

  • HighAvailability: RDS High-Availability Edition。

  • AlwaysOn: RDS Cluster Edition。

PrivateIpAddress

String

いいえ

いいえ

新しいインスタンスのプライベート IP アドレス。

プライベート IP アドレスは、vSwitch の CIDR ブロック内である必要があります。デフォルトでは、システムは VpcId と VSwitchId の値に基づいてプライベート IP アドレスを割り当てます。

ConnectionStringPrefix

String

いいえ

はい

エンドポイントのプレフィックス。

プレフィックスは 8 ~ 64 文字で、文字、数字、ハイフン (-) を使用できます。

ConnectionStringType

String

いいえ

はい

エンドポイントのタイプ。

有効値:

  • Inner: 内部エンドポイント。

  • Public: パブリックエンドポイント。

TimeoutInMinutes

Integer

いいえ

いいえ

タイムアウト期間。

有効値:

  • 30

  • 60

  • 90

  • 120 (デフォルト)

  • 150

  • 180

  • 210

  • 240

  • 270

  • 300

  • 330

  • 360

単位: 分。

Port

Integer

いいえ

はい

新しいインスタンスのポート。

有効値: 1 ~ 65535。

DedicatedHostGroupId

String

いいえ

いいえ

ホストグループの ID。

なし。

BackupId

String

いいえ

いいえ

バックアップセットの ID。

BackupId と RestoreTime の少なくとも 1 つを指定する必要があります。

RestoreTime

String

いいえ

いいえ

データを復旧する時点。指定した時点は、指定したバックアップの保存期間内である必要があります。

ISO 8601 標準の yyyy-MM-ddTHH:mm:ssZ 形式で時間を指定します。時間は UTC である必要があります。

BackupId と RestoreTime の少なくとも 1 つを指定する必要があります。

InstanceNetworkType

String

いいえ

いいえ

新しいインスタンスのネットワークタイプ。

有効値:

  • VPC

  • Classic

説明

デフォルトでは、このプロパティの値はプライマリインスタンスのネットワークタイプと同じです。

DbNames

String

いいえ

いいえ

データベースの名前。

なし。

PreferredBackupPeriod

List

いいえ

はい

システムがデータをバックアップする曜日。

有効値:

  • Monday

  • Tuesday

  • Wednesday

  • Thursday

  • Friday

  • Saturday

  • Sunday

DBInstanceId

String

はい

いいえ

ソースインスタンスの ID。

なし。

SecurityIPList

String

いいえ

はい

新しいインスタンス上のすべてのデータベースへのアクセスを許可する IP アドレスホワイトリストのエントリ。

ホワイトリスト内の複数の IP アドレスはカンマ (,) で区切ります。各 IP アドレスはホワイトリスト内で一意である必要があります。ホワイトリストには最大 1,000 個の IP アドレスを含めることができます。

ホワイトリストのエントリは、次の形式で指定できます。

  • IP アドレス。例: 10.23.12.24。

  • CIDR ブロック。例: 10.23.12.24/24。この例では、24 は CIDR ブロックのプレフィックスの長さが 24 ビットであることを指定しています。24 は 1 ~ 32 の値に置き換えることができます。

DBInstanceStorage

Integer

いいえ

はい

新しいインスタンスのストレージ容量。

単位: GB。値は 5 GB 単位である必要があります。

詳細については、「プライマリ ApsaraDB RDS インスタンスタイプ」をご参照ください。

説明

デフォルトでは、このプロパティの値はプライマリインスタンスのストレージ容量と同じです。

BackupType

String

いいえ

いいえ

バックアップタイプ。

有効値:

  • FullBackup

  • IncrementalBackup

DBMappings

List

いいえ

いいえ

新しいインスタンスのデータベース。

詳細については、「DBMappings プロパティ」をご参照ください。

MaintainTime

String

いいえ

いいえ

新しいインスタンスのメンテナンスウィンドウ。

ISO 8601 標準の HH:mmZ-HH:mmZ 形式で時間を指定します。時間は UTC である必要があります。

Tags

Map

いいえ

はい

タグ。

なし。

DBInstanceDescription

String

いいえ

はい

新しいインスタンスの説明。

説明は 2 ~ 256 文字である必要があります。http:// または https:// で始めることはできません。文字、数字、アンダースコア (_)、ハイフン (-) を使用できます。

ZoneId

String

いいえ

いいえ

新しいインスタンスのゾーン ID。

デフォルトでは、このプロパティの値はソースインスタンスのゾーン ID と同じです。

SlaveZoneIds

List

いいえ

いいえ

RDS High-Availability Edition または RDS Enterprise Edition を実行する新しいインスタンスのセカンダリゾーン ID。

最大 2 つのセカンダリゾーン ID を指定できます。たとえば、このプロパティの値として ["zone-b"] または ["zone-b", "zone-c"] を指定できます。

プライマリゾーンとセカンダリゾーンのそれぞれに vSwitch を指定する必要があります。たとえば、ZoneId を "zone-a" に設定し、SlaveZoneIds を ["zone-c", "zone-b"] に設定する場合、vSwitch ID を "vsw-zone-a,vsw-zone-c,vsw-zone-b" の形式で指定する必要があります。

システムでセカンダリゾーンを自動的に選択するように設定するには、SlaveZoneIds を ["Auto"] または ["Auto", "Auto"] に設定します。この場合、プライマリゾーンの vSwitch ID を指定すると、システムはセカンダリゾーンに vSwitch を自動的に作成します。

DBInstanceClass

String

いいえ

はい

新しいインスタンスのインスタンスタイプ。

詳細については、「プライマリ ApsaraDB RDS インスタンスタイプ」をご参照ください。 デフォルトでは、このプロパティの値はプライマリインスタンスのインスタンスタイプと同じです。

説明

デフォルトでは、このプロパティの値はプライマリインスタンスのインスタンスタイプと同じです。

AllocatePublicConnection

Boolean

いいえ

いいえ

新しいインスタンスのパブリックエンドポイントを申請するかどうかを指定します。

有効値:

  • true

  • false

SecurityGroupId

String

いいえ

はい

新しいインスタンスに関連付けるセキュリティグループの ID。

インスタンスは、最大 3 つのセキュリティグループに関連付けることができます。複数のセキュリティグループはコンマ (,) で区切ってください。

インスタンスには最大 3 つのセキュリティグループを関連付けることができます。複数のセキュリティグループはカンマ (,) で区切ります。 インスタンスをすべてのセキュリティグループから関連付け解除するには、このプロパティを空のままにします。

PreferredBackupTime

String

いいえ

はい

バックアップ時間。

ISO 8601 標準の HH:mmZ- HH:mmZ 形式で時間を指定します。 有効値: 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。

有効な値: 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。

VSwitchId

String

いいえ

いいえ

vSwitch の ID。

なし。

Period

Integer

いいえ

いいえ

サブスクリプション期間。

  • PeriodType が Year に設定されている場合の有効値: 1 ~ 5。

  • PeriodType が Month に設定されている場合の有効値: 1、2、3、4、5、6、7、8、9、10、11、12、24、36、48、60。

PayType

String

はい

いいえ

新しいインスタンスの課金方法。

有効値:

  • Postpaid: 従量課金。

  • Prepaid: サブスクリプション。

DBInstanceStorageType

String

いいえ

はい

新しいインスタンスのストレージタイプ。

有効値:

  • local_ssd または ephemeral_ssd: ローカル SSD。

  • cloud_ssd: 標準 SSD。

  • cloud_essd: 企業向け SSD (ESSD)。

RestoreTable

String

いいえ

いいえ

データベースとテーブルを復元するかどうかを指定します。

値 1 は、データベースとテーブルが復元されることを指定します。その他の値は、データベースとテーブルが復元されないことを指定します。

MasterUserPassword

String

いいえ

はい

新しいインスタンスのデータベース管理アカウントのパスワード。

パスワードは 8 ~ 32 文字で、文字、数字、アンダースコア (_) を使用できます。

MasterUserType

String

いいえ

いいえ

データベース管理アカウントのタイプ。

有効値:

  • Normal (デフォルト): 標準アカウント。

  • Super: 特権アカウント。

  • Sysadmin: システム管理者アカウント。

    説明

    システム管理者アカウントは、SQL Server データベースのみをサポートしています。

VpcId

String

いいえ

いいえ

VPC の ID。

なし。

SSLSetting

String

いいえ

いいえ

新しいインスタンスの SSL 接続設定。

有効値:

  • Disabled (デフォルト): 新しいインスタンスの SSL 接続設定を無効にします。

  • EnabledForPublicConnection: 新しいインスタンスの SSL 接続設定を有効にします。SSL 証明書は、パブリックエンドポイントを保護するために使用されます。

    説明

    このプロパティを EnabledForPublicConnection に設定する場合は、AllocatePublicConnection を true に設定してください。

  • EnabledForInnerConnection: 新しいインスタンスの SSL 接続設定を有効にします。SSL 証明書はプライベートエンドポイントを保護するために使用されます。

MasterUsername

String

いいえ

はい

新しいインスタンスのデータベース管理アカウントのユーザー名。

ユーザー名は一意である必要があります。

ユーザー名は一意である必要があります。 最大 16 文字で、文字、数字、アンダースコア (_) を使用できます。文字で始める必要があります。

SQLCollectorStatus

String

いいえ

はい

SQL Explorer と Audit を有効にするかどうかを指定します。

有効値:

  • Enable

  • Disabled

BackupRetentionPeriod

Number

いいえ

はい

バックアップデータの保存期間。

有効な値: 7 ~ 30。

単位: 日。

有効値: 7 ~ 30。 単位: 日。 デフォルト値: 7。

TableMeta

List

いいえ

いいえ

復元するデータベースとテーブルに関する情報。

詳細については、「TableMeta プロパティ」をご参照ください。

DBMappings 構文

"DBMappings": [
  {
    "CharacterSetName": String,
    "DBDescription": String,
    "DBName": String
  }
]

DBMappings プロパティ

プロパティ

タイプ

必須

編集可能

説明

制約

CharacterSetName

String

はい

いいえ

文字セット。

  • MySQL を使用する場合の有効値:

    • utf8

    • gbk

    • latin1

    • utf8mb4 (バージョン 5.5 および 5.6 に適用)

  • SQL Server を使用する場合の有効値:

    • Chinese_PRC_CI_AS

    • Chinese_PRC_CS_AS

    • SQL_Latin1_General_CP1_CI_AS

    • SQL_Latin1_General_CP1_CS_AS

    • Chinese_PRC_BIN

DBName

String

はい

いいえ

データベースの名前。

名前は一意である必要があります。

名前は一意である必要があります。 最大 64 文字で、文字、数字、アンダースコア (_) を使用できます。文字で始める必要があります。

DBDescription

String

いいえ

いいえ

データベースの説明。

説明は 2 ~ 256 文字である必要があります。http:// または https:// で始めることはできません。文字、数字、アンダースコア (_)、ハイフン (-) を使用できます。

TableMeta 構文

"TableMeta": [
  {
    "Type": String,
    "Name": String,
    "NewName": String,
    "Tables": List
  }
]

TableMeta プロパティ

プロパティ

タイプ

必須

編集可能

説明

制約

Type

String

いいえ

いいえ

タイプ。

値を db に設定します。

Name

String

いいえ

いいえ

データベースの元の名前。

なし。

NewName

String

いいえ

いいえ

データベースの新しい名前。

なし。

Tables

List

いいえ

いいえ

復元するテーブル。

詳細については、「Tables プロパティ」をご参照ください。

Tables 構文

"Tables": [
  {
    "Type": String,
    "Name": String,
    "NewName": String
  }
]

Tables プロパティ

プロパティ

タイプ

必須

編集可能

説明

制約

Type

String

いいえ

いいえ

タイプ。

値を table に設定します。

Name

String

いいえ

いいえ

テーブルの元の名前。

なし。

NewName

String

いいえ

いいえ

テーブルの新しい名前。

なし。

戻り値

Fn::GetAtt

  • InnerConnectionString: 新しいインスタンスの内部エンドポイント。

  • DBInstanceId: 新しいインスタンスの ID。

  • InnerIPAddress: 新しいインスタンスのプライベート IP アドレス。

  • PublicConnectionString: 新しいインスタンスのパブリックエンドポイント。

  • PublicIPAddress: 新しいインスタンスのパブリック IP アドレス。

  • PublicPort: 新しいインスタンスのパブリックポート。

  • InnerPort: 新しいインスタンスの内部ポート。

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
 PeriodType:
  Type: String
  Description: 作成されるインスタンスの課金期間。
  AllowedValues:
   - Month
   - Year
  Default: Month
 Category:
  Type: String
  Description: |-
   インスタンスのエディション。有効値:
   Basic: Basic Edition を使用することを指定します。
   HighAvailability: High-Availability Edition を使用することを指定します。
   AlwaysOn: Cluster Edition を使用することを指定します。
   Finance: Enterprise Edition を使用することを指定します。
  AllowedValues:
   - Basic
   - HighAvailability
   - AlwaysOn
   - Finance
 PrivateIpAddress:
  Type: String
  Description: 作成されるインスタンスのプライベート IP。
 DedicatedHostGroupId:
  Type: String
  Description: >-
   ホストグループ内にインスタンスを作成する場合、インスタンスが属するホストグループの ID。
 Port:
  Type: Number
  Description: データベースサービスのポート。
  MinValue: 1
  MaxValue: 65535
 BackupId:
  Type: String
  Description: >-
   使用するバックアップセットの ID。

   DescribeBackups オペレーションを呼び出して、最新のバックアップセットリストをクエリできます。

   注 BackupId パラメーターと RestoreTime パラメーターの少なくとも 1 つを指定する必要があります。
 InstanceNetworkType:
  Type: String
  Description: |-
   新しいインスタンスのネットワークタイプ。有効値:
   - VPC
   - Classic
   デフォルト値は元のインスタンスのネットワークタイプです。
 RestoreTime:
  Type: String
  Description: >-
   元のインスタンスのデータを復元する時点。

   指定した時点は、指定したログバックアップの保存期間内である必要があります。

   時間は ISO 8601 標準の yyyy-MM-ddTHH:mm:ssZ 形式に従います。

   時間は UTC である必要があります。
 PreferredBackupPeriod:
  Type: CommaDelimitedList
  Description: >-
   バックアップ期間。複数の値はカンマ (,) で区切ります。デフォルト値は元の値です。有効値: 月曜日 火曜日 水曜日 木曜日 金曜日 土曜日 日曜日 注 BackupPolicyMode パラメーターが DataBackupPolicy に設定されている場合、このパラメーターは必須です。
 DbNames:
  Type: String
  Description: 新しいインスタンスに作成するデータベースの名前。
 DBInstanceId:
  Type: String
  Description: インスタンス ID
 SecurityIPList:
  Type: String
  Description: >-
   データベースインスタンスにアクセスするためのセキュリティ IP。カンマで結合します。0.0.0.0/0 は制限がないことを意味します。
 DBInstanceStorage:
  Type: Number
  Description: >-
   データベースインスタンスのストレージサイズ。mysql は [5,1000] です。sql server 2008r2 は [10,1000]、sql server 2012/2012_web/2016-web は [20,1000] です。PostgreSQL と PPAS は [5,2000] です。5 GB ごとに増加します。単位は GB です
 BackupType:
  Type: String
  Description: |-
   新しいインスタンスが使用するバックアップのタイプ。有効値:
   - FullBackup: 完全バックアップ
   - IncrementalBackup: 増分バックアップ
  AllowedValues:
   - FullBackup
   - IncrementalBackup
 DBMappings:
  Type: Json
  Description: DB インスタンスにアタッチするデータベースマッピング。
 ConnectionStringPrefix:
  Type: String
  Description: >-
   エンドポイントのプレフィックス。

   CurrentConnectionString パラメーター値のプレフィックスのみを変更できます。

   プレフィックスは 8 ~ 64 文字で、文字、数字、ハイフン (-) を使用できます。
  AllowedPattern: '[a-zA-Z0-9-]{8,64}'
 MaintainTime:
  Type: String
  Description: >-
   メンテナンスが実行される期間。形式は HH:mmZ-HH:mmZ です。
 Tags:
  Type: Json
  Description: >-
   インスタンスのタグ。

   タグの情報はキーと値の形式で入力する必要があります。例: {"key1":"value1","key2":"value2", ... "key5":"value5"}。

   最大 5 つのタグを指定できます。

   キー

   最大 64 文字まで使用できます。

   aliyun で始めることはできません。

   http:// または https:// で始めることはできません。

   null 文字列にすることはできません。

   値

   最大 128 文字まで使用できます。

   aliyun で始めることはできません。

   http:// または https:// で始めることはできません。

   null 文字列にすることができます。
 DBInstanceDescription:
  Type: String
  Description: 作成されるデータベースインスタンスの説明。
 ZoneId:
  Type: String
  Description: >-
   データベースインスタンスを作成するために選択されたゾーン。MultiAZ パラメーターが true に設定されている場合、ZoneId パラメーターを設定することはできません。
 SlaveZoneIds:
  Type: Json
  Description: >-
   スレーブゾーン ID のリスト。高可用性エディションまたはエンタープライズエディションのインスタンスを作成するときにスレーブゾーン ID を指定できます。また、VSwitchId は対応する vswitch ID をスレーブゾーンに順番に渡す必要があります。たとえば、ZoneId = "zone-a"、SlaveZoneIds = ["zone-c", "zone-b"] の場合、VSwitchId は "vsw-zone-a,vsw-zone-c,vsw-zone-b" である必要があります。もちろん、自動割り当てを選択することもできます。たとえば、ZoneId = "zone-a"、SlaveZoneIds = ["Auto", "Auto"] の場合、VSwitchId は "vsw-zone-a,Auto,Auto" である必要があります。リストには最大 2 つの slave zone id が含まれ、カンマで区切られます。
  MaxLength: 2
 DBInstanceClass:
  Type: String
  Description: >-
   データベースインスタンスタイプ。RDS データベースインスタンスタイプのリファレンスを参照してください。例: 'rds.mys2.large'、'rds.mss1.large'、'rds.pg.s1.small' など
 AllocatePublicConnection:
  Type: Boolean
  Description: 'true の場合、パブリック接続を自動的に割り当てます。'
  AllowedValues:
   - 'True'
   - 'true'
   - 'False'
   - 'false'
 PreferredBackupTime:
  Type: String
  Description: >-
   バックアップタスクが実行される時刻。形式: yyyy-MM-ddZ-HH:mm:ssZ。注 BackupPolicyMode パラメーターが DataBackupPolicy に設定されている場合、このパラメーターは必須です。
 VSwitchId:
  Type: String
  Description: >-
   作成されるインスタンスの vSwitch ID。VPC ネットワークの場合、このプロパティは必須です。
 SecurityGroupId:
  Type: String
  Description: |
   ECS セキュリティグループの ID。
   各 RDS インスタンスは最大 3 つの ECS セキュリティグループに関連付けることができます。
   それらをカンマ (,) で区切る必要があります。
   ECS セキュリティグループを削除するには、このパラメーターを空のままにします。
 Period:
  Type: Number
  Description: >-
   前払い時間。月単位で支払う場合、1 ~ 12、24、36、48、60 のいずれかになります。年単位で支払う場合、1 ~ 5 のいずれかになります。
  MinValue: 1
  MaxValue: 60
  Default: 1
 PayType:
  Type: String
  Description: 作成されるインスタンスの課金タイプ。
  AllowedValues:
   - Prepaid
   - Postpaid
  Default: Postpaid
 DBInstanceStorageType:
  Type: String
  Description: >-
   インスタンスのストレージタイプ。有効値:

   local_ssd: ローカル SSD を使用することを指定します。これは推奨されるストレージタイプです。

   cloud_ssd: 標準 SSD を使用することを指定します。

   cloud_essd: 拡張 SSD を使用することを指定します。
 ConnectionStringType:
  Type: String
  Description: 'インスタンスのエンドポイントタイプ。有効値: Inner、Public'
  AllowedValues:
   - Inner
   - Public
  Default: Inner
 RestoreTable:
  Type: String
  Description: >-
   特定のデータベースとテーブルを復元するかどうかを指定します。

   値 1 は、特定のデータベースとテーブルを復元することを指定します。

   特定のデータベースまたはテーブルを復元したくない場合は、このパラメーターを指定しないことを選択できます。
 MasterUserPassword:
  Type: String
  Description: 'データベースインスタンスのマスターパスワード。'
  MinLength: 8
  MaxLength: 32
 MasterUserType:
  Type: String
  Description: |-
   アカウントの権限タイプ。
   Normal: 共通権限。
   Super: 高い権限。
   Sysadmin: スーパー権限 (SA) (SQL Server でのみサポート)
   デフォルト値は Normal です。
  AllowedValues:
   - Normal
   - Super
   - Sysadmin
  Default: Normal
 VpcId:
  Type: String
  Description: >-
   作成されるデータベースインスタンスの VPC ID。VPC ネットワークの場合、このプロパティは必須です。
 SSLSetting:
  Type: String
  Description: >-
   インスタンスの Secure Sockets Layer (SSL) リンク設定。有効値:

   Disabled: SSL を無効にします

   EnabledForPublicConnection: パブリック接続アドレスは SSL 証明書によって保護されます。AllocatePublicConnection が true である必要があります。

   EnabledForInnerConnection: プライベート接続アドレスは SSL 証明書によって保護されます。

   デフォルト値は Disabled です。
  AllowedValues:
   - Disabled
   - EnabledForPublicConnection
   - EnabledForInnerConnection
  Default: Disabled
 MasterUsername:
  Type: String
  Description: 'データベースインスタンスのマスターユーザー名。'
 SQLCollectorStatus:
  Type: String
  Description: >-
   SQL Explorer (SQL 監査) 機能を有効にするか無効にするかを指定します。

   有効値: 有効 | 無効。
  AllowedValues:
   - Enable
   - Disabled
 BackupRetentionPeriod:
  Type: Number
  Description: >-
   データバックアップの保存期間。値の範囲: 7 ~ 730。デフォルト値は元の値です。注 BackupPolicyMode パラメーターが LogBackupPolicy に設定されている場合、このパラメーターは必須です。
  Default: 7
 TableMeta:
  Type: Json
  Description: 復元するデータベースとテーブルに関する情報。
 TimeoutInMinutes:
  Type: Number
  Description: >-
   クローンインスタンスリソースを作成するためのタイムアウト期間。単位: 分。デフォルト: 120。
  AllowedValues:
   - 30
   - 60
   - 90
   - 120
   - 150
   - 180
   - 210
   - 240
   - 270
   - 300
   - 330
   - 360
  Default: 120
Resources:
 DbInstanceClone:
  Type: 'ALIYUN::RDS::DBInstanceClone'
  Properties:
   PeriodType:
    Ref: PeriodType
   Category:
    Ref: Category
   PrivateIpAddress:
    Ref: PrivateIpAddress
   DedicatedHostGroupId:
    Ref: DedicatedHostGroupId
   Port:
    Ref: Port
   BackupId:
    Ref: BackupId
   InstanceNetworkType:
    Ref: InstanceNetworkType
   RestoreTime:
    Ref: RestoreTime
   PreferredBackupPeriod:
    Ref: PreferredBackupPeriod
   DbNames:
    Ref: DbNames
   DBInstanceId:
    Ref: DBInstanceId
   SecurityIPList:
    Ref: SecurityIPList
   DBInstanceStorage:
    Ref: DBInstanceStorage
   BackupType:
    Ref: BackupType
   DBMappings:
    Ref: DBMappings
   ConnectionStringPrefix:
    Ref: ConnectionStringPrefix
   MaintainTime:
    Ref: MaintainTime
   Tags:
    Ref: Tags
   DBInstanceDescription:
    Ref: DBInstanceDescription
   ZoneId:
    Ref: ZoneId
   SlaveZoneIds:
    Ref: SlaveZoneIds
   DBInstanceClass:
    Ref: DBInstanceClass
   AllocatePublicConnection:
    Ref: AllocatePublicConnection
   PreferredBackupTime:
    Ref: PreferredBackupTime
   VSwitchId:
    Ref: VSwitchId
   SecurityGroupId:
    Ref: SecurityGroupId
   Period:
    Ref: Period
   PayType:
    Ref: PayType
   DBInstanceStorageType:
    Ref: DBInstanceStorageType
   ConnectionStringType:
    Ref: ConnectionStringType
   RestoreTable:
    Ref: RestoreTable
   MasterUserPassword:
    Ref: MasterUserPassword
   MasterUserType:
    Ref: MasterUserType
   VpcId:
    Ref: VpcId
   SSLSetting:
    Ref: SSLSetting
   MasterUsername:
    Ref: MasterUsername
   SQLCollectorStatus:
    Ref: SQLCollectorStatus
   BackupRetentionPeriod:
    Ref: BackupRetentionPeriod
   TableMeta:
    Ref: TableMeta
   TimeoutInMinutes:
    Ref: TimeoutInMinutes
Outputs:
 InnerConnectionString:
  Description: イントラネットによる DB インスタンス接続 URL。
  Value:
   'Fn::GetAtt':
    - DbInstanceClone
    - InnerConnectionString
 DBInstanceId:
  Description: 作成されたデータベースインスタンスのインスタンス ID。
  Value:
   'Fn::GetAtt':
    - DbInstanceClone
    - DBInstanceId
 InnerIPAddress:
  Description: イントラネットの、作成された DB インスタンスの IP アドレス。
  Value:
   'Fn::GetAtt':
    - DbInstanceClone
    - InnerIPAddress
 PublicConnectionString:
  Description: インターネットによる DB インスタンス接続 URL。
  Value:
   'Fn::GetAtt':
    - DbInstanceClone
    - PublicConnectionString
 PublicIPAddress:
  Description: インターネットの、作成された DB インスタンスの IP アドレス。
  Value:
   'Fn::GetAtt':
    - DbInstanceClone
    - PublicIPAddress
 PublicPort:
  Description: 作成された DB インスタンスのインターネットポート。
  Value:
   'Fn::GetAtt':
    - DbInstanceClone
    - PublicPort
 InnerPort:
  Description: 作成された DB インスタンスのイントラネットポート。
  Value:
   'Fn::GetAtt':
    - DbInstanceClone
    - InnerPort
{
 "ROSTemplateFormatVersion": "2015-09-01",
 "Parameters": {
  "PeriodType": {
   "Type": "String",
   "Description": "作成されるインスタンスの課金期間。",
   "AllowedValues": [
    "Month",
    "Year"
   ],
   "Default": "Month"
  },
  "Category": {
   "Type": "String",
   "Description": "インスタンスのエディション。有効値:\nBasic: Basic Edition を使用することを指定します。\nHighAvailability: High-Availability Edition を使用することを指定します。\nAlwaysOn: Cluster Edition を使用することを指定します。\nFinance: Enterprise Edition を使用することを指定します。",
   "AllowedValues": [
    "Basic",
    "HighAvailability",
    "AlwaysOn",
    "Finance"
   ]
  },
  "PrivateIpAddress": {
   "Type": "String",
   "Description": "作成されるインスタンスのプライベート IP。"
  },
  "DedicatedHostGroupId": {
   "Type": "String",
   "Description": "ホストグループ内にインスタンスを作成する場合、インスタンスが属するホストグループの ID。"
  },
  "Port": {
   "Type": "Number",
   "Description": "データベースサービスのポート。",
   "MinValue": 1,
   "MaxValue": 65535
  },
  "BackupId": {
   "Type": "String",
   "Description": "使用するバックアップセットの ID。\nDescribeBackups オペレーションを呼び出して、最新のバックアップセットリストをクエリできます。\n注 BackupId パラメーターと RestoreTime パラメーターの少なくとも 1 つを指定する必要があります。"
  },
  "InstanceNetworkType": {
   "Type": "String",
   "Description": "新しいインスタンスのネットワークタイプ。有効値:\n- VPC\n- Classic\nデフォルト値は元のインスタンスのネットワークタイプです。"
  },
  "RestoreTime": {
   "Type": "String",
   "Description": "元のインスタンスのデータを復元する時点。\n指定した時点は、指定したログバックアップの保存期間内である必要があります。\n時間は ISO 8601 標準の yyyy-MM-ddTHH:mm:ssZ 形式に従います。\n時間は UTC である必要があります。"
  },
  "PreferredBackupPeriod": {
   "Type": "CommaDelimitedList",
   "Description": "バックアップ期間。複数の値はカンマ (,) で区切ります。デフォルト値は元の値です。有効値: 月曜日 火曜日 水曜日 木曜日 金曜日 土曜日 日曜日 注 BackupPolicyMode パラメーターが DataBackupPolicy に設定されている場合、このパラメーターは必須です。"
  },
  "DbNames": {
   "Type": "String",
   "Description": "新しいインスタンスに作成するデータベースの名前。"
  },
  "DBInstanceId": {
   "Type": "String",
   "Description": "インスタンス ID"
  },
  "SecurityIPList": {
   "Type": "String",
   "Description": "データベースインスタンスにアクセスするためのセキュリティ IP。カンマで結合します。0.0.0.0/0 は制限がないことを意味します。"
  },
  "DBInstanceStorage": {
   "Type": "Number",
   "Description": "データベースインスタンスのストレージサイズ。mysql は [5,1000] です。sql server 2008r2 は [10,1000]、sql server 2012/2012_web/2016-web は [20,1000] です。PostgreSQL と PPAS は [5,2000] です。5 GB ごとに増加します。単位は GB です"
  },
  "BackupType": {
   "Type": "String",
   "Description": "新しいインスタンスが使用するバックアップのタイプ。有効値:\n- FullBackup: 完全バックアップ\n- IncrementalBackup: 増分バックアップ",
   "AllowedValues": [
    "FullBackup",
    "IncrementalBackup"
   ]
  },
  "DBMappings": {
   "Type": "Json",
   "Description": "DB インスタンスにアタッチするデータベースマッピング。"
  },
  "ConnectionStringPrefix": {
   "Type": "String",
   "Description": "エンドポイントのプレフィックス。\nCurrentConnectionString パラメーター値のプレフィックスのみを変更できます。\nプレフィックスは 8 ~ 64 文字で、文字、数字、ハイフン (-) を使用できます。",
   "AllowedPattern": "[a-zA-Z0-9-]{8,64}"
  },
  "MaintainTime": {
   "Type": "String",
   "Description": "メンテナンスが実行される期間。形式は HH:mmZ-HH:mmZ です。"
  },
  "Tags": {
   "Type": "Json",
   "Description": "インスタンスのタグ。\nタグの情報はキーと値の形式で入力する必要があります。例: {\"key1\":\"value1\",\"key2\":\"value2\", ... \"key5\":\"value5\"}\n最大 5 つのタグを指定できます。\nキー\n最大 64 文字まで使用できます。\naliyun で始めることはできません。\nhttp:// または https:// で始めることはできません。\nnull 文字列にすることはできません。\n値\n最大 128 文字まで使用できます。\naliyun で始めることはできません。\nhttp:// または https:// で始めることはできません。\nnull 文字列にすることができます。"
  },
  "DBInstanceDescription": {
   "Type": "String",
   "Description": "作成されるデータベースインスタンスの説明。"
  },
  "ZoneId": {
   "Type": "String",
   "Description": "データベースインスタンスを作成するために選択されたゾーン。MultiAZ パラメーターが true に設定されている場合、ZoneId パラメーターを設定することはできません。"
  },
  "SlaveZoneIds": {
   "Type": "Json",
   "Description": "スレーブゾーン ID のリスト。高可用性エディションまたはエンタープライズエディションのインスタンスを作成するときにスレーブゾーン ID を指定できます。また、VSwitchId は対応する vswitch ID をスレーブゾーンに順番に渡す必要があります。たとえば、ZoneId = \"zone-a\"、SlaveZoneIds = [\"zone-c\", \"zone-b\"] の場合、VSwitchId は \"vsw-zone-a,vsw-zone-c,vsw-zone-b\" である必要があります。もちろん、自動割り当てを選択することもできます。たとえば、ZoneId = \"zone-a\"、SlaveZoneIds = [\"Auto\", \"Auto\"] の場合、VSwitchId は \"vsw-zone-a,Auto,Auto\" である必要があります。リストには最大 2 つの slave zone id が含まれ、カンマで区切られます。",
   "MaxLength": 2
  },
  "DBInstanceClass": {
   "Type": "String",
   "Description": "データベースインスタンスタイプ。RDS データベースインスタンスタイプのリファレンスを参照してください。例: 'rds.mys2.large'、'rds.mss1.large'、'rds.pg.s1.small' など"
  },
  "AllocatePublicConnection": {
   "Type": "Boolean",
   "Description": "true の場合、パブリック接続を自動的に割り当てます。",
   "AllowedValues": [
    "True",
    "true",
    "False",
    "false"
   ]
  },
  "PreferredBackupTime": {
   "Type": "String",
   "Description": "バックアップタスクが実行される時刻。形式: yyyy-MM-ddZ-HH:mm:ssZ。注 BackupPolicyMode パラメーターが DataBackupPolicy に設定されている場合、このパラメーターは必須です。"
  },
  "VSwitchId": {
   "Type": "String",
   "Description": "作成されるインスタンスの vSwitch ID。VPC ネットワークの場合、このプロパティは必須です。"
  },
  "SecurityGroupId": {
   "Type": "String",
   "Description": "ECS セキュリティグループの ID。\n各 RDS インスタンスは最大 3 つの ECS セキュリティグループに関連付けることができます。\nそれらをカンマ (,) で区切る必要があります。\nECS セキュリティグループを削除するには、このパラメーターを空のままにします。"
  },
  "Period": {
   "Type": "Number",
   "Description": "前払い時間。月単位で支払う場合、1 ~ 12、24、36、48、60 のいずれかになります。年単位で支払う場合、1 ~ 5 のいずれかになります。",
   "MinValue": 1,
   "MaxValue": 60,
   "Default": 1
  },
  "PayType": {
   "Type": "String",
   "Description": "作成されるインスタンスの課金タイプ。",
   "AllowedValues": [
    "Prepaid",
    "Postpaid"
   ],
   "Default": "Postpaid"
  },
  "DBInstanceStorageType": {
   "Type": "String",
   "Description": "インスタンスのストレージタイプ。有効値:\nlocal_ssd: ローカル SSD を使用することを指定します。これは推奨されるストレージタイプです。\ncloud_ssd: 標準 SSD を使用することを指定します。\ncloud_essd: 拡張 SSD を使用することを指定します。"
  },
  "ConnectionStringType": {
   "Type": "String",
   "Description": "インスタンスのエンドポイントタイプ。有効値: Inner、Public",
   "AllowedValues": [
    "Inner",
    "Public"
   ],
   "Default": "Inner"
  },
  "RestoreTable": {
   "Type": "String",
   "Description": "特定のデータベースとテーブルを復元するかどうかを指定します。\n値 1 は、特定のデータベースとテーブルを復元することを指定します。\n特定のデータベースまたはテーブルを復元したくない場合は、このパラメーターを指定しないことを選択できます。"
  },
  "MasterUserPassword": {
   "Type": "String",
   "Description": "データベースインスタンスのマスターパスワード。",
   "MinLength": 8,
   "MaxLength": 32
  },
  "MasterUserType": {
   "Type": "String",
   "Description": "アカウントの権限タイプ。\nNormal: 共通権限。\nSuper: 高い権限。\nSysadmin: スーパー権限 (SA) (SQL Server でのみサポート)\nデフォルト値は Normal です。",
   "AllowedValues": [
    "Normal",
    "Super",
    "Sysadmin"
   ],
   "Default": "Normal"
  },
  "VpcId": {
   "Type": "String",
   "Description": "作成されるデータベースインスタンスの VPC ID。VPC ネットワークの場合、このプロパティは必須です。"
  },
  "SSLSetting": {
   "Type": "String",
   "Description": "インスタンスの Secure Sockets Layer (SSL) リンク設定。有効値:\nDisabled: SSL を無効にします\nEnabledForPublicConnection: パブリック接続アドレスは SSL 証明書によって保護されます。AllocatePublicConnection が true である必要があります。\nEnabledForInnerConnection: プライベート接続アドレスは SSL 証明書によって保護されます。\nデフォルト値は Disabled です。",
   "AllowedValues": [
    "Disabled",
    "EnabledForPublicConnection",
    "EnabledForInnerConnection"
   ],
   "Default": "Disabled"
  },
  "MasterUsername": {
   "Type": "String",
   "Description": "データベースインスタンスのマスターユーザー名。"
  },
  "SQLCollectorStatus": {
   "Type": "String",
   "Description": "SQL Explorer (SQL 監査) 機能を有効にするか無効にするかを指定します。\n有効値: 有効 | 無効。",
   "AllowedValues": [
    "Enable",
    "Disabled"
   ]
  },
  "BackupRetentionPeriod": {
   "Type": "Number",
   "Description": "データバックアップの保存期間。値の範囲: 7 ~ 730。デフォルト値は元の値です。注 BackupPolicyMode パラメーターが LogBackupPolicy に設定されている場合、このパラメーターは必須です。",
   "Default": 7
  },
  "TableMeta": {
   "Type": "Json",
   "Description": "復元するデータベースとテーブルに関する情報。"
  },
  "TimeoutInMinutes": {
   "Type": "Number",
   "Description": "クローンインスタンスリソースを作成するためのタイムアウト期間。単位: 分。デフォルト: 120。",
   "AllowedValues": [
    30,
    60,
    90,
    120,
    150,
    180,
    210,
    240,
    270,
    300,
    330,
    360
   ],
   "Default": 120
  }
 },
 "Resources": {
  "DbInstanceClone": {
   "Type": "ALIYUN::RDS::DBInstanceClone",
   "Properties": {
    "PeriodType": {
     "Ref": "PeriodType"
    },
    "Category": {
     "Ref": "Category"
    },
    "PrivateIpAddress": {
     "Ref": "PrivateIpAddress"
    },
    "DedicatedHostGroupId": {
     "Ref": "DedicatedHostGroupId"
    },
    "Port": {
     "Ref": "Port"
    },
    "BackupId": {
     "Ref": "BackupId"
    },
    "InstanceNetworkType": {
     "Ref": "InstanceNetworkType"
    },
    "RestoreTime": {
     "Ref": "RestoreTime"
    },
    "PreferredBackupPeriod": {
     "Ref": "PreferredBackupPeriod"
    },
    "DbNames": {
     "Ref": "DbNames"
    },
    "DBInstanceId": {
     "Ref": "DBInstanceId"
    },
    "SecurityIPList": {
     "Ref": "SecurityIPList"
    },
    "DBInstanceStorage": {
     "Ref": "DBInstanceStorage"
    },
    "BackupType": {
     "Ref": "BackupType"
    },
    "DBMappings": {
     "Ref": "DBMappings"
    },
    "ConnectionStringPrefix": {
     "Ref": "ConnectionStringPrefix"
    },
    "MaintainTime": {
     "Ref": "MaintainTime"
    },
    "Tags": {
     "Ref": "Tags"
    },
    "DBInstanceDescription": {
     "Ref": "DBInstanceDescription"
    },
    "ZoneId": {
     "Ref": "ZoneId"
    },
    "SlaveZoneIds": {
     "Ref": "SlaveZoneIds"
    },
    "DBInstanceClass": {
     "Ref": "DBInstanceClass"
    },
    "AllocatePublicConnection": {
     "Ref": "AllocatePublicConnection"
    },
    "PreferredBackupTime": {
     "Ref": "PreferredBackupTime"
    },
    "VSwitchId": {
     "Ref": "VSwitchId"
    },
    "SecurityGroupId": {
     "Ref": "SecurityGroupId"
    },
    "Period": {
     "Ref": "Period"
    },
    "PayType": {
     "Ref": "PayType"
    },
    "DBInstanceStorageType": {
     "Ref": "DBInstanceStorageType"
    },
    "ConnectionStringType": {
     "Ref": "ConnectionStringType"
    },
    "RestoreTable": {
     "Ref": "RestoreTable"
    },
    "MasterUserPassword": {
     "Ref": "MasterUserPassword"
    },
    "MasterUserType": {
     "Ref": "MasterUserType"
    },
    "VpcId": {
     "Ref": "VpcId"
    },
    "SSLSetting": {
     "Ref": "SSLSetting"
    },
    "MasterUsername": {
     "Ref": "MasterUsername"
    },
    "SQLCollectorStatus": {
     "Ref": "SQLCollectorStatus"
    },
    "BackupRetentionPeriod": {
     "Ref": "BackupRetentionPeriod"
    },
    "TableMeta": {
     "Ref": "TableMeta"
    },
    "TimeoutInMinutes": {
     "Ref": "TimeoutInMinutes"
    }
   }
  }
 },
 "Outputs": {
  "InnerConnectionString": {
   "Description": "イントラネットによる DB インスタンス接続 URL。",
   "Value": {
    "Fn::GetAtt": [
     "DbInstanceClone",
     "InnerConnectionString"
    ]
   }
  },
  "DBInstanceId": {
   "Description": "作成されたデータベースインスタンスのインスタンス ID。",
   "Value": {
    "Fn::GetAtt": [
     "DbInstanceClone",
     "DBInstanceId"
    ]
   }
  },
  "InnerIPAddress": {
   "Description": "イントラネットの、作成された DB インスタンスの IP アドレス。",
   "Value": {
    "Fn::GetAtt": [
     "DbInstanceClone",
     "InnerIPAddress"
    ]
   }
  },
  "PublicConnectionString": {
   "Description": "インターネットによる DB インスタンス接続 URL。",
   "Value": {
    "Fn::GetAtt": [
     "DbInstanceClone",
     "PublicConnectionString"
    ]
   }
  },
  "PublicIPAddress": {
   "Description": "インターネットの、作成された DB インスタンスの IP アドレス。",
   "Value": {
    "Fn::GetAtt": [
     "DbInstanceClone",
     "PublicIPAddress"
    ]
   }
  },
  "PublicPort": {
   "Description": "作成された DB インスタンスのインターネットポート。",
   "Value": {
    "Fn::GetAtt": [
     "DbInstanceClone",
     "PublicPort"
    ]
   }
  },
  "InnerPort": {
   "Description": "作成された DB インスタンスのイントラネットポート。",
   "Value": {
    "Fn::GetAtt": [
     "DbInstanceClone",
     "InnerPort"
    ]
   }
  }
 }
}