语法
{
"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 | 是 | 否 | 部署类型。 | 取值: |
DiskType | String | 是 | 否 | 磁盘类型。 | 取值: |
DeployOption | Map | 否 | 否 | 部署选项。 | 更多信息,请参见DeployOption属性。 |
EipMax | Integer | 否 | 是 | 公网流量。 | 当DeployType取值为4时,需指定该参数。 取值范围:1~160。 |
SpecType | String | 否 | 是 | 规格类型。 | 取值: |
IoMax | Integer | 否 | 是 | 流量峰值(不推荐)。 | 流量峰值和流量规格必须指定其中一个参数。如果同时指定,以流量规格为准。建议您只填写流量规格。 更多信息,请参见计费概述。 |
IoMaxSpec | String | 否 | 是 | 流量规格(推荐)。 | 流量峰值和流量规格必须指定其中一个参数。如果同时指定,以流量规格为准。建议您只填写流量规格。 更多信息,请参见计费概述。 |
DiskSize | Integer | 是 | 是 | 磁盘容量。 | 取值范围:500~96,000。 单位:GB。 |
TopicQuota | Integer | 否 | 是 | Topic的数量。 | 取值范围:50~79。 |
PayType | String | 否 | 否 | 付费类型。 | 取值: |
Tags | List | 否 | 是 | 标签。 | 最多支持添加20个标签。 更多信息,请参见Tags属性。 |
DeletionForce | Boolean | 否 | 是 | 是否强制删除。 | 取值: true:强制删除。 false(默认值):不强制删除。
|
OpenConnector | Boolean | 否 | 否 | 是否开启Connector。 | 取值: true:开启Connector。 false(默认值):关闭Connector。
|
PartitionNum | Integer | 否 | 是 | 分区数(推荐)。 | 要求如下: 更多信息,请参见计费概述。 |
Tags语法
"Tags": [
{
"Key": String,
"Value": String
}
]
Tags属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
Key | String | 是 | 否 | 标签键。 | 长度为1~128个字符,不能以aliyun 和acs: 开头,不能包含http:// 或者https:// 。 |
Value | String | 否 | 否 | 标签值。 | 长度为0~128个字符,不能以aliyun 和acs: 开头,不能包含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版的版本。 | 取值: |
Config | Map | 否 | 否 | 部署的消息队列Kafka版实例的初始配置。 | 配置信息必须是一个合法的JSON字符串。取值: enable.vpc_sasl_ssl:是否开启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示例。