Todos os produtos
Search
Central de documentação

Resource Orchestration Service:ALIYUN::REDIS::Instance

Última atualização: Sep 21, 2026

O tipo ALIYUN::REDIS::Instance cria instâncias do Redis.

Sintaxe

 {
  "Type": "ALIYUN::REDIS::Instance",
  "Properties": {
    "VpcId": String,
    "EvictionPolicy": String,
    "BackupPolicy": Map,
    "ZoneId": String,
    "InstanceClass": String,
    "InstanceMaintainTime": Map,
    "Tags": List,
    "VpcPasswordFree": Boolean,
    "VSwitchId": String,
    "SecurityGroupId": String,
    "EngineVersion": String,
    "SSLEnabled": String,
    "Password": String,
    "InstanceName": String,
    "DeletionForce": Boolean,
    "Connections": Map,
    "ChargeType": String,
    "TLSProtocol": String,
    "Period": Integer,
    "AutoRenewDuration": Integer,
    "ProductType": String,
    "SubscriptionDeletionForce": Boolean,
    "SecondaryZoneId": String,
    "ResourceGroupId": String,
    "PeriodUnit": String,
    "TairConfig": Map,
    "ShardCount": Integer,
    "NodeType": String,
    "DeletionProtection": Boolean,
    "ReadOnlyCount": Integer
  }
}

Propriedades

Propriedade

Tipo

Obrigatório

Editável

Descrição

Restrições

AutoRenewDuration

Integer

Não

Sim

A duração da renovação automática.

Valores válidos: 1 a 12.

Unidade: meses.

O sistema renova a instância automaticamente pelo período especificado neste parâmetro quando ela estiver prestes a expirar.

Nota

Este parâmetro é válido quando ChargeType está definido como PrePaid.

BackupPolicy

Map

Não

Sim

A política de backup.

Para mais informações, consulte BackupPolicy properties.

ChargeType

String

Não

Sim

O método de faturamento da instância.

Valores válidos:

  • PostPaid (padrão): pagamento conforme o uso.

  • PrePaid: assinatura.

Connections

Map

Não

Sim

O endereço de conexão.

Para mais informações, consulte Connections properties.

DeletionForce

Boolean

Não

Sim

Exclua a instância após a recuperação.

Valores válidos:

  • true: exclua a instância após a recuperação.

  • false (padrão): não exclua a instância após a recuperação.

DeletionProtection

Boolean

Não

Sim

Indica se a proteção contra liberação está ativada.

Valores válidos:

  • true: ativada.

  • false: desativada.

EngineVersion

String

Não

Sim

A versão do mecanismo de banco de dados.

Valores válidos:

  • 2.8

    Nota

    Descontinuada. Selecione outra versão.

  • 4.0

  • 5.0

EvictionPolicy

String

Não

Não

A política de evição de dados.

Valores válidos:

  • noeviction: não exclui nenhuma chave. Retorna um erro em operações de gravação.

  • allkeys-lru: exclui primeiro as chaves menos usadas recentemente.

  • volatile-lru: exclui as chaves menos usadas recentemente apenas entre aquelas com expiração definida.

  • allkeys-random: exclui chaves aleatoriamente.

  • volatile-random: exclui chaves aleatoriamente apenas entre aquelas com expiração definida.

  • volatile-ttl: exclui as chaves com o menor tempo de vida (TTL) apenas entre aquelas com expiração definida.

InstanceClass

String

Não

Sim

O tipo de instância.

Para mais informações, consulte Instance Specifications Overview.

InstanceMaintainTime

Map

Não

Sim

A janela de manutenção da instância.

Para mais informações, consulte InstanceMaintainTime properties.

InstanceName

String

Não

Sim

O nome da instância.

O nome da instância deve ter de 2 a 128 caracteres. Deve começar com uma letra ou caractere chinês e pode conter letras, números, caracteres chineses, sublinhados (_), hifens (-) e pontos (.).

NodeType

String

Não

Não

O tipo de nó.

Valores válidos:

  • MASTER_SLAVE: alta disponibilidade (HA) (réplica dupla).

  • STAND_ALONE: réplica única.

  • double: réplica dupla.

  • single: réplica única.

Nota

Para instâncias cloud-native, selecione MASTER_SLAVE ou STAND_ALONE. Para instâncias clássicas, selecione double ou single.

Password

String

Não

Sim

A senha.

A senha deve ter de 8 a 30 caracteres e conter letras maiúsculas, letras minúsculas e números.

Period

Integer

Não

Sim

O ciclo de faturamento.

Valores válidos: 1 a 9, 12, 24, 36, 60.

Unidade: meses.

PeriodUnit

String

Não

Sim

A unidade de duração.

Valores válidos:

  • Year: ano.

  • Month: mês.

ProductType

String

Não

Não

O tipo de product.

Valores válidos:

  • Local: instância da edição de código aberto do Redis (clássica) ou otimizada para memória (clássica).

  • Tair_rdb: otimizada para memória (cloud-native).

  • Tair_scm: memória persistente.

  • Tair_essd: baseada em disco.

  • OnECS: instância da edição de código aberto do Redis (cloud-native).

Nota

Defina a propriedade ProductType para acelerar as consultas de parâmetros.

ReadOnlyCount

Integer

Não

Não

O número de nós de somente leitura na zona primária.

Nota

O parâmetro ReadOnlyCount aplica-se apenas a instâncias cloud-native com divisão de leitura/gravação ativada. Se a instância usar uma arquitetura de cluster, este parâmetro indica o número de nós de somente leitura (nas zonas primária e secundária) para um único shard.

ResourceGroupId

String

Não

Sim

O ID do grupo de recursos.

Nenhuma

SecondaryZoneId

String

Não

Sim

O ID da zona secundária.

Você pode chamar a operação DescribeZones - Query Supported Zones.

Nota

Este parâmetro distribui os nós de dados primários e secundários em diferentes zonas, permitindo a recuperação de desastres entre zonas e tolerando falhas no nível do data center.

SecurityGroupId

String

Não

Sim

O ID do grupo de segurança.

Defina no máximo 10 IDs. Separe os IDs com vírgulas (,).

ShardCount

Integer

Não

Não

O número de shards.

Este parâmetro aplica-se apenas a instâncias de arquitetura de cluster baseadas em disco. Use este parâmetro para personalizar o número de shards.

SSLEnabled

String

Não

Sim

O status do SSL.

Valores válidos:

  • Disable: desativa o SSL.

  • Enable: ative o SSL.

  • Update: atualize o certificado.

SubscriptionDeletionForce

Boolean

Não

Não

Esta opção aplica-se apenas a instâncias de assinatura. Para instâncias de assinatura, se esta opção for true, a instância é convertida para uma instância de pagamento conforme o uso antes da exclusão. Se for false, o sistema não força a exclusão. Esta operação incorre em taxas adicionais. Escolha com cuidado.

Nenhuma

Tags

List

Não

Sim

Tags.

Cada instância suporta no máximo 20 tags.

Para mais informações, consulte Tags properties.

TairConfig

Map

Não

Não

A configuração do Tair.

Para mais informações, consulte TairConfig properties.

TLSProtocol

String

Não

Não

A versão do TLS da instância.

Valores válidos:

  • TLSv1

  • TLSv1.1

  • TLSv1.2

  • TLSv1.3

VpcId

String

Não

Não

O ID da VPC.

Nenhuma

VpcPasswordFree

Boolean

Não

Não

Ative ou desative o acesso sem senha às instâncias em uma VPC.

Valores válidos:

  • true: ative.

  • false (padrão): desative.

VSwitchId

String

Não

Não

O ID do vSwitch na VPC.

Nenhuma

ZoneId

String

Não

Não

O ID da zona.

Este parâmetro é obrigatório ao criar uma instância em uma VPC.

Ao criar uma instância multizona, você pode chamar a operação de API DescribeZones para obter os IDs multizona suportados.

Sintaxe de BackupPolicy

"BackupPolicy": {
  "PreferredBackupPeriod": "String",
  "PreferredBackupTime": "String",
  "EnableBackupLog": "Integer"
}

Propriedades de BackupPolicy

Propriedade

Tipo

Obrigatório

Editável

Descrição

Restrições

PreferredBackupPeriod

String

Sim

Sim

O ciclo de backup.

Valores válidos:

  • Monday: segunda-feira.

  • Tuesday: terça-feira.

  • Wednesday: quarta-feira.

  • Thursday.

  • Friday: sexta-feira.

  • Saturday: sábado.

  • Sunday: domingo.

PreferredBackupTime

String

Sim

Sim

O horário de backup.

Formato: HH:mmZ-HH:mmZ.

EnableBackupLog

Integer

Não

Sim

Ative ou desative o backup incremental.

Valores válidos:

  • 1: ative.

  • 0 (padrão): desative.

Sintaxe de InstanceMaintainTime

"InstanceMaintainTime": {
  "MaintainStartTime": "String",
  "MaintainEndTime": "String"
}

Propriedades de InstanceMaintainTime

Propriedade

Tipo

Obrigatório

Editável

Descrição

Restrições

MaintainEndTime

String

Não

Não

O horário de término da janela de manutenção.

Formato: HH:mmZ (UTC). Por exemplo, para terminar às 02:00 (UTC+8), defina este parâmetro como 18:00Z.

Nota

O intervalo entre os horários de início e término deve ser de 1 hora. Por exemplo, se MaintainStartTime for 17:00Z, MaintainEndTime será 18:00Z.

MaintainStartTime

String

Não

Não

O horário de início da janela de manutenção.

Formato: HH:mmZ (UTC). Por exemplo, para iniciar à 01:00 (UTC+8), defina este parâmetro como 17:00Z.

Sintaxe de Tags

"Tags": [
  {
    "Key": String,
    "Value": String
  }
]  

Propriedades de Tags

Propriedade

Tipo

Obrigatório

Editável

Descrição

Restrições

Key

String

Sim

Não

A chave da tag.

A chave da tag deve ser exclusiva na mesma conta e região.

Value

String

Não

Não

O valor da tag.

Nenhuma

Sintaxe de Connections

"Connections": {
  "VpcPrivateConnection": "Map",
  "ClassicInnerConnection": "Map",
  "DirectConnection": "Map",
  "PublicConnection": "Map"
}

Propriedades de Connections

Propriedade

Tipo

Obrigatório

Editável

Descrição

Restrições

ClassicInnerConnection

Map

Não

Sim

O endereço de rede interna clássica.

Para mais informações, consulte ClassicInnerConnection properties.

DirectConnection

Map

Não

Sim

O endereço de conexão direta. Esta é uma instância de cluster. Solicite endpoints de conexão direta conforme necessário.

Para mais informações, consulte DirectConnection Properties.

PublicConnection

Map

Não

Sim

O endereço público.

Para mais informações, consulte PublicConnection properties.

VpcPrivateConnection

Map

Não

Sim

O endereço de rede privada da VPC.

Para mais informações, consulte VpcPrivateConnection properties.

Sintaxe de VpcPrivateConnection

"VpcPrivateConnection": {
  "ConnectionPort": Integer,
  "ConnectionString": String
}

Propriedades de VpcPrivateConnection

Propriedade

Tipo

Obrigatório

Editável

Descrição

Restrições

ConnectionPort

Integer

Sim

Sim

A porta de service do ApsaraDB da instância.

Valores válidos: 1024 a 65535.

ConnectionString

String

Não

Sim

O prefixo do endpoint público.

O prefixo deve ter de 8 a 64 caracteres, começar com uma letra minúscula e conter apenas letras minúsculas e números.

Sintaxe de PublicConnection

"PublicConnection": {
  "ConnectionPort": Integer,
  "ConnectionString": String
}

Propriedades de PublicConnection

Propriedade

Tipo

Obrigatório

Editável

Descrição

Restrições

ConnectionPort

Integer

Sim

Sim

A porta de service do ApsaraDB da instância.

Valores válidos: 1024 a 65535.

ConnectionString

String

Não

Sim

O prefixo do endpoint público.

O prefixo deve ter de 8 a 64 caracteres, começar com uma letra minúscula e conter apenas letras minúsculas e números.

Sintaxe de DirectConnection

"DirectConnection": {
  "ConnectionPort": Integer,
  "ConnectionString": String
}

Propriedades de DirectConnection

Propriedade

Tipo

Obrigatório

Editável

Descrição

Restrições

ConnectionPort

Integer

Sim

Sim

A porta de service do ApsaraDB da instância.

Valores válidos: 1024 a 65535.

ConnectionString

String

Não

Sim

O prefixo do endpoint público.

O prefixo deve ter de 8 a 64 caracteres, começar com uma letra minúscula e conter apenas letras minúsculas e números.

Sintaxe de ClassicInnerConnection

"ClassicInnerConnection": {
  "ConnectionPort": Integer,
  "ConnectionString": String
}

Propriedades de ClassicInnerConnection

Propriedade

Tipo

Obrigatório

Editável

Descrição

Restrições

ConnectionPort

Integer

Sim

Sim

A porta de service do ApsaraDB da instância.

Valores válidos: 1024 a 65535.

ConnectionString

String

Não

Sim

O prefixo do endpoint público.

O prefixo deve ter de 8 a 64 caracteres, começar com uma letra minúscula e conter apenas letras minúsculas e números.

Sintaxe de TairConfig

"TairConfig": {
  "Storage": "Integer",
  "StorageType": "String",
  "ShardCount": "Integer"
}

Propriedades de TairConfig

Propriedade

Tipo

Obrigatório

Editável

Descrição

Restrições

ShardCount

Integer

Não

Não

O número de nós de dados na instância.

Valores válidos:

  • 1: valor padrão. Indica que a instância criada usa uma arquitetura padrão e possui apenas um nó de dados.

  • 2 a 32: passe um valor neste intervalo para criar uma instância de arquitetura de cluster com o número especificado de nós de dados.

Storage

Integer

Não

Não

A capacidade de armazenamento do disco em cloud.

A capacidade de armazenamento varia de acordo com as especificações da instância. Para mais informações, consulte ESSD/SSD-based instances.

StorageType

String

Não

Não

A classe de armazenamento.

Valores válidos:

  • essd_pl0

  • essd_pl1

  • essd_pl2

  • essd_pl3

Valores de retorno

Fn::GetAtt

  • InstanceId: o ID da instância.

  • OrderId: o ID do pedido da instância.

  • ConnectionDomain: o endereço de conexão privada da instância.

  • Port: a porta de service do Redis.

  • InstanceName: o nome da instância.

  • InstanceClass: o tipo de instância.

  • VpcId: o ID da VPC.

  • Capacity: a capacidade de armazenamento da instância.

  • InstanceType: a versão do mecanismo de banco de dados da instância.

  • ChargeType: o método de faturamento da instância.

  • PackageType: o tipo de plano.

  • Connections: o número máximo de conexões suportadas pela instância.

  • ArchitectureType: o tipo de arquitetura.

  • NodeType: o tipo de nó.

  • HasRenewChangeOrder: indica se a conta Alibaba Cloud tem pedidos pendentes de renovação ou de expansão.

  • ResourceGroupId: o ID do grupo de recursos.

  • QPS: o número de consultas por segundo (QPS). Este é o valor teórico para o tipo de instância atual.

  • ZoneId: o ID da zona à qual a instância pertence.

  • Bandwidth: a largura de banda da instância. Unidade: Mbps.

  • EngineVersion: a versão do mecanismo.

  • NetworkType: o tipo de rede.

  • VSwitchId: o ID do vSwitch.

  • PrivateIp: o endereço IP privado da instância.

  • PublicConnectionString: a string de conexão pública da instância.

  • VpcPrivateConnectionPort: a porta de conexão privada da VPC.

  • ClassicInnerConnectionString: a string de conexão interna clássica da instância.

  • VpcPrivateConnectionString: a string de conexão privada da VPC da instância.

  • PublicConnectionPort: a porta de conexão pública da instância.

  • DirectConnectionString: a string de conexão direta da instância.

  • DirectConnectionPort: a porta de conexão direta da instância.

  • ClassicInnerConnectionPort: a porta de conexão interna clássica da instância.

Exemplos

Cenário 1: crie uma instância do Redis.

Criação rápida

ROSTemplateFormatVersion: '2015-09-01'
Description: {}
Parameters:
  VpcId:
    Type: String
    AssociationProperty: ALIYUN::ECS::VPC::VpcId
  ZoneId:
    Type: String
    Description:
      zh-cn: Before creating an instance, confirm the Availability Zone supports Redis resource specifications.
      en: Before creating an instance, confirm the Availability Zone supports Redis resource specifications.
    AssociationProperty: ALIYUN::ECS::Instance:ZoneId
    Label:
      en: Zone ID
      zh-cn: Zone 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!
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": "Before creating an instance, confirm the Availability Zone supports Redis resource specifications.",
        "en": "Before creating an instance, confirm the Availability Zone supports Redis resource specifications."
      },
      "AssociationProperty": "ALIYUN::ECS::Instance:ZoneId",
      "Label": {
        "en": "Zone ID",
        "zh-cn": "Zone 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!"
      }
    }
  },
  "Outputs": {
    "InstanceId": {
      "Value": {
        "Fn::GetAtt": [
          "RedisInstance",
          "InstanceId"
        ]
      }
    }
  }
}

Cenário 2: crie uma instância do Redis e adicionar uma lista de permissões de IP.

Criação rápida

ROSTemplateFormatVersion: '2015-09-01'
Description: {}
Parameters:
  VpcId:
    Type: String
    AssociationProperty: ALIYUN::ECS::VPC::VpcId
  ZoneId:
    Type: String
    Description:
      zh-cn: Before creating an instance, confirm the Availability Zone supports Redis resource specifications.
      en: Before creating an instance, confirm the Availability Zone supports Redis resource specifications.
    AssociationProperty: ALIYUN::ECS::Instance:ZoneId
    Label:
      en: Zone ID
      zh-cn: Zone 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": "Before creating an instance, confirm the Availability Zone supports Redis resource specifications.",
        "en": "Before creating an instance, confirm the Availability Zone supports Redis resource specifications."
      },
      "AssociationProperty": "ALIYUN::ECS::Instance:ZoneId",
      "Label": {
        "en": "Zone ID",
        "zh-cn": "Zone 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"
        ]
      }
    }
  }
}

Cenário 3: usar o DTS para sincronizar o cache entre MySQL e Redis.

Criação rápida

ROSTemplateFormatVersion: '2015-09-01'
Description:
  zh-cn: This template synchronizes MySQL and Redis caches using DTS. It creates and configures security for VPC, ECS, RDS, and Redis instances. It also establishes consumer groups to ensure data consistency.
  en: This template synchronizes MySQL and Redis caches using DTS. It creates and configures security for VPC, ECS, RDS, and Redis instances. It also establishes consumer groups to ensure data consistency.
Parameters:
  ZoneId:
    Type: String
    Label:
      en: VSwitch Availability Zone
      zh-cn: VSwitch Availability Zone
    AssociationProperty: ALIYUN::ECS::Instance::ZoneId
  RDSDBUser:
    Type: String
    Label:
      en: RDS DB Username
      zh-cn: RDS DB Username
    Description:
      en: Username of database.
      zh-cn: Username of database.
    ConstraintDescription:
      en: Must contain 2 to 16 lowercase letters and underscores. It must start with a letter and end with an alphanumeric character.
      zh-cn: Must contain 2 to 16 lowercase letters and underscores. It must start with a letter and end with an alphanumeric character.
    Default: demouser123
    MinLength: 2
    MaxLength: 16
  DbName:
    Type: String
    Label:
      en: RDS DB Name
      zh-cn: RDS DB Name
    ConstraintDescription:
      en: Must contain 2 to 16 lowercase letters and underscores. It must start with a letter and end with an alphanumeric character.
      zh-cn: Must contain 2 to 16 lowercase letters and underscores. It must start with a letter and end with an alphanumeric character.
    Default: demodb
    Required: true
    MinLength: 2
    MaxLength: 16
  RDSDBPassword:
    Type: String
    Label:
      en: RDS DB Password
      zh-cn: RDS DB Password
    Description:
      en: The RDS database password must be 8 to 32 characters long. It must contain letters, numbers, and underscores (_). It must also include three different character types.
      zh-cn: The RDS database password must be 8 to 32 characters long. It must contain letters, numbers, and underscores (_). It must also include three different character types.
    ConstraintDescription:
      en: Must be 8 to 32 characters long. It must contain letters, numbers, and underscores (_).
      zh-cn: Must be 8 to 32 characters long. It must contain letters, numbers, and underscores (_).
    AssociationProperty: ALIYUN::RDS::Instance::AccountPassword
    MinLength: 8
    MaxLength: 32
    NoEcho: true
  DBInstanceClass:
    Type: String
    Label:
      en: Instance Class
      zh-cn: Instance Class
    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 Job Name
    Description:
      en: Set a name that reflects its business purpose for easy identification. Uniqueness is not required.
      zh-cn: Set a name that reflects its business purpose for easy identification. Uniqueness is not required.
    Default: mysql2redis_dts
  RedisInstanceClass:
    Type: String
    Label:
      en: Tair Specifications
      zh-cn: Tair Specifications
    Description:
      en: <font color='blue'>Before selecting a model, confirm if the model is in stock in the current availability zone. To save testing costs, use a 2 GB memory model, such as tair.rdb.2g.</font> For more information, see <a href='https://www.alibabacloud.com/help/zh/redis/product-overview/enhanced-performance' target='_blank'><font color='red'>Specification inquiry</font></a>.
      zh-cn: <font color='blue'>Before selecting a model, confirm if the model is in stock in the current availability zone. To save testing costs, use a 2 GB memory model, such as tair.rdb.2g.</font> For more information, see <a href='https://www.alibabacloud.com/help/zh/redis/product-overview/enhanced-performance' target='_blank'><font color='red'>Specification inquiry</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: Instance Password
    Description:
      en: Must be 8 to 32 characters long. It can contain uppercase and lowercase letters, numbers, and special symbols: ! @ # $ % ^ & * ( ) _ + - =
      zh-cn: Must be 8 to 32 characters long. It can contain uppercase and lowercase letters, numbers, and special symbols: ! @ # $ % ^ & * ( ) _ + - =
    ConstraintDescription:
      en: Must be 8 to 32 characters long. It can contain uppercase and lowercase letters, numbers, and special symbols: ! @ # $ % ^ & * ( ) _ + - =
      zh-cn: Must be 8 to 32 characters long. It can contain uppercase and lowercase letters, numbers, and special symbols: ! @ # $ % ^ & * ( ) _ + - =
    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 Instance Address.
      zh-cn: RDS Instance Address.
    Value:
      'Fn::Sub':
        - 'https://rdsnext.console.alibabacloud.com/detail/${InstanceID}/basicInfo?region=${Region}'
        - InstanceID:
            Ref: RdsDBInstance
          Region:
            Ref: ALIYUN::Region
  TairInstanceAddress:
    Description:
      en: Tair Instance Address.
      zh-cn: Tair Instance Address.
    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 (Required)
            zh-cn: Infrastructure Configuration (Required)
      - 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": "This template synchronizes MySQL and Redis caches using DTS. It creates and configures security for VPC, ECS, RDS, and Redis instances. It also establishes consumer groups to ensure data consistency.",
    "en": "This template synchronizes MySQL and Redis caches using DTS. It creates and configures security for VPC, ECS, RDS, and Redis instances. It also establishes consumer groups to ensure data consistency."
  },
  "Parameters": {
    "ZoneId": {
      "Type": "String",
      "Label": {
        "en": "VSwitch Availability Zone",
        "zh-cn": "VSwitch Availability Zone"
      },
      "AssociationProperty": "ALIYUN::ECS::Instance::ZoneId"
    },
    "RDSDBUser": {
      "Type": "String",
      "Label": {
        "en": "RDS DB Username",
        "zh-cn": "RDS DB Username"
      },
      "Description": {
        "en": "Username of database.",
        "zh-cn": "Username of database."
      },
      "ConstraintDescription": {
        "en": "Must contain 2 to 16 lowercase letters and underscores. It must start with a letter and end with an alphanumeric character.",
        "zh-cn": "Must contain 2 to 16 lowercase letters and underscores. It must start with a letter and end with an alphanumeric character."
      },
      "Default": "demouser123",
      "MinLength": 2,
      "MaxLength": 16
    },
    "DbName": {
      "Type": "String",
      "Label": {
        "en": "RDS DB Name",
        "zh-cn": "RDS DB Name"
      },
      "ConstraintDescription": {
        "en": "Must contain 2 to 16 lowercase letters and underscores. It must start with a letter and end with an alphanumeric character.",
        "zh-cn": "Must contain 2 to 16 lowercase letters and underscores. It must start with a letter and end with an alphanumeric character."
      },
      "Default": "demodb",
      "Required": true,
      "MinLength": 2,
      "MaxLength": 16
    },
    "RDSDBPassword": {
      "Type": "String",
      "Label": {
        "en": "RDS DB Password",
        "zh-cn": "RDS DB Password"
      },
      "Description": {
        "en": "The RDS database password must be 8 to 32 characters long. It must contain letters, numbers, and underscores (_). It must also include three different character types.",
        "zh-cn": "The RDS database password must be 8 to 32 characters long. It must contain letters, numbers, and underscores (_). It must also include three different character types."
      },
      "ConstraintDescription": {
        "en": "Must be 8 to 32 characters long. It must contain letters, numbers, and underscores (_).",
        "zh-cn": "Must be 8 to 32 characters long. It must contain letters, numbers, and underscores (_)."
      },
      "AssociationProperty": "ALIYUN::RDS::Instance::AccountPassword",
      "MinLength": 8,
      "MaxLength": 32,
      "NoEcho": true
    },
    "DBInstanceClass": {
      "Type": "String",
      "Label": {
        "en": "Instance Class",
        "zh-cn": "Instance Class"
      },
      "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 Job Name"
      },
      "Description": {
        "en": "Set a name that reflects its business purpose for easy identification. Uniqueness is not required.",
        "zh-cn": "Set a name that reflects its business purpose for easy identification. Uniqueness is not required."
      },
      "Default": "mysql2redis_dts"
    },
    "RedisInstanceClass": {
      "Type": "String",
      "Label": {
        "en": "Tair Specifications",
        "zh-cn": "Tair Specifications"
      },
      "Description": {
        "en": "<font color='blue'>Before selecting a model, confirm if the model is in stock in the current availability zone. To save testing costs, use a 2 GB memory model, such as tair.rdb.2g.</font> For more information, see <a href='https://www.alibabacloud.com/help/zh/redis/product-overview/enhanced-performance' target='_blank'><font color='red'>Specification inquiry</font></a>.",
        "zh-cn": "<font color='blue'>Before selecting a model, confirm if the model is in stock in the current availability zone. To save testing costs, use a 2 GB memory model, such as tair.rdb.2g.</font> For more information, see <a href='https://www.alibabacloud.com/help/zh/redis/product-overview/enhanced-performance' target='_blank'><font color='red'>Specification inquiry</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": "Instance Password"
      },
      "Description": {
        "en": "Must be 8 to 32 characters long. It can contain uppercase and lowercase letters, numbers, and special symbols: ! @ # $ % ^ & * ( ) _ + - =",
        "zh-cn": "Must be 8 to 32 characters long. It can contain uppercase and lowercase letters, numbers, and special symbols: ! @ # $ % ^ & * ( ) _ + - ="
      },
      "ConstraintDescription": {
        "en": "Must be 8 to 32 characters long. It can contain uppercase and lowercase letters, numbers, and special symbols: ! @ # $ % ^ & * ( ) _ + - =",
        "zh-cn": "Must be 8 to 32 characters long. It can contain uppercase and lowercase letters, numbers, and special symbols: ! @ # $ % ^ & * ( ) _ + - ="
      },
      "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 Instance Address.",
        "zh-cn": "RDS Instance Address."
      },
      "Value": {
        "Fn::Sub": [
          "https://rdsnext.console.alibabacloud.com/detail/${InstanceID}/basicInfo?region=${Region}",
          {
            "InstanceID": {
              "Ref": "RdsDBInstance"
            },
            "Region": {
              "Ref": "ALIYUN::Region"
            }
          }
        ]
      }
    },
    "TairInstanceAddress": {
      "Description": {
        "en": "Tair Instance Address.",
        "zh-cn": "Tair Instance Address."
      },
      "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 (Required)",
              "zh-cn": "Infrastructure Configuration (Required)"
            }
          }
        },
        {
          "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"
      ]
    }
  }
}

Para mais exemplos, consulte modelos públicos contendo este recurso.