ALIYUN::REDIS::Instance类型用于创建Redis实例。

语法

{
  "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,
    "Period": Integer,
    "AutoRenewDuration": Integer,
    "ProductType": String
    "SecondaryZoneId": String,
    "ResourceGroupId": String,
    "PeriodUnit": String
  }
}

属性

属性名称 类型 必须 允许更新 描述 约束
EngineVersion String 数据库版本。 取值:
  • 2.8
    说明 已停售,请选择其他版本。
  • 4.0
  • 5.0
InstanceClass String 实例规格。 更多信息,请参见规格查询导航
InstanceMaintainTime Map 实例的可维护时间段。
Tags List 标签。 每个实例最多可以绑定20个标签。

更多信息,请参见Tags属性

VpcPasswordFree Boolean 是否启用免密码访问专有网络中的实例。 取值:
  • true:启用。
  • false(默认值):禁用。
VpcId String 专有网络ID。
EvictionPolicy String 数据逐出策略。 取值:
  • noeviction:不删除任何key,只是在写操作时返回错误。
  • allkeys-lru:优先删除掉最近最少使用的key。
  • volatile-lru:只从设置失效(expire set)的key中选择最近最少使用的key进行删除。
  • allkeys-random:随机选择删除key。
  • volatile-random:只从设置失效(expire set)的key中,随机选择一些key进行删除。
  • volatile-ttl:只从设置失效(expire set)的key中,选出存活时间(TTL)最短的key进行删除。
ZoneId String 可用区ID。 当创建的实例属于专有网络时,该参数必须指定。

创建多可用区实例时,您可以调用查询支持的可用区接口查询支持的多可用区ID。

VSwitchId String 专有网络下的交换机ID。
SecurityGroupId String 安全组ID。 最多支持设置10个ID,ID之间用半角逗号(,)分隔。
Password String 密码。 长度为8~30个字符,必须同时包含大写英文字母、小写英文字母和数字。
SSLEnabled String SSL状态。 取值:
  • Disable:关闭。
  • Enable:开启。
  • Update:更新证书。
InstanceName String 实例名称。 长度为2~128个字符。必须以英文字母或汉字开头,可包含英文字母、数字、汉字、下划线(_)、短划线(-)和半角句号(.)。
DeletionForce Boolean 是否在回收时删除实例。 取值:
  • true:回收时删除实例。
  • false(默认值):回收时不删除实例。
Connections Map 连接地址。 更多信息,请参见Connections属性
BackupPolicy Map 备份策略。 更多信息,请参见BackupPolicy属性
ChargeType String 实例付费类型。 取值:
  • PostPaid(默认值):后付费,即按量付费。
  • PrePaid:预付费,即包年包月。
Period Integer 付费周期。 取值:1~9、12、24、36、60。

单位:月。

AutoRenewDuration Integer 自动续费时长。 取值范围:1~12。

单位:月。

当实例即将到期时,将根据该参数指定的时长自动续费。

说明 当ChargeType取值为 PrePaid时该参数有效。
ProductType String 产品类型。 取值:
  • Local:社区版实例(本地盘版)或性能增强型(本地盘版)。
  • Tair_rdb:性能增强型(云盘版)。
  • Tair_scm:持久内存型。
  • Tair_essd:容量存储型。
  • OnECS:社区版实例(云盘版)。
SecondaryZoneId String 备可用区ID。 可调用DescribeZones接口查询。
说明 传入本参数可以实现主备数据节点分布在不同的可用区,实现跨可用区容灾,可承受机房级别的故障。
ResourceGroupId String 资源组ID。
PeriodUnit String 时长单位。 取值:
  • Year:年。
  • Month:月。

BackupPolicy语法

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

BackupPolicy属性

属性名称 类型 必须 允许更新 描述 约束
PreferredBackupPeriod String 备份周期。 取值:
  • Monday:星期一。
  • Tuesday:星期二。
  • Wednesday:星期三。
  • Thursday:星期四。
  • Friday:星期五。
  • Saturday:星期六。
  • Sunday:星期日。
PreferredBackupTime String 备份时间。 格式:HH:mmZ-HH:mmZ
EnableBackupLog Integer 开启或关闭增量备份。 取值:
  • 1:开启。
  • 0(默认值):关闭。

InstanceMaintainTime语法

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

InstanceMaintainTime属性

属性名称 类型 必须 允许更新 描述 约束
MaintainStartTime String 可维护时间段的开始时间。 格式:HH:mmZ(UTC时间)。例如:需要在北京时间凌晨1点开始,应设置为17:00Z
MaintainEndTime String 可维护时间段的结束时间。 格式:HH:mmZ(UTC时间)。例如:需要在北京时间凌晨2点结束,应设置为18:00Z
说明 开始时间和结束时间的间隔应为1小时,例如:MaintainStartTime为17:00Z,MaintainEndTime为18:00Z

Tags语法

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

Tags属性

属性名称 类型 必须 允许更新 描述 约束
Key String 标签键。 同账号同地域下标签键唯一。
Value String 标签值。

Connections语法

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

Connections属性

属性名称 类型 必须 允许更新 描述 约束
VpcPrivateConnection Map VPC内网地址。 更多信息,请参见VpcPrivateConnection属性
ClassicInnerConnection Map 经典内网地址。 更多信息,请参见ClassicInnerConnection属性
DirectConnection Map 直接连接地址。该实例是一个集群实例。您可以根据需要申请直接连接端点。 更多信息,请参见DirectConnection属性
PublicConnection Map 公共地址。 更多信息,请参见PublicConnection属性

VpcPrivateConnection语法

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

VpcPrivateConnection属性

属性名称 类型 必须 允许更新 描述 约束
ConnectionPort Integer 实例的ApsaraDB服务端口号。 取值范围:1024~65535。
ConnectionString String 公共端点的前缀。 长度为8~64个字符,必须以小写英文字母开头。可包含小写英文字母和数字。

PublicConnection语法

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

PublicConnection属性

属性名称 类型 必须 允许更新 描述 约束
ConnectionPort Integer 实例的ApsaraDB服务端口号。 取值范围:1024~65535。
ConnectionString String 公共端点的前缀。 长度为8~64个字符,必须以小写英文字母开头。可包含小写英文字母和数字。

DirectConnection语法

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

DirectConnection属性

属性名称 类型 必须 允许更新 描述 约束
ConnectionPort Integer 实例的ApsaraDB服务端口号。 取值范围:1024~65535。
ConnectionString String 公共端点的前缀。 长度为8~64个字符,必须以小写英文字母开头。可包含小写英文字母和数字。

ClassicInnerConnection语法

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

ClassicInnerConnection属性

属性名称 类型 必须 允许更新 描述 约束
ConnectionPort Integer 实例的ApsaraDB服务端口号。 取值范围:1024~65535。
ConnectionString String 公共端点的前缀。 长度为8~64个字符,必须以小写英文字母开头。可包含小写英文字母和数字。

返回值

Fn::GetAtt

  • InstanceId:实例ID。
  • OrderId:实例订单ID。
  • ConnectionDomain:实例的私网连接地址。
  • Port:Redis服务端口。
  • InstanceName:实例名称。
  • InstanceClass:实例规格。
  • VpcId:专有网络ID。
  • Capacity:实例的存储容量。
  • InstanceType:实例的引擎版本。
  • ChargeType:实例的计费方式。
  • PackageType:计划类型。
  • Connections:实例支持的最大连接数。
  • ArchitectureType:架构类型。
  • NodeType:节点类型。
  • HasRenewChangeOrder:阿里云账号是否有待续订或扩容订单。
  • ResourceGroupId:资源组ID。
  • QPS:每秒访问次数,取值为当前规格实例的理论值。
  • ZoneId:实例所属的可用区ID。
  • Bandwidth:实例带宽。单位:Mbps。
  • EngineVersion:版本类型。
  • NetworkType:网络类型。
  • VSwitchId:交换机ID。
  • PrivateIp:实例的私网IP地址。
  • PublicConnectionString:实例的公共连接字符串。
  • VpcPrivateConnectionPort:VPC私有连接端口。
  • ClassicInnerConnectionString:实例的经典内部连接字符串。
  • VpcPrivateConnectionString:实例的VPC私有连接字符串。
  • PublicConnectionPort:实例的公共连接端口。
  • DirectConnectionString:实例的直接连接字符串。
  • DirectConnectionPort:实例的直接连接端口。
  • ClassicInnerConnectionPort:实例的经典内连接端口。

示例

  • JSON格式

    {
      "ROSTemplateFormatVersion": "2015-09-01",
      "Description": {
        "zh-cn": "阿里云资源编排示例模板:创建一台VPC网络类型的Redis实例。",
        "en": "Alibaba Cloud ROS Sample Template: Create a Redis instance of a VPC network type."
      },
      "Parameters": {
        "InstanceClass": {
          "Type": "String",
          "Default": "redis.master.small.default",
          "Label": {
            "zh-cn": "实例规格",
            "en": "Instance Type"
          }
        },
        "EvictionPolicy": {
          "Label": {
            "zh-cn": "数据逐出策略",
            "en": "Eviction Policy"
          },
          "AllowedValues": [
            "noeviction",
            "allkeys-lru",
            "volatile-lru",
            "allkeys-random",
            "volatile-random",
            "volatile-ttl"
          ],
          "Description": {
            "zh-cn": "缓存数据逐出策略:volatile lru(最近使用的过期数据)、volatile ttl(正在过期数据)、volatile random(任何过期数据)、allkeys lru(最近使用的最少数据)、allkeys random(任意选择数据)、no enviction(不要删除任何数据)。",
            "en": "Cache data eviction strategy: volatile-lru(Most recently used expired data), volatile-ttl(Being expiring data), volatile-random(Any expired data), allkeys-lru(Least recently used data), allkeys-random(Arbitrarily select data)、no-enviction(Do not delete any data)."
          },
          "Type": "String",
          "Default": "noeviction"
        },
        "InstanceName": {
          "Type": "String",
          "Description": {
            "zh-cn": "长度为2~128个字符。必须以英文字母或汉字开头,可包含英文字母、数字、汉字、下划线(_)、短划线(-)和半角句号(.)。",
            "en": "The instance name, [2, 128] English or Chinese characters, must start with a letter or Chinese in size, can contain numbers, '_' or '.', '-'."
          },
          "Label": {
            "zh-cn": "实例名称",
            "en": "Instance Name"
          },
          "Default": "DefaultRedis"
        },
        "Password": {
          "NoEcho": true,
          "Type": "String",
          "Description": {
            "en": "Length 8-32 characters, can contain size letters, Numbers and special symbols, including:! @ # $ % ^  * ( ) _ + - =",
            "zh-cn": "长度为8~32个字符,可包含英文字母、数字及特殊字符(!@#$%^*()_+-=)。"
          },
          "Label": {
            "en": "Instance Password",
            "zh-cn": "实例密码"
          },
          "ConstraintDescription": {
            "en": "8-32 characters, can contain size letters, Numbers and special symbols, including:! @ # $ % ^  * ( ) _ + - =",
            "zh-cn": "长度为8~32个字符,可包含英文字母、数字及特殊字符(!@#$%^*()_+-=)。"
          },
          "MinLength": "8",
          "MaxLength": "32"
        },
        "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": "可用区"
          }
        }
      },
      "Resources": {
        "EcsVpc": {
          "Type": "ALIYUN::ECS::VPC",
          "Properties": {
            "CidrBlock": "192.168.0.0/16"
          }
        },
        "EcsVSwitch": {
          "DependsOn": "EcsVpc",
          "Type": "ALIYUN::ECS::VSwitch",
          "Properties": {
            "VpcId": {
              "Ref": "EcsVpc"
            },
            "ZoneId": {
              "Ref": "ZoneId"
            },
            "CidrBlock": "192.168.10.0/24"
          }
        },
        "RedisInstance": {
          "DependsOn": "EcsVSwitch",
          "Type": "ALIYUN::REDIS::Instance",
          "Properties": {
            "VpcId": {
              "Ref": "EcsVpc"
            },
            "VSwitchId": {
              "Ref": "EcsVSwitch"
            },
            "InstanceClass": {
              "Ref": "InstanceClass"
            },
            "EvictionPolicy": {
              "Ref": "EvictionPolicy"
            },
            "ZoneId": {
              "Ref": "ZoneId"
            },
            "InstanceName": {
              "Ref": "InstanceName"
            },
            "Password": {
              "Ref": "Password"
            }
          }
        }
      },
      "Outputs": {
        "InstanceId": {
          "Value": {
            "Fn::GetAtt": [
              "RedisInstance",
              "InstanceId"
            ]
          }
        }
      }
    }
  • YAML格式

    ROSTemplateFormatVersion: '2015-09-01'
    Description:
      zh-cn: 阿里云资源编排示例模板:创建一台VPC网络类型的Redis实例。
      en: 'Alibaba Cloud ROS Sample Template: Create a Redis instance of a VPC network type.'
    Parameters:
      InstanceClass:
        Type: String
        Default: redis.master.small.default
        Label:
          zh-cn: 实例规格
          en: Instance Type
      EvictionPolicy:
        Label:
          zh-cn: 数据逐出策略
          en: Eviction Policy
        AllowedValues:
          - noeviction
          - allkeys-lru
          - volatile-lru
          - allkeys-random
          - volatile-random
          - volatile-ttl
        Description:
          zh-cn: 缓存数据逐出策略:volatile lru(最近使用的过期数据)、volatile ttl(正在过期数据)、volatile random(任何过期数据)、allkeys lru(最近使用的最少数据)、allkeys random(任意选择数据)、no enviction(不要删除任何数据)。
          en: 'Cache data eviction strategy: volatile-lru(Most recently used expired data), volatile-ttl(Being expiring data), volatile-random(Any expired data), allkeys-lru(Least recently used data), allkeys-random(Arbitrarily select data)、no-enviction(Do not delete any data).'
        Type: String
        Default: noeviction
      InstanceName:
        Type: String
        Description:
          zh-cn: 长度为2~128个字符。必须以英文字母或汉字开头,可包含英文字母、数字、汉字、下划线(_)、短划线(-)和半角句号(.)。
          en: The instance name, [2, 128] English or Chinese characters, must start with a letter or Chinese in size, can contain numbers, '_' or '.', '-'.
        Label:
          zh-cn: 实例名称
          en: Instance Name
        Default: DefaultRedis
      Password:
        NoEcho: true
        Type: String
        Description:
          en: 'Length 8-32 characters, can contain size letters, Numbers and special symbols, including:! @ # $ % ^  * ( ) _ + - ='
          zh-cn: 长度为8~32个字符,可包含英文字母、数字及特殊字符(!@#$%^*()_+-=)。
        Label:
          en: Instance Password
          zh-cn: 实例密码
        ConstraintDescription:
          en: '8-32 characters, can contain size letters, Numbers and special symbols, including:! @ # $ % ^  * ( ) _ + - ='
          zh-cn: 长度为8~32个字符,可包含英文字母、数字及特殊字符(!@#$%^*()_+-=)。
        MinLength: '8'
        MaxLength: '32'
      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: 可用区
    Resources:
      EcsVpc:
        Type: ALIYUN::ECS::VPC
        Properties:
          CidrBlock: 192.168.0.0/16
      EcsVSwitch:
        DependsOn: EcsVpc
        Type: ALIYUN::ECS::VSwitch
        Properties:
          VpcId:
            Ref: EcsVpc
          ZoneId:
            Ref: ZoneId
          CidrBlock: 192.168.10.0/24
      RedisInstance:
        DependsOn: EcsVSwitch
        Type: ALIYUN::REDIS::Instance
        Properties:
          VpcId:
            Ref: EcsVpc
          VSwitchId:
            Ref: EcsVSwitch
          InstanceClass:
            Ref: InstanceClass
          EvictionPolicy:
            Ref: EvictionPolicy
          ZoneId:
            Ref: ZoneId
          InstanceName:
            Ref: InstanceName
          Password:
            Ref: Password
    Outputs:
      InstanceId:
        Value:
          Fn::GetAtt:
            - RedisInstance
            - InstanceId
                            

更多示例,请参见创建云数据库Redis实例、设置Redis实例的IP白名单和创建有特定权限的账号的组合示例:JSON示例YAML示例