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

Resource Orchestration Service:ALIYUN::REDIS::Whitelist

最終更新日:Feb 07, 2026

ALIYUN::REDIS::Whitelist タイプは、Redis インスタンスの IP ホワイトリストを設定します。

構文

{
  "Type": "ALIYUN::REDIS::Whitelist",
  "Properties": {
    "InstanceId": String,
    "SecurityIpGroupName": String,
    "SecurityIpGroupAttribute": String,
    "SecurityIps": String
  }
}

プロパティ

プロパティ名

タイプ

必須

更新可能

説明

制約

InstanceId

String

はい

いいえ

Redis インスタンス ID(グローバルに一意)。

なし

SecurityIpGroupName

String

いいえ

いいえ

ホワイトリストグループ名。デフォルト値:default。

なし

SecurityIpGroupAttribute

String

いいえ

いいえ

ホワイトリストグループの属性値。デフォルトは空です。コンソールでは、属性値が hidden のホワイトリストグループは表示されません。

なし

SecurityIps

String

はい

はい

IP ホワイトリストグループ内の IP アドレスリスト。IP アドレスは半角カンマで区切ります。形式例:0.0.0.0/0、10.23.12.24、または 10.23.12.24/24(CIDR (Classless Inter-Domain Routing) 形式。/24 はアドレス中のプレフィックス長を示し、1 ~ 32 の範囲です)。

最大 1000

戻り値

Fn::GetAtt

  • SecurityIpGroupName:ホワイトリストグループ名

  • SecurityIpGroupAttribute:ホワイトリストグループの属性値

  • SecurityIps:IP アドレスホワイトリスト

シナリオ 1:Redis の IP ホワイトリストを追加する

クイック作成

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  InstanceId:
    Type: String
    Description: Redis インスタンス ID(グローバルに一意)
    AssociationProperty: ALIYUN::Redis::Instance::InstanceId
Resources:
  Whitelist:
    Type: ALIYUN::REDIS::Whitelist
    Properties:
      InstanceId:
        Ref: InstanceId
      SecurityIpGroupName: ros
      SecurityIpGroupAttribute: show
      SecurityIps: 0.0.0.0/0
Outputs:
  SecurityIpGroupName:
    Description: ホワイトリストグループ名
    Value:
      Fn::GetAtt:
        - Whitelist
        - SecurityIpGroupName
  SecurityIpGroupAttribute:
    Description: ホワイトリストグループの属性値
    Value:
      Fn::GetAtt:
        - Whitelist
        - SecurityIpGroupAttribute
  SecurityIps:
    Description: IP アドレスホワイトリスト
    Value:
      Fn::GetAtt:
        - Whitelist
        - SecurityIps
{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
    "InstanceId": {
      "Type": "String",
      "Description": "Redis インスタンス ID(グローバルに一意)",
      "AssociationProperty": "ALIYUN::Redis::Instance::InstanceId"
    }
  },
  "Resources": {
    "Whitelist": {
      "Type": "ALIYUN::REDIS::Whitelist",
      "Properties": {
        "InstanceId": {
          "Ref": "InstanceId"
        },
        "SecurityIpGroupName": "ros",
        "SecurityIpGroupAttribute": "show",
        "SecurityIps": "0.0.0.0/0"
      }
    }
  },
  "Outputs": {
    "SecurityIpGroupName": {
      "Description": "ホワイトリストグループ名",
      "Value": {
        "Fn::GetAtt": [
          "Whitelist",
          "SecurityIpGroupName"
        ]
      }
    },
    "SecurityIpGroupAttribute": {
      "Description": "ホワイトリストグループの属性値",
      "Value": {
        "Fn::GetAtt": [
          "Whitelist",
          "SecurityIpGroupAttribute"
        ]
      }
    },
    "SecurityIps": {
      "Description": "IP アドレスホワイトリスト",
      "Value": {
        "Fn::GetAtt": [
          "Whitelist",
          "SecurityIps"
        ]
      }
    }
  }
}

シナリオ 2:Redis インスタンスを作成し、IP ホワイトリストを追加する

クイック作成

ROSTemplateFormatVersion: '2015-09-01'
Description: {}
Parameters:
  VpcId:
    Type: String
    AssociationProperty: ALIYUN::ECS::VPC::VPCId
  ZoneId:
    Type: String
    Description: インスタンスを作成する前に、利用可能なゾーンが Redis リソースの仕様をサポートしていることを確認してください。
    AssociationProperty: ALIYUN::ECS::Instance:ZoneId
    Label: ゾーン ID
  VSwitchId:
    Type: String
    AssociationProperty: ALIYUN::ECS::VSwitch::VSwitchId
    AssociationPropertyMetadata:
      VpcId: ${VpcId}
      ZoneId: ${ZoneId}
Resources:
  RedisInstance:
    Type: ALIYUN::REDIS::Instance
    Properties:
      VpcId:
        Ref: VpcId
      VSwitchId:
        Ref: VSwitchId
      InstanceClass: redis.master.small.default
      EvictionPolicy: noeviction
      ZoneId:
        Ref: ZoneId
      InstanceName: DefaultRedis
      Password: Admin@123!
  REDISWhitelist:
    Type: ALIYUN::REDIS::Whitelist
    Properties:
      InstanceId:
        Ref: RedisInstance
      SecurityIps: 192.168.0.0/16
Outputs:
  InstanceId:
    Value:
      Fn::GetAtt:
        - RedisInstance
        - InstanceId                     
{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Description": {},
  "Parameters": {
    "VpcId": {
      "Type": "String",
      "AssociationProperty": "ALIYUN::ECS::VPC::VPCId"
    },
    "ZoneId": {
      "Type": "String",
      "Description": {
        "zh-cn": "インスタンスを作成する前に、利用可能なゾーンが Redis リソースの仕様をサポートしていることを確認してください。",
        "en": "Before you create an instance, confirm that the Availability Zone supports the specifications of Redis resources."
      },
      "AssociationProperty": "ALIYUN::ECS::Instance:ZoneId",
      "Label": {
        "en": "Zone ID",
        "zh-cn": "ゾーン"
      }
    },
    "VSwitchId": {
      "Type": "String",
      "AssociationProperty": "ALIYUN::ECS::VSwitch::VSwitchId",
      "AssociationPropertyMetadata": {
        "VpcId": "${VpcId}",
        "ZoneId": "${ZoneId}"
      }
    }
  },
  "Resources": {
    "RedisInstance": {
      "Type": "ALIYUN::REDIS::Instance",
      "Properties": {
        "VpcId": {
          "Ref": "VpcId"
        },
        "VSwitchId": {
          "Ref": "VSwitchId"
        },
        "InstanceClass": "redis.master.small.default",
        "EvictionPolicy": "noeviction",
        "ZoneId": {
          "Ref": "ZoneId"
        },
        "InstanceName": "DefaultRedis",
        "Password": "Admin@123!"
      }
    },
    "REDISWhitelist": {
      "Type": "ALIYUN::REDIS::Whitelist",
      "Properties": {
        "InstanceId": {
          "Ref": "RedisInstance"
        },
        "SecurityIps": "192.168.0.0/16"
      }
    }
  },
  "Outputs": {
    "InstanceId": {
      "Value": {
        "Fn::GetAtt": [
          "RedisInstance",
          "InstanceId"
        ]
      }
    }
  }
}

シナリオ 3:DTS を使用して MySQL と Redis 間でキャッシュ同期を実現する

クイック作成

ROSTemplateFormatVersion: '2015-09-01'
Description:
  zh-cn: このテンプレートは DTS を使用して MySQL と Redis 間でキャッシュ同期を実現します。VPC、ECS、RDS、および Redis インスタンスの作成とセキュリティ構成、およびデータ整合性を確保するための使用者グループの確立を含みます。
  en: This template achieves cache synchronization between MySQL and Redis via DTS, encompassing the creation and security configuration of VPC, ECS, RDS, and Redis instances, alongside the establishment of consumer groups to ensure data consistency.
Parameters:
  ZoneId:
    Type: String
    Label:
      en: VSwitch Availability Zone
      zh-cn: VSwitch 利用可能ゾーン
    AssociationProperty: ALIYUN::ECS::Instance::ZoneId
  RDSDBUser:
    Type: String
    Label:
      en: RDS DB Username
      zh-cn: RDS データベースユーザー名
    Description:
      en: データベースのユーザー名。
      zh-cn: データベースのユーザー名。
    ConstraintDescription:
      en: 小文字とアンダースコア (_) からなる 2 ~ 16 文字。先頭は英字、末尾は英数字でなければなりません。
      zh-cn: 小文字とアンダースコア (_) からなる 2 ~ 16 文字。先頭は英字、末尾は英数字でなければなりません。
    Default: demouser123
    MinLength: 2
    MaxLength: 16
  DbName:
    Type: String
    Label:
      en: RDS DB Name
      zh-cn: RDS データベース名
    ConstraintDescription:
      en: 小文字とアンダースコア (_) からなる 2 ~ 16 文字。先頭は英字、末尾は英数字でなければなりません。
      zh-cn: 小文字とアンダースコア (_) からなる 2 ~ 16 文字。先頭は英字、末尾は英数字でなければなりません。
    Default: demodb
    Required: true
    MinLength: 2
    MaxLength: 16
  RDSDBPassword:
    Type: String
    Label:
      en: RDS DB Password
      zh-cn: RDS データベースパスワード
    Description:
      en: 'RDS データベースパスワードは、英字、数字、アンダースコア (_) からなり、8 ~ 32 文字で、3 種類以上の異なる文字種を含む必要があります。'
      zh-cn: 'RDS データベースパスワードは、英字、数字、アンダースコア (_) からなり、8 ~ 32 文字で、3 種類以上の異なる文字種を含む必要があります。'
    ConstraintDescription:
      en: '英字、数字、アンダースコア (_) からなり、8 ~ 32 文字です。'
      zh-cn: '英字、数字、アンダースコア (_) からなり、8 ~ 32 文字です。'
    AssociationProperty: ALIYUN::RDS::Instance::AccountPassword
    MinLength: 8
    MaxLength: 32
    NoEcho: true
  DBInstanceClass:
    Type: String
    Label:
      en: Instance Class
      zh-cn: インスタンスタイプ
    AssociationProperty: ALIYUN::RDS::Instance::InstanceType
    AssociationPropertyMetadata:
      ZoneId: ${ZoneId}
      EngineVersion: "8.0"
      Engine: MySQL
      Category: HighAvailability
      DBInstanceStorageType: cloud_essd
      CommodityCode: bards
    Default: mysql.x4.medium.2c
  DtsJobName:
    Type: String
    Label:
      en: DTS Job Name
      zh-cn: DTS ジョブ名
    Description:
      en: 識別しやすいように、サービスに意味のある名前(一意である必要はありません)を設定することを推奨します。
      zh-cn: 識別しやすいように、サービスに意味のある名前(一意である必要はありません)を設定することを推奨します。
    Default: mysql2redis_dts
  RedisInstanceClass:
    Type: String
    Label:
      en: Tair Specifications
      zh-cn: Tair 仕様
    Description:
      en: <font color='blue'>モデルを選択する前に、現在の利用可能ゾーンで在庫があるか確認してください。テストコストを抑えるため、メモリ 2 GB のモデル(例:tair.rdb.2g)の使用を推奨します。</font>詳細については、<a href='https://www.alibabacloud.com/help/redis/product-overview/enhanced-performance' target='_blank'><font color='red'>仕様照会</font></a>をご参照ください。
      zh-cn: <font color='blue'>モデルを選択する前に、現在の利用可能ゾーンで在庫があるか確認してください。テストコストを抑えるため、メモリ 2 GB のモデル(例:tair.rdb.2g)の使用を推奨します。</font>詳細については、<a href='https://www.alibabacloud.com/help/redis/product-overview/enhanced-performance' target='_blank'><font color='red'>仕様照会</font></a>をご参照ください。
    AssociationProperty: ALIYUN::REDIS::Instance::InstanceClass
    AssociationPropertyMetadata:
      Engine: Redis
      ProductType: Tair_rdb
      InstanceChargeType: PostPaid
      ZoneId: ${ZoneId1}
      OrderType: BUY
    Default: tair.rdb.2g
  RedisPassword:
    Type: String
    Label:
      en: Instance Password
      zh-cn: インスタンスパスワード
    Description:
      en: '8 ~ 32 文字。大文字、小文字、数字、および以下の特殊文字を含めることができます:! @ # $ % ^ & * ( ) _ + - ='
      zh-cn: '8 ~ 32 文字。大文字、小文字、数字、および以下の特殊文字を含めることができます:! @ # $ % ^ & * ( ) _ + - ='
    ConstraintDescription:
      en: '8 ~ 32 文字。大文字、小文字、数字、および以下の特殊文字を含めることができます:! @ # $ % ^ & * ( ) _ + - ='
      zh-cn: '8 ~ 32 文字。大文字、小文字、数字、および以下の特殊文字を含めることができます:! @ # $ % ^ & * ( ) _ + - ='
    MinLength: '8'
    MaxLength: '32'
    NoEcho: true
Resources:
  Vpc:
    Type: ALIYUN::ECS::VPC
    Properties:
      CidrBlock: 192.168.0.0/16
  VSwitch:
    Type: ALIYUN::ECS::VSwitch
    Properties:
      ZoneId:
        Ref: ZoneId
      VpcId:
        Ref: Vpc
      VSwitchName:
        Fn::Join:
          - '-'
          - - VSwitch
            - StackId
            - Ref: ALIYUN::StackId
      CidrBlock: 192.168.0.0/24
  RdsDBInstance:
    Type: ALIYUN::RDS::DBInstance
    Properties:
      ZoneId:
        Ref: ZoneId
      VpcId:
        Ref: Vpc
      VSwitchId:
        Ref: VSwitch
      DBInstanceClass:
        Ref: DBInstanceClass
      DBInstanceStorage: 100
      Engine: MySQL
      EngineVersion: "8.0"
      MasterUserPassword:
        Ref: RDSDBPassword
      MasterUserType: Super
      MasterUsername:
        Ref: RDSDBUser
      DBMappings:
        - CharacterSetName: utf8mb4
          DBName:
            Ref: DbName
      Category: HighAvailability
      DBInstanceStorageType: cloud_essd
      SecurityIPList: 192.168.0.0/16
      SlaveZoneIds:
        - Ref: ZoneId
  RedisInstance:
    Type: ALIYUN::REDIS::Instance
    Properties:
      ZoneId:
        Ref: ZoneId
      VpcId:
        Ref: Vpc
      VSwitchId:
        Ref: VSwitch
      InstanceClass:
        Ref: RedisInstanceClass
      InstanceName: rds_mysql2redis_redis
      EvictionPolicy: noeviction
      EngineVersion: '6.0'
      Password:
        Ref: RedisPassword
  Whitelist:
    Type: ALIYUN::REDIS::Whitelist
    Properties:
      InstanceId:
        Ref: RedisInstance
      SecurityIps: 192.168.0.0/16
  MigrationJob:
    Type: ALIYUN::DTS::SynchronizationJob2
    Properties:
      DtsJobName:
        Ref: DtsJobName
      SourceEndpoint:
        InstanceType: RDS
        InstanceID:
          Ref: RdsDBInstance
        EngineName: MYSQL
        Region:
          Ref: ALIYUN::Region
        UserName:
          Ref: RDSDBUser
        Password:
          Ref: RDSDBPassword
      DestinationEndpoint:
        InstanceType: Redis
        InstanceID:
          Ref: RedisInstance
        EngineName: Redis
        Region:
          Ref: ALIYUN::Region
        Password:
          Ref: RedisPassword
      StructureInitialization: false
      DelayNotice: true
      ErrorNotice: true
      DelayRuleTime: 60
      DataInitialization: true
      DataSynchronization: true
      DbList:
        Fn::GetJsonValue:
          - DbList
          - Fn::Sub: '{ "DbList": { "${DbName}": {   "name": "0",   "all": true,   "customAttachedColumn": {     "__DTS_TP_TO_REDIS_KEY__": {       "name": "__DTS_TP_TO_REDIS_KEY__",       "syntacticType": "ADD",       "value": "__DB__+''.''+__TB__+''.''+pk_str_with_name_value(''.'',''.'')",       "type": "STRING",       "length": ""     },     "__DTS_TP_TO_REDIS_VALUE__": {       "name": "__DTS_TP_TO_REDIS_VALUE__",       "syntacticType": "ADD",       "value": "tp2redis_json_value()",       "type": "STRING",       "length": ""     }   } }}}'
  DtsInstance:
    Type: ALIYUN::DTS::Instance
    Properties:
      JobId:
        Fn::GetAtt:
          - MigrationJob
          - DtsJobId
      InstanceClass: small
      PayType: PostPaid
      AutoStart: true
      Type: SYNC
      SourceRegion:
        Ref: ALIYUN::Region
      DestinationRegion:
        Ref: ALIYUN::Region
      SourceEndpointEngineName: MySQL
      DestinationEndpointEngineName: Redis
Outputs:
  RdsInstanceAddress:
    Description:
      en: RDS インスタンスアドレス。
      zh-cn: RDS インスタンスアドレス。
    Value:
      'Fn::Sub':
        - 'https://rds.console.alibabacloud.com/detail/${InstanceID}/basicInfo?region=${Region}'
        - InstanceID:
            Ref: RdsDBInstance
          Region:
            Ref: ALIYUN::Region
  TairInstanceAddress:
    Description:
      en: Tair インスタンスアドレス。
      zh-cn: Tair インスタンスアドレス。
    Value:
      'Fn::Sub':
        - 'https://kvstore.console.alibabacloud.com/Redis/instance/${Region}/${InstanceID}'
        - InstanceID:
            Ref: RedisInstance
          Region:
            Ref: ALIYUN::Region
Metadata:
  ALIYUN::ROS::Interface:
    ParameterGroups:
      - Parameters:
          - ZoneId
        Label:
          default:
            en: Infrastructure Configuration
            zh-cn: 基本リソース構成(必須)
      - Parameters:
          - DBInstanceClass
          - DbName
          - RDSDBUser
          - RDSDBPassword
        Label:
          default: RDS
      - Parameters:
          - RedisInstanceClass
          - RedisPassword
        Label:
          default: Tair
      - Parameters:
          - DtsJobName
        Label:
          default: DTS
    TemplateTags:
      - acs:technical-solution:database:Real-time Synchronization of RDS and Redis to Build Cache Consistency-tech_solu_21
{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Description": {
    "zh-cn": "このテンプレートは DTS を使用して MySQL と Redis 間でキャッシュ同期を実現します。VPC、ECS、RDS、および Redis インスタンスの作成とセキュリティ構成、およびデータ整合性を確保するための使用者グループの確立を含みます。",
    "en": "This template achieves cache synchronization between MySQL and Redis via DTS, encompassing the creation and security configuration of VPC, ECS, RDS, and Redis instances, alongside the establishment of consumer groups to ensure data consistency."
  },
  "Parameters": {
    "ZoneId": {
      "Type": "String",
      "Label": {
        "en": "VSwitch Availability Zone",
        "zh-cn": "VSwitch 利用可能ゾーン"
      },
      "AssociationProperty": "ALIYUN::ECS::Instance::ZoneId"
    },
    "RDSDBUser": {
      "Type": "String",
      "Label": {
        "en": "RDS DB Username",
        "zh-cn": "RDS データベースアカウント"
      },
      "Description": {
        "en": "データベースのユーザー名。",
        "zh-cn": "データベースアカウントのユーザー名。"
      },
      "ConstraintDescription": {
        "en": "小文字とアンダースコア (_) からなる 2 ~ 16 文字。先頭は英字、末尾は英数字でなければなりません。",
        "zh-cn": "小文字とアンダースコア (_) からなる 2 ~ 16 文字。先頭は英字、末尾は英数字でなければなりません。"
      },
      "Default": "demouser123",
      "MinLength": 2,
      "MaxLength": 16
    },
    "DbName": {
      "Type": "String",
      "Label": {
        "en": "RDS DB Name",
        "zh-cn": "RDS データベース名"
      },
      "ConstraintDescription": {
        "en": "小文字とアンダースコア (_) からなる 2 ~ 16 文字。先頭は英字、末尾は英数字でなければなりません。",
        "zh-cn": "小文字とアンダースコア (_) からなる 2 ~ 16 文字。先頭は英字、末尾は英数字でなければなりません。"
      },
      "Default": "demodb",
      "Required": true,
      "MinLength": 2,
      "MaxLength": 16
    },
    "RDSDBPassword": {
      "Type": "String",
      "Label": {
        "en": "RDS DB Password",
        "zh-cn": "RDS データベースパスワード"
      },
      "Description": {
        "en": "RDS データベースパスワードは、英字、数字、アンダースコア(_)からなり、8 ~ 32 文字で、3 種類以上の異なる文字種を含む必要があります。",
        "zh-cn": "RDS データベースのパスワードは、8 ~ 32 文字で、英字、数字、アンダースコア (_) からなり、3 種類以上の異なる文字種を含む必要があります。"
      },
      "ConstraintDescription": {
        "en": "英字、数字、アンダースコア(_)からなり、8 ~ 32 文字です。",
        "zh-cn": "パスワードは 8 ~ 32 文字で、英字、数字、アンダースコア (_) からなります。"
      },
      "AssociationProperty": "ALIYUN::RDS::Instance::AccountPassword",
      "MinLength": 8,
      "MaxLength": 32,
      "NoEcho": true
    },
    "DBInstanceClass": {
      "Type": "String",
      "Label": {
        "en": "Instance Class",
        "zh-cn": "インスタンスタイプ"
      },
      "AssociationProperty": "ALIYUN::RDS::Instance::InstanceType",
      "AssociationPropertyMetadata": {
        "ZoneId": "${ZoneId}",
        "EngineVersion": "8.0",
        "Engine": "MySQL",
        "Category": "HighAvailability",
        "DBInstanceStorageType": "cloud_essd",
        "CommodityCode": "bards"
      },
      "Default": "mysql.x4.medium.2c"
    },
    "DtsJobName": {
      "Type": "String",
      "Label": {
        "en": "Dts Job Name",
        "zh-cn": "同期タスク名"
      },
      "Description": {
        "en": "識別しやすいように、サービスに意味のある名前(一意である必要はありません)を設定することを推奨します。",
        "zh-cn": "識別しやすいように、サービスに意味のある名前(一意である必要はありません)を設定することを推奨します。"
      },
      "Default": "mysql2redis_dts"
    },
    "RedisInstanceClass": {
      "Type": "String",
      "Label": {
        "en": "Tair Specifications",
        "zh-cn": "Tair 仕様"
      },
      "Description": {
        "en": "<font color='blue'>モデルを選択する前に、現在の利用可能ゾーンで在庫があるか確認してください。テストコストを抑えるため、メモリ 2G のモデル(例:tair.rdb.2g)の使用を推奨します。</font>詳細については、<a href='https://www.alibabacloud.com/help/redis/product-overview/enhanced-performance' target='_blank'><font color='red'>仕様照会</font></a>をご参照ください。",
        "zh-cn": "<font color='blue'>インスタンスタイプを選択する前に、現在の利用可能ゾーンでそのタイプが利用可能かどうかを確認してください。テストコストを抑えるため、メモリ 2 GB の仕様(例:tair.rdb.2g)の使用を推奨します。</font>詳細については、<a href='https://www.alibabacloud.com/help/redis/product-overview/enhanced-performance' target='_blank'><font color='red'>インスタンスタイプ</font></a>をご参照ください。"
      },
      "AssociationProperty": "ALIYUN::REDIS::Instance::InstanceClass",
      "AssociationPropertyMetadata": {
        "Engine": "Redis",
        "ProductType": "Tair_rdb",
        "InstanceChargeType": "PostPaid",
        "ZoneId": "${ZoneId1}",
        "OrderType": "BUY"
      },
      "Default": "tair.rdb.2g"
    },
    "RedisPassword": {
      "Type": "String",
      "Label": {
        "en": "Instance Password",
        "zh-cn": "インスタンスパスワード"
      },
      "Description": {
        "en": "8 ~ 32 文字。大文字、小文字、数字、および以下の特殊文字を含めることができます:! @ # $ % ^ & * ( ) _ + - =",
        "zh-cn": "パスワードは 8 ~ 32 文字で、大文字、小文字、数字、および以下の特殊文字を含めることができます:!@#$%^&*()_+-="
      },
      "ConstraintDescription": {
        "en": "8 ~ 32 文字。大文字、小文字、数字、および以下の特殊文字を含めることができます:! @ # $ % ^ & * ( ) _ + - =",
        "zh-cn": "パスワードは 8 ~ 32 文字で、大文字、小文字、数字、および以下の特殊文字を含めることができます:!@#$%^&*()_+-="
      },
      "MinLength": "8",
      "MaxLength": "32",
      "NoEcho": true
    }
  },
  "Resources": {
    "Vpc": {
      "Type": "ALIYUN::ECS::VPC",
      "Properties": {
        "CidrBlock": "192.168.0.0/16"
      }
    },
    "VSwitch": {
      "Type": "ALIYUN::ECS::VSwitch",
      "Properties": {
        "ZoneId": {
          "Ref": "ZoneId"
        },
        "VpcId": {
          "Ref": "Vpc"
        },
        "VSwitchName": {
          "Fn::Join": [
            "-",
            [
              "VSwitch",
              "StackId",
              {
                "Ref": "ALIYUN::StackId"
              }
            ]
          ]
        },
        "CidrBlock": "192.168.0.0/24"
      }
    },
    "RdsDBInstance": {
      "Type": "ALIYUN::RDS::DBInstance",
      "Properties": {
        "ZoneId": {
          "Ref": "ZoneId"
        },
        "VpcId": {
          "Ref": "Vpc"
        },
        "VSwitchId": {
          "Ref": "VSwitch"
        },
        "DBInstanceClass": {
          "Ref": "DBInstanceClass"
        },
        "DBInstanceStorage": 100,
        "Engine": "MySQL",
        "EngineVersion": "8.0",
        "MasterUserPassword": {
          "Ref": "RDSDBPassword"
        },
        "MasterUserType": "Super",
        "MasterUsername": {
          "Ref": "RDSDBUser"
        },
        "DBMappings": [
          {
            "CharacterSetName": "utf8mb4",
            "DBName": {
              "Ref": "DbName"
            }
          }
        ],
        "Category": "HighAvailability",
        "DBInstanceStorageType": "cloud_essd",
        "SecurityIPList": "192.168.0.0/16",
        "SlaveZoneIds": [
          {
            "Ref": "ZoneId"
          }
        ]
      }
    },
    "RedisInstance": {
      "Type": "ALIYUN::REDIS::Instance",
      "Properties": {
        "ZoneId": {
          "Ref": "ZoneId"
        },
        "VpcId": {
          "Ref": "Vpc"
        },
        "VSwitchId": {
          "Ref": "VSwitch"
        },
        "InstanceClass": {
          "Ref": "RedisInstanceClass"
        },
        "InstanceName": "rds_mysql2redis_redis",
        "EvictionPolicy": "noeviction",
        "EngineVersion": "6.0",
        "Password": {
          "Ref": "RedisPassword"
        }
      }
    },
    "Whitelist": {
      "Type": "ALIYUN::REDIS::Whitelist",
      "Properties": {
        "InstanceId": {
          "Ref": "RedisInstance"
        },
        "SecurityIps": "192.168.0.0/16"
      }
    },
    "MigrationJob": {
      "Type": "ALIYUN::DTS::SynchronizationJob2",
      "Properties": {
        "DtsJobName": {
          "Ref": "DtsJobName"
        },
        "SourceEndpoint": {
          "InstanceType": "RDS",
          "InstanceID": {
            "Ref": "RdsDBInstance"
          },
          "EngineName": "MYSQL",
          "Region": {
            "Ref": "ALIYUN::Region"
          },
          "UserName": {
            "Ref": "RDSDBUser"
          },
          "Password": {
            "Ref": "RDSDBPassword"
          }
        },
        "DestinationEndpoint": {
          "InstanceType": "Redis",
          "InstanceID": {
            "Ref": "RedisInstance"
          },
          "EngineName": "Redis",
          "Region": {
            "Ref": "ALIYUN::Region"
          },
          "Password": {
            "Ref": "RedisPassword"
          }
        },
        "StructureInitialization": false,
        "DelayNotice": true,
        "ErrorNotice": true,
        "DelayRuleTime": 60,
        "DataInitialization": true,
        "DataSynchronization": true,
        "DbList": {
          "Fn::GetJsonValue": [
            "DbList",
            {
              "Fn::Sub": "{ \"DbList\": { \"${DbName}\": {   \"name\": \"0\",   \"all\": true,   \"customAttachedColumn\": {     \"__DTS_TP_TO_REDIS_KEY__\": {       \"name\": \"__DTS_TP_TO_REDIS_KEY__\",       \"syntacticType\": \"ADD\",       \"value\": \"__DB__+'.'+__TB__+'.'+pk_str_with_name_value('.','.')\",       \"type\": \"STRING\",       \"length\": \"\"     },     \"__DTS_TP_TO_REDIS_VALUE__\": {       \"name\": \"__DTS_TP_TO_REDIS_VALUE__\",       \"syntacticType\": \"ADD\",       \"value\": \"tp2redis_json_value()\",       \"type\": \"STRING\",       \"length\": \"\"     }   } }}}"
            }
          ]
        }
      }
    },
    "DtsInstance": {
      "Type": "ALIYUN::DTS::Instance",
      "Properties": {
        "JobId": {
          "Fn::GetAtt": [
            "MigrationJob",
            "DtsJobId"
          ]
        },
        "InstanceClass": "small",
        "PayType": "PostPaid",
        "AutoStart": true,
        "Type": "SYNC",
        "SourceRegion": {
          "Ref": "ALIYUN::Region"
        },
        "DestinationRegion": {
          "Ref": "ALIYUN::Region"
        },
        "SourceEndpointEngineName": "MySQL",
        "DestinationEndpointEngineName": "Redis"
      }
    }
  },
  "Outputs": {
    "RdsInstanceAddress": {
      "Description": {
        "en": "RDS インスタンスアドレス。",
        "zh-cn": "RDS インスタンスのアドレス。"
      },
      "Value": {
        "Fn::Sub": [
          "https://rds.console.alibabacloud.com/detail/${InstanceID}/basicInfo?region=${Region}",
          {
            "InstanceID": {
              "Ref": "RdsDBInstance"
            },
            "Region": {
              "Ref": "ALIYUN::Region"
            }
          }
        ]
      }
    },
    "TairInstanceAddress": {
      "Description": {
        "en": "Tair インスタンスアドレス。",
        "zh-cn": "Tair インスタンスのアドレス。"
      },
      "Value": {
        "Fn::Sub": [
          "https://kvstore.console.alibabacloud.com/Redis/instance/${Region}/${InstanceID}",
          {
            "InstanceID": {
              "Ref": "RedisInstance"
            },
            "Region": {
              "Ref": "ALIYUN::Region"
            }
          }
        ]
      }
    }
  },
  "Metadata": {
    "ALIYUN::ROS::Interface": {
      "ParameterGroups": [
        {
          "Parameters": [
            "ZoneId"
          ],
          "Label": {
            "default": {
              "en": "Infrastructure Configuration",
              "zh-cn": "基本リソース構成(必須)"
            }
          }
        },
        {
          "Parameters": [
            "DBInstanceClass",
            "DbName",
            "RDSDBUser",
            "RDSDBPassword"
          ],
          "Label": {
            "default": "RDS"
          }
        },
        {
          "Parameters": [
            "RedisInstanceClass",
            "RedisPassword"
          ],
          "Label": {
            "default": "Tair"
          }
        },
        {
          "Parameters": [
            "DtsJobName"
          ],
          "Label": {
            "default": "DTS"
          }
        }
      ],
      "TemplateTags": [
        "acs:technical-solution:database:build-cache-consistency-by-syncing-rds-and-redis-in-real-time-tech_solu_21"
      ]
    }
  }
}

その他の例については、「このリソースを含む公開テンプレート」をご参照ください。