购买Kafka实例
Kafka实例采用物理隔离的方式部署,租户独占Kafka实例。支持用户自定义规格和自定义特性,您可以根据业务需要定制相应计算能力和存储空间的Kafka实例。
准备实例依赖资源
创建Kafka实例前,请提前准备好如表1所示资源。
资源名称 |
要求 |
创建指导 |
---|---|---|
VPC和子网 |
Kafka实例可以使用当前账号下已创建的VPC和子网,也可以使用新创建的VPC和子网,请根据实际需要进行配置。 在创建VPC和子网时应注意:
|
创建VPC和子网的操作指导请参考《虚拟私有云 用户指南》的创建虚拟私有云和子网。 |
安全组 |
不同的Kafka实例可以重复使用相同的安全组,也可以使用不同的安全组,请根据实际需要进行配置。 安全组与Kafka实例必须在相同的区域。 连接Kafka实例前,请根据连接方式配置对应的安全组,具体请参考表2。 |
创建安全组的操作指导请参考《虚拟私有云 用户指南》的创建安全组,为安全组添加规则的操作指导请参考《虚拟私有云 用户指南》的添加安全组规则。 |
快速购买Kafka集群实例
- 登录管理控制台。
- 在管理控制台左上角单击
,选择区域。
不同区域的云服务产品之间内网互不相通。请就近选择靠近您业务的区域,可减少网络时延,提高访问速度。
- 在管理控制台左上角单击
,选择“应用服务 > 分布式消息服务 Kafka”,进入Kafka实例列表页面。
- 单击页面右上方的“购买Kafka实例”。
- 在“快速购买”页签中,设置实例基础配置。
表2 实例基础配置参数说明 参数名称
说明
计费模式
- 按需付费:一种后付费模式,即先使用再付费,按照Kafka实例实际使用时长计费,秒级计费,按小时结算。
区域
不同区域的云服务产品之间内网互不相通。请就近选择靠近您业务的区域,可减少网络时延,提高访问速度。
可用区
可用区指在同一区域下,电力、网络隔离的物理区域,可用区之间内网互通,不同可用区之间物理隔离。
根据实际情况选择1个或者3个及以上可用区。实例创建成功后,不支持修改可用区。
- 设置套餐规格。
分布式消息服务Kafka版已经预设了几种规格,请根据需要选择。磁盘类型和磁盘大小根据实际需求进行设置。Kafka实例创建后,磁盘类型不支持修改。
存储空间用于存储消息(包括副本中的消息)、日志和元数据,建议根据业务消息体积、副本数量以及预留磁盘大小选择存储空间大小。每个Kafka代理会预留33GB的磁盘空间,用于存储日志和元数据。
创建实例时会进行磁盘格式化,磁盘格式化会导致实际可用磁盘为总磁盘的93%~95%。
- 设置网络信息。
表3 实例网络参数说明 参数名称
说明
虚拟私有云
选择已经创建好的或共享的虚拟私有云。
虚拟私有云可以为您的Kafka实例构建隔离的、能自主配置和管理的虚拟网络环境。您可以单击右侧的“管理虚拟私有云”,跳转到“虚拟私有云”页面,查看或创建虚拟私有云。
虚拟私有云在Kafka实例创建完成后,不支持修改。
子网
选择已经创建好的子网。
子网在Kafka实例创建完成后,不支持修改。
IPv6
子网开启IPv6后,页面才显示此参数。开启IPv6后,客户端可以使用IPv6地址连接实例。
实例创建成功后,不支持修改IPv6开关。
内网IP地址
根据实际需求选择“自动分配”或“手动选择”。
- 自动分配:系统自动分配子网中可用的IP地址。
- 手动选择:在下拉框中勾选指定的IP地址。如果指定的IP地址数量少于代理数量时,系统会自动为剩余代理分配IP地址。
开启IPv6后,控制台不显示此参数。
安全组
选择已经创建好的安全组。
安全组是一组对Kafka实例的访问规则的集合。您可以单击右侧的“创建安全组”,跳转到“安全组”页面,查看或创建安全组。
客户端连接Kafka实例前,请根据不同的连接方式配置对应的安全组规则,否则会连接失败。具体的安全组规则请参考表2。
- 设置实例访问方式。
表4 实例访问方式参数说明 参数名称
说明
接入方式
接入方式分为以下两种:
内网访问不支持关闭,明文接入和密文接入至少开启一个。
kafka安全协议
- SASL_SSL:采用SASL方式进行认证,数据通过SSL证书进行加密传输,安全性更高。
- SASL_PLAINTEXT:采用SASL方式进行认证,数据通过明文传输,性能更好。由于明文传输,建议使用SCRAM-SHA-512机制。
SASL认证机制
- 未勾选“PLAIN”时,使用SCRAM-SHA-512机制对账号密码进行认证。
- 勾选“PLAIN”后,同时支持SCRAM-SHA-512机制和PLAIN机制,根据实际情况选择其中任意一种配置连接。
密文接入成功开启后,SASL PLAIN机制不支持修改。
什么是SCRAM-SHA-512机制和PLAIN机制?
- SCRAM-SHA-512机制:采用哈希算法对用户名与密码生成凭证,进行身份校验的安全认证机制,比PLAIN机制安全性更高。
- PLAIN机制:一种简单的用户名密码校验机制。
SSL用户名
客户端用于连接Kafka实例的用户名。
用户名需要符合以下命名规则:由英文字母开头,且只能由英文字母、数字、中划线、下划线组成,长度为4~64个字符。
密文接入成功开启后,用户名不支持修改。
密码
客户端用于连接Kafka实例的密码。
密码需要符合以下规则:
- 长度为8~32个字符。
- 至少包含以下字符中的3种:大写字母、小写字母、数字、特殊字符`~!@#$%^&*()-_=+\|[{}];:'",<.>?和空格,并且不能以-开头。
- 不能与用户名或倒序的用户名相同。
- 设置高级配置。
表5 高级配置参数说明 参数名称
说明
实例名称
名称支持自定义,但需要符合命名规则:长度为4~64个字符,由英文字母开头,只能由英文字母、数字、中划线、下划线组成。
企业项目
该参数针对企业用户使用。
企业项目是一种云资源管理方式,企业项目管理服务提供统一的云资源按项目管理,以及项目内的资源管理、成员管理,默认项目为default。
容量阈值策略
设置磁盘使用达到容量阈值后的消息处理策略,容量阈值为95%。- 自动删除:可以正常生产和消费消息,但是会删除最早的10%的消息,以保证磁盘容量充足。该场景优先保障业务不中断,数据存在丢失的风险。
- 生产受限:无法继续生产消息,但可以继续消费消息。该场景适用于对数据不能丢的业务场景,但是会导致生产业务失败。
Kafka自动创建Topic
选择是否开启Kafka自动创建Topic功能。
开启Kafka自动创建Topic功能表示向一个未创建的Topic生产或消费消息时,系统会自动创建此Topic,此Topic的默认参数值如表6所示。
集群实例如果在“配置参数”中修改“log.retention.hours”(老化时间)、“default.replication.factor”(副本数)或“num.partitions”(分区数)的参数值,此后自动创建的Topic参数值为修改后的参数值。例如:“num.partitions”修改为“5”,自动创建的Topic参数值如表6所示。
标签
标签用于标识云资源,当您拥有相同类型的许多云资源时,可以使用标签按各种维度(例如用途、所有者或环境)对云资源进行分类。
如您的组织已经设定分布式消息服务Kafka版的相关标签策略,则需按照标签策略规则为Kafka实例添加标签。标签如果不符合标签策略的规则,则可能会导致Kafka实例创建失败,请联系组织管理员了解标签策略详情。
- 如果您已经预定义了标签,在“标签键”和“标签值”中选择已经定义的标签键值对。另外,您可以单击“创建预定义标签”,跳转到标签管理服务页面,查看已经预定义的标签,或者创建新的标签。
- 您也可以直接在“标签键”和“标签值”中设置标签。
当前每个Kafka实例最多支持设置20个不同标签,标签的命名规格,请参考配置Kafka实例标签章节。
Manager Username
Kafka Manager名称支持自定义,但需要符合命名规则:长度为4~64个字符,由英文字母开头,只能由英文字母、数字、中划线、下划线组成。
输入“manager-test”。
Password
设置Kafka Manager的密码。
密码需要符合以下命名规则:
- 长度为8~32个字符。
- 至少包含以下字符中的3种:大写字母、小写字母、数字、特殊字符`~!@#$%^&*()-_=+\|[{}];:'",<.>?和空格,并且不能以-开头。
- 不能与用户名或倒序的用户名相同。
描述
设置实例的描述信息,长度为0~1024个字符。
- 单击“确认订单”,进入“确认配置”页面。
- 确认实例信息无误后,单击“提交”。
- 在实例列表页面,查看Kafka实例是否创建成功。
创建实例大约需要3到15分钟,此时实例的“状态”为“创建中”。
- 当实例的“状态”变为“运行中”时,说明实例创建成功。
- 当实例的“状态”变为“创建失败”,请参考删除Kafka实例,删除创建失败的实例,然后重新创建。如果重新创建仍然失败,请联系客服。
创建失败的实例,不会占用其他资源。
自定义购买Kafka集群实例
- 登录管理控制台。
- 在管理控制台左上角单击
,选择区域。
不同区域的云服务产品之间内网互不相通。请就近选择靠近您业务的区域,可减少网络时延,提高访问速度。
- 在管理控制台左上角单击
,选择“应用服务 > 分布式消息服务 Kafka”,进入Kafka实例列表页面。
- 单击页面右上方的“购买Kafka实例”。
- 在“自定义购买”页签中,设置实例基础配置。
表7 实例基础配置参数说明 参数名称
说明
计费模式
- 按需付费:一种后付费模式,即先使用再付费,按照Kafka实例实际使用时长计费,秒级计费,按小时结算。
区域
不同区域的云服务产品之间内网互不相通。请就近选择靠近您业务的区域,可减少网络时延,提高访问速度。
可用区
可用区指在同一区域下,电力、网络隔离的物理区域,可用区之间内网互通,不同可用区之间物理隔离。
根据实际情况选择1个或者3个及以上可用区。实例创建成功后,不支持修改可用区。
- 设置实例规格信息。
表8 实例规格参数说明 参数名称
说明
版本
Kafka的版本号,支持1.1.0、2.3.0、2.7、3.x。
实例创建后,版本号不支持修改。
部署架构
选择“集群”。
代理规格
请根据业务需求选择相应的代理规格。
单个代理最大分区数*代理数量=实例分区数上限。当所有Topic的总分区数大于实例分区数上限时,创建Topic失败。
代理数量
选择代理数量。
类型
选择存储Kafka数据的磁盘类型。Kafka实例创建后,磁盘类型不支持修改。
容量
选择存储Kafka数据的磁盘大小。
存储空间用于存储消息(包括副本中的消息)、日志和元数据,建议根据业务消息体积、副本数量以及预留磁盘大小选择存储空间大小。每个Kafka代理会预留33GB的磁盘空间,用于存储日志和元数据。
创建实例时会进行磁盘格式化,磁盘格式化会导致实际可用磁盘为总磁盘的93%~95%。
图1 实例规格 - 设置网络信息。
表9 实例网络参数说明 参数名称
说明
虚拟私有云
选择已经创建好的或共享的虚拟私有云。
虚拟私有云可以为您的Kafka实例构建隔离的、能自主配置和管理的虚拟网络环境。您可以单击右侧的“管理虚拟私有云”,跳转到“虚拟私有云”页面,查看或创建虚拟私有云。
虚拟私有云在Kafka实例创建完成后,不支持修改。
子网
选择已经创建好的子网。
子网在Kafka实例创建完成后,不支持修改。
IPv6
子网开启IPv6后,页面才显示此参数。开启IPv6后,客户端可以使用IPv6地址连接实例。
实例创建成功后,不支持修改IPv6开关。
内网IP地址
根据实际需求选择“自动分配”或“手动选择”。
- 自动分配:系统自动分配子网中可用的IP地址。
- 手动选择:在下拉框中勾选指定的IP地址。如果指定的IP地址数量少于代理数量时,系统会自动为剩余代理分配IP地址。
开启IPv6后,控制台不显示此参数。
安全组
选择已经创建好的安全组。
安全组是一组对Kafka实例的访问规则的集合。您可以单击右侧的“创建安全组”,跳转到“安全组”页面,查看或创建安全组。
客户端连接Kafka实例前,请根据不同的连接方式配置对应的安全组规则,否则会连接失败。具体的安全组规则请参考表2。
- 设置实例访问方式。
表10 实例访问方式参数说明 参数名称
说明
接入方式
接入方式分为以下两种:
内网访问不支持关闭,明文接入和密文接入至少开启一个。
kafka安全协议
- SASL_SSL:采用SASL方式进行认证,数据通过SSL证书进行加密传输,安全性更高。
- SASL_PLAINTEXT:采用SASL方式进行认证,数据通过明文传输,性能更好。由于明文传输,建议使用SCRAM-SHA-512机制。
SASL认证机制
- 未勾选“PLAIN”时,使用SCRAM-SHA-512机制对账号密码进行认证。
- 勾选“PLAIN”后,同时支持SCRAM-SHA-512机制和PLAIN机制,根据实际情况选择其中任意一种配置连接。
密文接入成功开启后,SASL PLAIN机制不支持修改。
什么是SCRAM-SHA-512机制和PLAIN机制?
- SCRAM-SHA-512机制:采用哈希算法对用户名与密码生成凭证,进行身份校验的安全认证机制,比PLAIN机制安全性更高。
- PLAIN机制:一种简单的用户名密码校验机制。
SSL用户名
客户端用于连接Kafka实例的用户名。
用户名需要符合以下命名规则:由英文字母开头,且只能由英文字母、数字、中划线、下划线组成,长度为4~64个字符。
密文接入成功开启后,用户名不支持修改。
密码
客户端用于连接Kafka实例的密码。
密码需要符合以下规则:
- 长度为8~32个字符。
- 至少包含以下字符中的3种:大写字母、小写字母、数字、特殊字符`~!@#$%^&*()-_=+\|[{}];:'",<.>?和空格,并且不能以-开头。
- 不能与用户名或倒序的用户名相同。
- 设置高级配置。
表11 高级配置参数说明 参数名称
说明
实例名称
名称支持自定义,但需要符合命名规则:长度为4~64个字符,由英文字母开头,只能由英文字母、数字、中划线、下划线组成。
企业项目
该参数针对企业用户使用。
企业项目是一种云资源管理方式,企业项目管理服务提供统一的云资源按项目管理,以及项目内的资源管理、成员管理,默认项目为default。
容量阈值策略
设置磁盘使用达到容量阈值后的消息处理策略,容量阈值为95%。- 自动删除:可以正常生产和消费消息,但是会删除最早的10%的消息,以保证磁盘容量充足。该场景优先保障业务不中断,数据存在丢失的风险。
- 生产受限:无法继续生产消息,但可以继续消费消息。该场景适用于对数据不能丢的业务场景,但是会导致生产业务失败。
Kafka自动创建Topic
选择是否开启Kafka自动创建Topic功能。
开启Kafka自动创建Topic功能表示向一个未创建的Topic生产或消费消息时,系统会自动创建此Topic,此Topic的默认参数值如表12所示。
集群实例如果在“配置参数”中修改“log.retention.hours”(老化时间)、“default.replication.factor”(副本数)或“num.partitions”(分区数)的参数值,此后自动创建的Topic参数值为修改后的参数值。例如:“num.partitions”修改为“5”,自动创建的Topic参数值如表12所示。
标签
标签用于标识云资源,当您拥有相同类型的许多云资源时,可以使用标签按各种维度(例如用途、所有者或环境)对云资源进行分类。
如您的组织已经设定分布式消息服务Kafka版的相关标签策略,则需按照标签策略规则为Kafka实例添加标签。标签如果不符合标签策略的规则,则可能会导致Kafka实例创建失败,请联系组织管理员了解标签策略详情。
- 如果您已经预定义了标签,在“标签键”和“标签值”中选择已经定义的标签键值对。另外,您可以单击“查看预定义标签”,跳转到标签管理服务页面,查看已经预定义的标签,或者创建新的标签。
- 您也可以直接在“标签键”和“标签值”中设置标签。
当前每个Kafka实例最多支持设置20个不同标签,标签的命名规格,请参考配置Kafka实例标签章节。
Manager Username
Kafka Manager名称支持自定义,但需要符合命名规则:长度为4~64个字符,由英文字母开头,只能由英文字母、数字、中划线、下划线组成。
输入“manager-test”。
Password
设置Kafka Manager的密码。
密码需要符合以下命名规则:
- 长度为8~32个字符。
- 至少包含以下字符中的3种:大写字母、小写字母、数字、特殊字符`~!@#$%^&*()-_=+\|[{}];:'",<.>?和空格,并且不能以-开头。
- 不能与用户名或倒序的用户名相同。
描述
设置实例的描述信息,长度为0~1024个字符。
- 在页面右侧“配置概要”中,查看已选择的实例配置。
- 确认配置无误后,单击“确认订单”,进入“确认配置”页面。
- 确认实例信息无误后,单击“提交”。
- 在实例列表页面,查看Kafka实例是否创建成功。
创建实例大约需要3到15分钟,此时实例的“状态”为“创建中”。
- 当实例的“状态”变为“运行中”时,说明实例创建成功。
- 当实例的“状态”变为“创建失败”,请参考删除Kafka实例,删除创建失败的实例,然后重新创建。如果重新创建仍然失败,请联系客服。
创建失败的实例,不会占用其他资源。
购买相同配置的Kafka实例
若您需购买与当前Kafka实例配置一致的新实例,可通过“购买相同配置”功能,一键复用当前实例配置,快速完成新实例购买,大幅节省配置时间。
- 登录管理控制台。
- 在左上角单击
,选择区域。
不同区域的云服务产品之间内网互不相通。请就近选择靠近您业务的区域,可减少网络时延,提高访问速度。
- 在管理控制台左上角单击
,选择“应用服务 > 分布式消息服务 Kafka”,进入Kafka实例列表页面。
- 选择目标Kafka实例,单击“操作”列下的“更多 > 购买相同配置”,进入“购买Kafka实例”页面。
- 系统已自动复制目标Kafka实例的参数配置,根据需要调整待购买Kafka实例的参数配置。参数配置的详细内容,请参见自定义购买Kafka集群实例。
为安全起见,当复制的Kafka实例存在如下场景时,系统不会自动复制相应的参数配置,需要您手动配置:
- 开启密文接入的Kafka实例,需要重新设置SSL用户名和密码。
- 开启公网访问的Kafka实例,需要重新设置公网IP地址。
- 指定内网IP地址的Kafka实例,需要在“内网IP地址”中重新设置为“手动选择”,并指定相应的内网IP地址。
- 目标Kafka实例的名称不会被复制,需要重新设置Kafka实例名称。
- 在页面右侧“配置概要”中,查看已选择的实例配置。
- 确认配置无误后,单击“确认订单”,进入“确认配置”页面。
- 确认实例信息无误后,单击“提交”。
- 在实例列表页面,查看Kafka实例是否创建成功。
创建实例大约需要3到15分钟,此时实例的“状态”为“创建中”。
- 当实例的“状态”变为“运行中”时,说明实例创建成功。
- 当实例的“状态”变为“创建失败”,请参考删除Kafka实例,删除创建失败的实例,然后重新创建。如果重新创建仍然失败,请联系客服。
创建失败的实例,不会占用其他资源。