All Products
Search
Document Center

Resource Orchestration Service:ALIYUN::ROCKETMQ5::Instance

Last Updated:Dec 05, 2023

ALIYUN::ROCKETMQ5::Instance is used to create an ApsaraMQ for RocketMQ 5.0 instance.

Syntax

{
  "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
  }
}

Properties

Property

Type

Required

Editable

Description

Constraint

AutoRenewPeriod

Integer

No

No

The auto-renewal cycle of the instance.

This property takes effect only when auto-renewal is enabled for the instance.

Unit: months.

Valid values:

1, 2, 3, 6, and 12

ProductInfo

Map

Yes

Yes

The information about the instance specification.

For more information, see ProductInfo properties.

ResourceGroupId

String

No

No

The ID of the resource group.

None.

AutoRenew

Boolean

No

No

Specifies whether to enable auto-renewal for the instance.

This property takes effect only when PaymentType is set to Subscription.

Valid values:

  • true

  • false

Period

Integer

No

No

The subscription duration of the instance.

This property takes effect only when PaymentType is set to Subscription.

Valid values:

  • Valid values when PeriodUnit is set to Month: 1, 2, 3, 4, 5, and 6.

  • Valid values when PeriodUnit is set to Year: 1, 2, and 3.

InternetInfo

Map

Yes

Yes

The configurations of the Internet.

For more information, see InternetInfo properties.

SubSeriesCode

String

Yes

No

The sub-category edition of the instance.

Valid values:

  • cluster_ha: High-availability Cluster Edition. If you set SeriesCode to ultimate, you must set SubSeriesCode to cluster_ha.

  • single_node: Standalone Edition. Standalone Edition instances are suitable for test environments.

Note

After you create an ApsaraMQ for RocketMQ 5.0 instance, you cannot change the sub-category edition of the instance.

Remark

String

No

Yes

The remarks about the instance.

None.

InstanceName

String

No

Yes

The name of the instance.

If you do not specify this property, the instance ID is used as the instance name.

SeriesCode

String

Yes

No

The primary edition of the instance.

Valid values:

  • standard: Standard Edition

  • ultimate: Platinum Edition

  • professional: Professional Edition

Note

After you create an ApsaraMQ for RocketMQ 5.0 instance, you can only upgrade the primary edition of the instance. The following editions are sorted in ascending order: Standard Edition, Professional Edition, and Platinum Edition. You cannot downgrade the primary edition of the instance. For example, an ApsaraMQ for RocketMQ 5.0 instance can only be upgraded from Standard Edition to Professional Edition, but cannot be downgraded from Professional Edition to Standard Edition.

PaymentType

String

No

No

The billing method of the instance.

Valid values:

  • PayAsYouGo: You pay for the instance after you use it.

  • Subscription: You pay for the instance before you use it.

VpcInfo

Map

Yes

No

The configurations of the virtual private cloud (VPC).

For more information, see VpcInfo properties.

PeriodUnit

String

No

No

The unit of the subscription duration.

Valid values:

  • Month

  • Year

ProductInfo syntax

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

ProductInfo properties

Property

Type

Required

Editable

Description

Constraint

SendReceiveRatio

Number

No

Yes

The ratio between sent messages and received messages in the instance.

Valid values: 0.2 to 0.5.

MessageRetentionTime

Integer

No

Yes

The retention period of the message.

Unit: hours.

The storage of ApsaraMQ for RocketMQ 5.0 messages is in serverless scaling mode. You are charged based on the actual used storage. The storage capacity of messages varies based on the retention period that you specify for the messages.

AutoScaling

Boolean

No

No

Specifies whether to enable elastic transactions per second (TPS) for the instance.

Valid values:

  • true

  • false

After you enable the elastic TPS feature for an ApsaraMQ for RocketMQ instance, you can use a specific number of TPS that exceeds the specification limit. You are charged for the exceeded TPS.

Note

The elastic TPS feature is supported only by specific instance editions.

MsgProcessSpec

String

Yes

No

The computing specification that is used to send and receive messages.

None.

InternetInfo syntax

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

InternetInfo properties

Property

Type

Required

Editable

Description

Constraint

IpWhitelist

List

No

Yes

The IP address whitelist that includes the IP addresses that are allowed to access the ApsaraMQ for RocketMQ broker over the Internet.

This parameter can be configured only if you use a public endpoint to access the ApsaraMQ for RocketMQ broker.

  • If you do not configure an IP address whitelist, all IP addresses are allowed to access the ApsaraMQ for RocketMQ 5.0 broker over the Internet.

  • If you configure an IP address whitelist, only IP addresses in the whitelist are allowed to access the ApsaraMQ for RocketMQ 5.0 broker over the Internet.

InternetSpec

String

Yes

Yes

Specifies whether to enable the Internet access feature.

Valid values:

  • enable

  • disable

By default, ApsaraMQ for RocketMQ 5.0 instances support the VPC access feature. If you enable the Internet access feature, you are charged for downstream Internet bandwidth.

FlowOutBandwidth

Integer

No

Yes

The Internet bandwidth.

Unit: MB/s.

This property must be specified only when the metering method for Internet usage is pay-by-bandwidth.

Valid values: 1 to 1000.

VpcInfo syntax

"VpcInfo": {
  "VpcId": String,
  "VSwitchId": String
}

VpcInfo properties

Property

Type

Required

Editable

Description

Constraint

VpcId

String

Yes

No

The ID of the VPC in which you want to create the instance.

Note

After you create an ApsaraMQ for RocketMQ 5.0 instance, you cannot change the VPC of the instance. If you want to change the VPC, you must release the instance and purchase a new ApsaraMQ for RocketMQ 5.0 instance.

VSwitchId

String

Yes

No

The ID of the vSwitch with which you want to associate the instance.

Note

After you create an ApsaraMQ for RocketMQ 5.0 instance, you cannot change the vSwitch of the instance. If you want to change the vSwitch, you must release the instance and purchase a new ApsaraMQ for RocketMQ 5.0 instance.

Return values

Fn::GetAtt

  • InstanceName: the name of the instance.

  • VpcEndpoint: the VPC endpoint of the instance.

  • InstanceId: the ID of the instance.

  • InternetEndpoint: the public endpoint of the instance.

Examples

  • YAML format

    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 format

    {
      "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"
            ]
          }
        }
      }
    }