ALIYUN::REDIS::Instance

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,
    "TairConfig": Map,
    "ShardCount": Integer,
    "NodeType": 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。

当创建的实例属于专有网络时,该参数必须指定。

创建多可用区实例时,您可以调用DescribeZones - 查询支持的可用区接口查询支持的多可用区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:社区版实例(云盘版)。

说明

建议设置 ProductType 属性,能加快参数查询的速度。

SecondaryZoneId

String

备可用区ID。

可调用DescribeZones - 查询支持的可用区接口查询。

说明

传入本参数可以实现主备数据节点分布在不同的可用区,实现跨可用区容灾,可承受机房级别的故障。

ResourceGroupId

String

资源组ID。

PeriodUnit

String

时长单位。

取值:

  • Year:年。

  • Month:月。

TairConfig

Map

Tair配置。

更多信息,请参见TairConfig属性

ShardCount

Integer

分片数。

本参数仅适用于创建云盘版集群架构实例,您可以通过该参数实现自定义分片数量。

NodeType

String

节点类型。

取值:

  • MASTER_SLAVE:高可用(双副本)。

  • STAND_ALONE:单副本。

  • double:双副本。

  • single:单副本。

说明

云原生版实例请选择MASTER_SLAVESTAND_ALONE,经典版实例请选择doublesingle

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个字符,必须以小写英文字母开头。可包含小写英文字母和数字。

TairConfig语法

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

TairConfig属性

属性名称

类型

必须

允许更新

描述

约束

Storage

Integer

云盘的存储空间。

不同的规格取值范围有所区别。更多信息,请参见磁盘型实例规格

StorageType

String

存储类型。

取值:

  • essd_pl0

  • essd_pl1

  • essd_pl2

  • essd_pl3

ShardCount

Integer

实例中的数据节点个数。

取值:

  • 1:默认值,即表示创建的实例为标准架构,仅拥有1个数据节点。

  • 2~32:传入该范围的值,即表示创建的实例为集群架构,拥有指定数量的数据节点。

返回值

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:实例的经典内连接端口。

示例

YAML格式

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!
Outputs:
  InstanceId:
    Value:
      Fn::GetAtt:
        - RedisInstance
        - InstanceId                     

JSON格式

{
  "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!"
      }
    }
  },
  "Outputs": {
    "InstanceId": {
      "Value": {
        "Fn::GetAtt": [
          "RedisInstance",
          "InstanceId"
        ]
      }
    }
  }
}

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