更新时间:2024-04-17 GMT+08:00

DCS.Redis

模型说明

分布式缓存服务(Distributed Cache Service,简称DCS),用于提供即开即用、安全可靠、弹性扩容、便捷管理的在线分布式缓存能力,兼容Redis(只支持x86_64的CPU架构和Redis引擎的实例),提供单机、主备、集群等丰富的实例类型,满足用户高并发及快速数据访问的业务诉求。

模型属性

表1 模型定义属性说明

属性

是否必选

描述

vpcId

分布式缓存实例所属的虚拟私有云ID

参数类型:HuaweiCloud.VPC.VPC.Id

取值说明:支持使用已有或新建虚拟私有云ID。 如果使用新建的,需在模板中定义vpc对象并建立依赖关系。建议通过拖拽到VPC内自动生成。

取值约束:满足uuid的生成规则

使用建议:1. 将该字段通过get_input函数传入,在AOS界面创建堆栈填写输入参数时可自动选择 2. 通过get_reference获取由本堆栈创建的VPC.VPC元素,使用设计器建立依赖关系时会自动指定 3. 在VPC服务界面获取已经创建好的VPC的ID https://console-intl.huaweicloud.com/vpc

capacity

分布式缓存实例的容量

参数类型:float

取值说明:DCS支持的实例规格,详见“取值约束”

取值约束:Redis4.0和Redis5.0:单机和主备实例规格支持0.125、0.25、0.5、1、2、4、8、16、32、64

集群实例规格支持4、8、16、24、32、48、64、96、128、192、256、384、512、768、1024

读写分离实例规格支持1、2、4、8、16、32、64

description

分布式缓存实例的描述信息

参数类型:string

取值说明:用户自定义

取值约束:{u'max_length': 1024}

name

分布式缓存实例的名称

参数类型:string

取值说明:用户自定义

取值约束:以字母开头,由字母、数字、下划线和中划线组成

securityGroupId

分布式缓存实例使用的安全组ID

参数类型:HuaweiCloud.VPC.SecurityGroup.Id

取值说明:到VPC服务获取安全组ID或通过连线VPC.SecurityGroup自动生成。

使用建议:1. 将该字段通过get_input函数传入,在AOS界面创建堆栈填写输入参数时可自动选择 2. 通过get_reference获取由本堆栈创建的VPC.SecurityGroup,使用设计器建立依赖关系时会自动指定 3. 在VPC服务界面中获取已创建好的安全组的ID https://console-intl.huaweicloud.com/vpc/?locale=zh-cn#/secGroups

availablityZone1

分布式缓存实例所属的可用区1

参数类型:HuaweiCloud.ECS.AvailabilityZone.Name

取值说明:待创建缓存实例所在的可用区1,可在AOS页面自动选择,需要指定可用区(AZ)的名称,例如cn-north-1a。 请参考地区和终端节点获取。

取值约束:根据所属区域选择,参见https://developer.huaweicloud.com/intl/zh-cn/endpoint。

使用建议:1. 将该字段通过get_input函数传入,在AOS界面创建堆栈填写输入参数时可自动选择 2. 各Region的可用区请参见:https://developer.huaweicloud.com/intl/zh-cn/endpoint。

instanceMode

分布式缓存实例的类型

参数类型:string

默认值:ha

取值说明:single(单机)、ha(主备)、cluster(cluster集群)、proxy(proxy集群)、ha_rw_split(读写分离)

取值约束:当前仅可填写single,ha,cluster,proxy,ha_rw_split

availablityZone2

分布式缓存实例所属的可用区2,创建主备类型的分布式缓存实例需要输入此分区

参数类型:HuaweiCloud.ECS.AvailabilityZone.Name

取值说明:待创建缓存实例所在的可用区2,可在AOS页面自动选择,不可以与可用区1相同,需要指定可用区(AZ)的名称,例如cn-north-1b。 请参考地区和终端节点获取。

取值约束:根据所属区域选择,参见https://developer.huaweicloud.com/intl/zh-cn/endpoint。

使用建议:1. 将该字段通过get_input函数传入,在AOS界面创建堆栈填写输入参数时可自动选择 2. 各Region的可用区请参见:https://developer.huaweicloud.com/intl/zh-cn/endpoint。

instanceBackupPolicy

分布式缓存实例的备份策略

参数类型:DCS.InstanceBackupPolicy

取值说明:用户自定义

默认值:{u'extendParam': {u'backupAt': [], u'beginAt': u'00', u'periodType': u'weekly'}, u'backupType': u'auto', u'saveDays': 1}

使用建议:使用默认值

maintainBegin

维护时间窗的开始时间

参数类型:string

默认值:02:00:00

取值约束:当前仅可填写02:00,06:00,10:00,14:00,18:00,22:00

使用建议:使用默认值

subnetId

分布式缓存实例的子网ID

参数类型:HuaweiCloud.VPC.Subnet.Id

取值说明:使用已有或创建的子网ID。如果使用新建的,需在模板中定义子网对象并建立依赖关系。建议通过连线VPC.Subnet来自动生成

取值约束:所填子网必须为与VPC关联对应

使用建议:1. 将该字段通过get_input函数传入,在AOS界面创建堆栈填写输入参数时可自动选择 2. 通过get_reference获取由本堆栈创建的VPC.Subnet,使用设计器建立依赖关系时会自动指定 3. 在VPC服务界面中获取已创建好的子网的ID https://console-intl.huaweicloud.com/vpc

maintainEnd

维护时间窗的结束时间

参数类型:string

默认值:06:00:00

取值约束:当前仅可填写06:00,10:00,14:00,18:00,22:00,02:00

使用建议:使用默认值

password

分布式缓存实例的登录密码

参数类型:password

取值说明:用户自定义

取值约束:1. 参数必须写入inputs内,通过get_input的方式传入 2. 由大小写字母、数字和特殊符号`~!@#$%^&*()-_=+\|[{}]:'",<.>/?组成且至少包含两种,长度6~32位,非弱密码。

使用建议:建议定义为get_input方式获取,以保证安全性,避免明文密码

engineVersion

分布式缓存实例的版本

参数类型:string

取值说明:缓存版本支持4.0和5.0两个版本

默认值:5.0

取值约束:当前仅可选择4.0或5.0

使用建议:只支持缓存引擎为Redis的,当缓存引擎为Redis时该字段为必填,取值为4.0或5.0

specCode

分布式缓存实例的规格编码

参数类型:string

取值说明:根据用户选择的实例类型(instanceMode)、实例容量(capacity)、实例版本(engineVersion)之后查询出来的结果再进行选择

取值约束:所选规格编码必须为与实例类型(instanceMode)、实例容量(capacity)、实例版本(engineVersion)关联对应

关联关系

表2 关联关系说明

关系说明

关联节点

关联关系

VPC.Subnet

关联关系

VPC.SecurityGroup

被包含关系

VPC.VPC

输出

属性

参数类型

描述

refIP

string

分布式缓存实例的访问IP地址

refPort

integer

分布式缓存实例的访问端口

refName

string

分布式缓存实例的名称

refID

string

分布式缓存实例的ID

chargeMode

string

分布式缓存实例的包周期类型

blueprint样例

tosca_definitions_version: huaweicloud_tosca_version_1_0
inputs:
  dcs-name:
    default: my-dcsinstance
  dcs-description:
    default: dcs service
  dcs-capacity:
    default: 2
  dcs-vpcId:
    default: 09353759-e408-4b32-aeac-e2b9634eb281
  dcs-securityGroupId:
    default: 07f01d47-11fc-4b9b-bce3-f0f47350ad7a
  dcs-subnetId:
    default: 85786d98-06ed-4d33-a85c-572238649029
  dcs-password:
    default: "******"
  dcs-instanceMode:
    default: "ha"
  dcs-engineVersion:
    default: "5.0"
  dcs-availablityZone1:
  dcs-availablityZone2:
  dcs-specCode:
    default: "redis.single.xu1.large.2"
node_templates:
  my-dcs:
    type: HuaweiCloud.DCS.Redis
    properties:
      name: {get_input: dcs-name}
      description: {get_input: dcs-description}
      capacity: {get_input: dcs-capacity}
      vpcId: {get_input: dcs-vpcId}
      securityGroupId: {get_input: dcs-securityGroupId}
      subnetId: {get_input: dcs-subnetId}
      password: {get_input: dcs-password}
      instanceMode: {get_input: dcs-instanceMode}
      engineVersion: {get_input: dcs-engineVersion}
      availablityZone1: {get_input: dcs-availablityZone1}
      availablityZone2: {get_input: dcs-availablityZone2}
      specCode: {get_input: dcs-specCode}