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