文档

ALIYUN::KAFKA::Instance

更新时间:

ALIYUN::KAFKA::Instance类型用于创建Kafka实例。

语法

{
  "Type": "ALIYUN::KAFKA::Instance",
  "Properties": {
    "DeployType": Integer,
    "DiskType": String,
    "DeployOption": Map,
    "EipMax": Integer,
    "SpecType": String,
    "IoMax": Integer,
    "IoMaxSpec": String,
    "DiskSize": Integer,
    "TopicQuota": Integer,
    "PayType": String,
    "Tags": List,
    "DeletionForce": Boolean,
    "OpenConnector": Boolean,
    "PartitionNum": Integer
  }
}

属性

属性名称

类型

必须

允许更新

描述

约束

DeployType

Integer

部署类型。

取值:

  • 4:公网和VPC实例。

  • 5:VPC实例。

DiskType

String

磁盘类型。

取值:

  • 0:高效云盘。

  • 1:SSD。

DeployOption

Map

部署选项。

更多信息,请参见DeployOption属性

EipMax

Integer

公网流量。

当DeployType取值为4时,需指定该参数。

取值范围:1~160。

SpecType

String

规格类型。

取值:

  • normal:标准版(高写版)。

  • professional:专业版(高写版)。

  • professionalForHighRead:专业版(高读版)。

IoMax

Integer

流量峰值(不推荐)。

流量峰值和流量规格必须指定其中一个参数。如果同时指定,以流量规格为准。建议您只填写流量规格。

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

IoMaxSpec

String

流量规格(推荐)。

流量峰值和流量规格必须指定其中一个参数。如果同时指定,以流量规格为准。建议您只填写流量规格。

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

DiskSize

Integer

磁盘容量。

取值范围:500~96,000。

单位:GB。

TopicQuota

Integer

Topic的数量。

取值范围:50~79。

PayType

String

付费类型。

取值:

  • Hour:按小时付费。

  • Month:按月付费。

Tags

List

标签。

最多支持添加20个标签。

更多信息,请参见Tags属性

DeletionForce

Boolean

是否强制删除。

取值:

  • true:强制删除。

  • false(默认值):不强制删除。

OpenConnector

Boolean

是否开启Connector。

取值:

  • true:开启Connector。

  • false(默认值):关闭Connector。

说明

关于Connector的更多信息,请参见Connector概述

PartitionNum

Integer

分区数(推荐)。

要求如下:

  • 分区数和Topic规格必须选填一个,建议您只填写分区数。

  • 分区数和Topic规格同时填写时,将会按照老的Topic售卖模型去校验分区数和Topic规格是否等价。如不等价将返回失败,反之则按分区数进行购买。

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

Tags语法

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

Tags属性

属性名称

类型

必须

允许更新

描述

约束

Key

String

标签键。

长度为1~128个字符,不能以aliyunacs:开头,不能包含http://或者https://

Value

String

标签值。

长度为0~128个字符,不能以aliyunacs:开头,不能包含http://或者https://

DeployOption语法

"DeployOption": {
  "IsEipInner": Boolean,
  "VpcId": String,
  "ZoneId": String,
  "VSwitchId": String,
  "SecurityGroup": String,
  "DeployModule": String,
  "Name": String,
  "IsSetUserAndPassword": Boolean,
  "Username": String,
  "Password": String,
  "ServiceVersion": String,
  "Config": Map
}

DeployOption属性

属性名称

类型

必须

允许更新

描述

约束

IsEipInner

Boolean

是否支持EIP。

取值:

  • true:支持EIP。

  • false(默认值):不支持EIP。

EIP支持情况必须与实例类型一致。即公网和VPC实例取值为true,VPC实例取值为false。

DeployModule

String

部署模式。

取值:

  • vpc:VPC实例的部署模式。

  • eip:公网和VPC实例的部署模式。

VpcId

String

实例部署的专有网络ID。

ZoneId

String

实例部署的可用区ID。

VSwitchId

String

实例部署的交换机ID。

SecurityGroup

String

实例的安全组。

如果不指定该参数,消息队列Kafka版会自动为您的实例配置安全组。

Name

String

实例的名称。

IsSetUserAndPassword

Boolean

是否设置新的用户名和密码。

仅支持公网和VPC实例。取值:

  • true:设置新的用户名和密码。

  • false(默认值):不设置新的用户名和密码。

Username

String

用户名。

仅支持公网和VPC实例。

长度为8~40个字符,可包含英文字母和数字。

Password

String

用户密码。

仅支持公网和VPC实例。

长度为8~40个字符,可包含英文字母和数字,且必须同时包含小写英文字母、大写英文字母和数字。

ServiceVersion

String

部署的消息队列Kafka版的版本。

取值:

  • 0.10.2

  • 2.2.0

Config

Map

部署的消息队列Kafka版实例的初始配置。

配置信息必须是一个合法的JSON字符串。取值:

  • enable.vpc_sasl_ssl:是否开启VPC传输加密。取值:

    • true:开启VPC传输加密。如果开启,则须同时开启ACL。

    • false(默认值):关闭VPC传输加密。

  • enable.acl:是否开启ACL。取值:

    • true:开启ACL。

    • false(默认值):关闭ACL。

  • kafka.log.retention.hours:在磁盘容量充足的情况下,消息的最长保留时间。

    取值范围:24~480。

    默认值:72。

    单位:小时。

    说明

    磁盘容量不足(即磁盘水位达到85%)时,将提前删除旧的消息,以确保服务可用性。

  • kafka.message.max.bytes:消息队列Kafka版能收发的消息的最大值。

    取值范围:1,048,576~10,485,760。

    默认值:1,048,576。

    单位:字节。

    说明

    修改该配置前,请确认修改值是否匹配生产和消费客户端相应配置。

返回值

Fn::GetAtt

  • InstanceId:实例ID。

  • OrderId:订单ID。

  • Name:实例名称。

  • SslEndpoint:SSL接入点的IP接入点。

  • SaslDomainEndpoint:SASL接入点的域名接入点。

  • SslDomainEndpoint:SSL接入点的域名接入点。

  • DomainEndpoint:默认接入点的域名接入点。

  • Endpoint:默认接入点的IP接入点。

示例

  • YAML格式

    ROSTemplateFormatVersion: '2015-09-01'
    Parameters:
      VpcId:
        Type: String
        AssociationProperty: ALIYUN::ECS::VPC::VPCId
      ZoneId:
        Type: String
        AssociationProperty: ALIYUN::ECS::ZoneId
      VSwitchId:
        Type: String
        AssociationProperty: ALIYUN::ECS::VSwitch::VSwitchId
        AssociationPropertyMetadata:
          VpcId: ${VpcId}
          ZoneId: ${ZoneId}
      SecurityGroupId:
        Type: String
        AssociationProperty: ALIYUN::ECS::SecurityGroup::SecurityGroupId
        AssociationPropertyMetadata:
          VpcId: ${VpcId}
    Resources:
      Instance:
        Type: ALIYUN::KAFKA::Instance
        Properties:
          DeployType: 5
          SpecType: normal
          PayType: Hour
          DiskType: '1'
          DeployOption:
            VpcId:
              Ref: VpcId
            ZoneId:
              Ref: ZoneId
            VSwitchId:
              Ref: VSwitchId
            SecurityGroup:
              Ref: SecurityGroupId
            DeployModule: vpc
            ServiceVersion: 0.10.2
            Config:
              kafka.log.retention.hours: '33'
          DeletionForce: 'false'
          DiskSize: 500
          TopicQuota: 50
          OpenConnector: 'false'
          IoMaxSpec: alikafka.hw.2xlarge
    Outputs:
      InstanceId:
        Description: 'Id of the instance. '
        Value:
          Fn::GetAtt:
            - Instance
            - InstanceId
      OrderId:
        Description: 'Id of the order. '
        Value:
          Fn::GetAtt:
            - Instance
            - OrderId
      Name:
        Description: Name of the instance.
        Value:
          Fn::GetAtt:
            - Instance
            - Name
  • JSON格式

    {
      "ROSTemplateFormatVersion": "2015-09-01",
      "Parameters": {
        "VpcId": {
          "Type": "String",
          "AssociationProperty": "ALIYUN::ECS::VPC::VPCId"
        },
        "ZoneId": {
          "Type": "String",
          "AssociationProperty": "ALIYUN::ECS::ZoneId"
        },
        "VSwitchId": {
          "Type": "String",
          "AssociationProperty": "ALIYUN::ECS::VSwitch::VSwitchId",
          "AssociationPropertyMetadata": {
            "VpcId": "${VpcId}",
            "ZoneId": "${ZoneId}"
          }
        },
        "SecurityGroupId": {
          "Type": "String",
          "AssociationProperty": "ALIYUN::ECS::SecurityGroup::SecurityGroupId",
          "AssociationPropertyMetadata": {
            "VpcId": "${VpcId}"
          }
        }
      },
      "Resources": {
        "Instance": {
          "Type": "ALIYUN::KAFKA::Instance",
          "Properties": {
            "DeployType": 5,
            "SpecType": "normal",
            "PayType": "Hour",
            "DiskType": "1",
            "DeployOption": {
              "VpcId": {
                "Ref": "VpcId"
              },
              "ZoneId": {
                "Ref": "ZoneId"
              },
              "VSwitchId": {
                "Ref": "VSwitchId"
              },
              "SecurityGroup": {
                "Ref": "SecurityGroupId"
              },
              "DeployModule": "vpc",
              "ServiceVersion": "0.10.2",
              "Config": {
                "kafka.log.retention.hours": "33"
              }
            },
            "DeletionForce": "false",
            "DiskSize": 500,
            "TopicQuota": 50,
            "OpenConnector": "false",
            "IoMaxSpec": "alikafka.hw.2xlarge"
          }
        }
      },
      "Outputs": {
        "InstanceId": {
          "Description": "Id of the instance. ",
          "Value": {
            "Fn::GetAtt": [
              "Instance",
              "InstanceId"
            ]
          }
        },
        "OrderId": {
          "Description": "Id of the order. ",
          "Value": {
            "Fn::GetAtt": [
              "Instance",
              "OrderId"
            ]
          }
        },
        "Name": {
          "Description": "Name of the instance.",
          "Value": {
            "Fn::GetAtt": [
              "Instance",
              "Name"
            ]
          }
        }
      }
    }

更多示例,请参见创建Kafka实例和创建Topic的组合示例:JSON示例YAML示例

  • 本页导读 (1)
文档反馈