ALIYUN::ROCKETMQ5::Instance

ALIYUN::ROCKETMQ5::Instance类型用于创建消息队列RocketMQ版5.0系列实例。

语法

{
  "Type": "ALIYUN::ROCKETMQ5::Instance",
  "Properties": {
    "AutoRenewPeriod": Integer,
    "ProductInfo": Map,
    "ResourceGroupId": String,
    "AutoRenew": Boolean,
    "Period": Integer,
    "InternetInfo": Map,
    "SubSeriesCode": String,
    "Remark": String,
    "InstanceName": String,
    "SeriesCode": String,
    "PaymentType": String,
    "VpcInfo": Map,
    "PeriodUnit": String
  }
}

属性

属性名称

类型

必须

允许更新

描述

约束

AutoRenewPeriod

Integer

自动续费周期。

仅当开启自动续费时该参数有效。

单位:月。

取值:

按月续费:1、2、3、6、12。

ProductInfo

Map

实例规格信息。

更多信息,请参见ProductInfo属性

ResourceGroupId

String

资源组ID。

AutoRenew

Boolean

是否自动续费。

仅当实例付费类型为Subscription(包年包月)时,该参数生效,

取值:

  • true:开启自动续费。

  • false:不开启自动续费。

Period

Integer

购买时长。

仅当实例付费类型为Subscription(包年包月)时,该参数生效。

取值:

  • 按月购买:1、2、3、4、5、6。

  • 按年购买:1、2、3。

InternetInfo

Map

公网配置信息。

更多信息,请参见InternetInfo属性

SubSeriesCode

String

实例的子系列编码。

取值:

  • cluster_ha:集群高可用版。当主系列选择ultimate(铂金版)时,子系列只能选择为cluster_ha(集群高可用版)。

  • single_node:单节点测试版。

说明

实例创建成功后,子系列不支持变更。

子系列间具体差异,请参见产品选型

Remark

String

实例的备注信息。

InstanceName

String

待创建的实例名称。

不填写则以实例ID作为实例名称。

SeriesCode

String

实例的主系列编码。

取值:

  • standard:标准版

  • ultimate:铂金版

  • professional:专业版

说明

实例创建成功后,主系列只支持单向变更,只升不降,变更方向为:标准版 > 专业版 > 铂金版。例如,只支持从标准版变更到专业版,不支持从专业版降为标准版。

主系列间的具体差异,请参见产品选型

PaymentType

String

实例的付费类型。

取值:

  • PayAsYouGo:按量付费,一种后付费模式,即先使用再付费。

  • Subscription:包年包月,一种预付费模式,即先付费再使用。

更多信息,请参见计费概述

VpcInfo

Map

专有网络配置信息。

更多信息,请参见VpcInfo属性

PeriodUnit

String

购买时长的最小周期单位。

取值:

  • Month:按月购买。

  • Year:按年购买。

ProductInfo语法

"ProductInfo": {
  "SendReceiveRatio": Number,
  "MessageRetentionTime": Integer,
  "AutoScaling": Boolean,
  "MsgProcessSpec": String
}

ProductInfo属性

属性名称

类型

必须

允许更新

描述

约束

SendReceiveRatio

Number

消息发送和接收的比例。

取值范围为0.2~0.5。

MessageRetentionTime

Integer

消息保存时长。

单位:小时。

取值范围,请参见资源配额

消息队列RocketMQ版5.0系列的消息存储完全实现Serverless弹性,按照实际存储空间收取费用,您可以通过调整消息保存时长来控制消息的存储容量。

更多信息,请参见存储费用

AutoScaling

Boolean

是否开启规格外突发弹性能力。

取值:

  • true:开启弹性能力。

  • false:不开启弹性能力。

开启弹性突发能力后,消息队列RocketMQ允许该实例在一定范围内超过基础规格限制的TPS,且超过基础规格外的部分,需要收取额外的弹性规格费用。

更多信息,请参见消息收发计算规格费用

说明

仅部分规格的实例支持开启弹性突发规格能力。

具体支持的实例,请参见实例规格

MsgProcessSpec

String

消息收发计算规格。

关于消息收发TPS上限,请参见实例规格

InternetInfo语法

"InternetInfo": {
  "IpWhitelist": List,
  "InternetSpec": String,
  "FlowOutBandwidth": Integer
}

InternetInfo属性

属性名称

类型

必须

允许更新

描述

约束

IpWhitelist

List

公网访问IP白名单。

仅公网接入点支持配置IP白名单,VPC接入点暂不支持。

  • 若不配置IP白名单,则默认所有IP地址段通过公网访问消息队列RocketMQ版5.0系列服务端。

  • 若配置IP白名单,则仅允许白名单内的IP地址通过公网访问消息队列RocketMQ版5.0系列服务端。

InternetSpec

String

是否开通公网访问。

取值:

  • enable:开启公网访问。

  • disable:关闭公网访问。

实例默认支持VPC访问方式,若开启公网访问,消息队列RocketMQ版5.0系列会收取公网下行带宽费用。

具体计费信息,请参见公网访问费用

FlowOutBandwidth

Integer

公网带宽规格。

单位:Mb/s。

只有在公网计费类型为按固定带宽计费的时候才需要填写。

取值范围:[1 - 1000]。

VpcInfo语法

"VpcInfo": {
  "VpcId": String,
  "VSwitchId": String,
  "SecurityGroupId": String,
  "VSwitchIds": List
}

VpcInfo属性

属性名称

类型

必须

允许更新

描述

约束

VpcId

String

待创建实例所关联的专有网络的ID。

说明

消息队列RocketMQ版5.0系列实例创建后,选择的VPC不支持变更。若要修改关联的VPC,您需要先释放已购买的消息队列RocketMQ版5.0系列实例,再重新购买。

VSwitchId

String

实例所关联的交换机ID。

说明

消息队列RocketMQ版5.0系列实例创建后,选择的交换机不支持变更。若要修改关联的交换机,您需要先释放已购买的消息队列RocketMQ版5.0系列实例,再重新购买。

SecurityGroupId

String

实例所属的安全组ID。

VSwitchIds

List

实例所关联的交换机ID列表。

返回值

Fn::GetAtt

  • InstanceName:实例名称。

  • VpcEndpoint:VPC域名。

  • InstanceId:实例ID。

  • InternetEndpoint:实例的公网域名。

示例

YAML格式

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  VpcId:
    Type: String
    AssociationProperty: ALIYUN::ECS::VPC::VPCId
  VSwitchId:
    Type: String
    AssociationProperty: ALIYUN::ECS::VSwitch::VSwitchId
    AssociationPropertyMetadata:
      VpcId: ${VpcId}
Resources:
  Instance:
    Type: ALIYUN::ROCKETMQ5::Instance
    Properties:
      ProductInfo:
        MsgProcessSpec: rmq.s2.2xlarge
        SendReceiveRatio: 0.2
        MessageRetentionTime: 72
      InternetInfo:
        InternetSpec: disable
        FlowOutBandwidth: uninvolved
      SubSeriesCode: cluster_ha
      SeriesCode: standard
      PaymentType: PayAsYouGo
      VpcInfo:
        VpcId:
          Ref: VpcId
        VSwitchId:
          Ref: VSwitchId
Outputs:
  InstanceName:
    Description: Instance name.
    Value:
      Fn::GetAtt:
        - Instance
        - InstanceName
  VpcEndpoint:
    Description: VPC endpoint.
    Value:
      Fn::GetAtt:
        - Instance
        - VpcEndpoint
  InstanceId:
    Description: Instance ID created.
    Value:
      Fn::GetAtt:
        - Instance
        - InstanceId
  InternetEndpoint:
    Description: Internet endpoint.
    Value:
      Fn::GetAtt:
        - Instance
        - InternetEndpoint

JSON格式

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
    "VpcId": {
      "Type": "String",
      "AssociationProperty": "ALIYUN::ECS::VPC::VPCId"
    },
    "VSwitchId": {
      "Type": "String",
      "AssociationProperty": "ALIYUN::ECS::VSwitch::VSwitchId",
      "AssociationPropertyMetadata": {
        "VpcId": "${VpcId}"
      }
    }
  },
  "Resources": {
    "Instance": {
      "Type": "ALIYUN::ROCKETMQ5::Instance",
      "Properties": {
        "ProductInfo": {
          "MsgProcessSpec": "rmq.s2.2xlarge",
          "SendReceiveRatio": 0.2,
          "MessageRetentionTime": 72
        },
        "InternetInfo": {
          "InternetSpec": "disable",
          "FlowOutBandwidth": "uninvolved"
        },
        "SubSeriesCode": "cluster_ha",
        "SeriesCode": "standard",
        "PaymentType": "PayAsYouGo",
        "VpcInfo": {
          "VpcId": {
            "Ref": "VpcId"
          },
          "VSwitchId": {
            "Ref": "VSwitchId"
          }
        }
      }
    }
  },
  "Outputs": {
    "InstanceName": {
      "Description": "Instance name.",
      "Value": {
        "Fn::GetAtt": [
          "Instance",
          "InstanceName"
        ]
      }
    },
    "VpcEndpoint": {
      "Description": "VPC endpoint.",
      "Value": {
        "Fn::GetAtt": [
          "Instance",
          "VpcEndpoint"
        ]
      }
    },
    "InstanceId": {
      "Description": "Instance ID created.",
      "Value": {
        "Fn::GetAtt": [
          "Instance",
          "InstanceId"
        ]
      }
    },
    "InternetEndpoint": {
      "Description": "Internet endpoint.",
      "Value": {
        "Fn::GetAtt": [
          "Instance",
          "InternetEndpoint"
        ]
      }
    }
  }
}