更新时间:2024-10-10 GMT+08:00

购买Kafka实例

Kafka实例采用物理隔离的方式部署,租户独占Kafka实例。支持用户自定义规格和自定义特性,您可以根据业务需要定制相应计算能力和存储空间的Kafka实例。

准备实例依赖资源

创建Kafka实例前,请提前准备好如表1所示资源。

表1 Kafka实例依赖资源

资源名称

要求

创建指导

VPC和子网

Kafka实例可以使用当前账号下已创建的VPC和子网,也可以使用新创建的VPC和子网,还可以使用共享VPC和子网,请根据实际需要进行配置。

共享VPC是基于资源访问管理(Resource Access Manager,简称RAM)服务的机制,VPC的所有者可以将VPC内的子网共享给一个或者多个账号使用。通过共享VPC功能,可以简化网络配置,帮助您统一配置和运维多个账号下的资源,有助于提升资源的管控效率,降低运维成本。有关VPC子网共享的更多信息,请参见共享VPC

在创建VPC和子网时应注意:

  • 创建的VPC与Kafka实例在相同的区域。
  • 子网开启IPv6后,Kafka实例支持IPv6功能。Kafka实例开启IPv6后,客户端可以使用IPv6地址连接实例。

创建VPC和子网的操作指导请参考创建虚拟私有云和子网,若需要在已有VPC上创建和使用新的子网,请参考为虚拟私有云创建新的子网

安全组

不同的Kafka实例可以重复使用相同的安全组,也可以使用不同的安全组,请根据实际需要进行配置。

连接Kafka实例前,请根据连接方式配置对应的安全组,具体请参考表2

创建安全组的操作指导请参考创建安全组,为安全组添加规则的操作指导请参考添加安全组规则

弹性IP地址

如果客户端使用公网连接Kafka实例,请提前创建弹性IP地址。

在创建弹性IP地址时,应注意如下要求:

  • 创建的弹性IP地址与Kafka实例在相同的区域。
  • 弹性IP地址的数量必须与Kafka实例的代理个数相同。
  • Kafka控制台无法识别开启IPv6转换功能的弹性IP地址。

创建弹性IP地址的操作指导请参考申请弹性公网IP

快速购买Kafka实例

  1. 进入购买Kafka实例页面
  2. 在“快速购买”页签中,设置实例基础配置。

    表2 实例基础配置参数说明

    参数名称

    说明

    计费模式

    • 包年/包月:一种预付费模式,即先付费再使用,按照订单的购买周期进行结算。
    • 按需付费:一种后付费模式,即先使用再付费,按照Kafka实例实际使用时长计费,秒级计费,按小时结算。

    区域

    不同区域的云服务产品之间内网互不相通。请就近选择靠近您业务的区域,可减少网络时延,提高访问速度。

    可用区

    可用区指在同一区域下,电力、网络隔离的物理区域,可用区之间内网互通,不同可用区之间物理隔离。

    根据实际情况选择1个或者3个及以上可用区。实例创建成功后,不支持修改可用区。

  3. 设置套餐规格。

    • 综合推荐:分布式消息服务Kafka版已经预设了几种规格,请根据需要选择。磁盘类型和磁盘大小根据实际需求进行设置。Kafka实例创建后,磁盘类型不支持修改

      存储空间用于存储消息(包括副本中的消息)、日志和元数据,建议根据业务消息体积、副本数量以及预留磁盘大小选择存储空间大小。每个Kafka代理会预留33GB的磁盘空间,用于存储日志和元数据。

      创建实例时会进行磁盘格式化,磁盘格式化会导致实际可用磁盘为总磁盘的93%~95%。

      图1 综合推荐
    • 规格测算:系统根据您输入的参数(生产流量峰值、消费流量、单个Topic副本数、总分区数和老化时间内的生产消息量),为您计算出不同规格所需的代理个数和代理存储空间,您根据实际情况选择。3.x版本不支持规格测算。
      图2 规格测算

  4. 设置网络信息。

    表3 实例网络参数说明

    参数名称

    说明

    虚拟私有云

    选择已经创建好的或共享的虚拟私有云。

    虚拟私有云可以为您的Kafka实例构建隔离的、能自主配置和管理的虚拟网络环境。您可以单击右侧的“新建虚拟私有云”,跳转到网络控制台的“虚拟私有云”页面,查看或创建虚拟私有云。

    虚拟私有云在Kafka实例创建完成后,不支持修改。

    子网

    选择已经创建好的或共享的子网。

    子网在Kafka实例创建完成后,不支持修改。

    子网开启IPv6后,Kafka实例支持IPv6功能。

    IPv6

    子网开启IPv6后,页面才显示此参数。开启IPv6后,客户端可以使用IPv6地址连接实例。

    开启IPv6的实例不支持动态开启和关闭SASL_SSL功能。

    实例创建成功后,不支持修改IPv6开关。

    说明:

    此功能仅在“华东二”区域上线。

    安全组

    选择已经创建好的安全组。

    安全组是一组对Kafka实例的访问规则的集合。您可以单击右侧的“管理安全组”,跳转到网络控制台的“安全组”页面,查看或创建安全组。

    客户端连接Kafka实例前,请根据不同的连接方式配置对应的安全组规则,否则会连接失败。具体的安全组规则请参考表2

  5. 设置实例访问方式。

    表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实例。

    公网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. 设置高级配置。

    表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个字符。

    表7 Topic参数值

    参数名称

    默认参数值

    修改后的参数值

    分区数

    3

    5

    副本数

    3

    3

    老化时间

    72小时

    72小时

    同步复制

    不开启

    不开启

    同步落盘

    不开启

    不开启

    消息时间戳类型

    CreateTime

    CreateTime

    批处理消息最大值

    10485760字节

    10485760字节

  7. 设置实例购买时长。

    当选择了“包年/包月”付费模式时,页面才显示“购买时长”参数,您可以根据业务需要选择购买时长。如果勾选“自动续费”,在“包年/包月”资源到期后,自动进行续费。

    • 按月购买的实例:自动续费周期为1个月。
    • 按年购买的实例:自动续费周期为1年。

  8. 单击“确认订单”,进入“确认配置”页面。
  9. 确认实例信息无误且阅读并同意《华为云用户协议》后,如果“计费模式”选择“包年/包月”,单击“去支付”。根据界面提示信息,支付费用。如果“计费模式”选择“按需付费”,单击“提交”。
  10. 在实例列表页面,查看Kafka实例是否创建成功。

    创建实例大约需要3到15分钟,此时实例的“状态”为“创建中”。

    • 当实例的“状态”变为“运行中”时,说明实例创建成功。
    • 当实例的“状态”变为“创建失败”,请参考删除Kafka实例,删除创建失败的实例,然后重新创建。如果重新创建仍然失败,请联系客服。

      创建失败的实例,不会占用其他资源。

自定义购买Kafka实例

  1. 进入购买Kafka实例页面
  2. 在“自定义购买”页签中,设置实例基础配置。

    表8 实例基础配置参数说明

    参数名称

    说明

    计费模式

    • 包年/包月:一种预付费模式,即先付费再使用,按照订单的购买周期进行结算。
    • 按需付费:一种后付费模式,即先使用再付费,按照Kafka实例实际使用时长计费,秒级计费,按小时结算。

    区域

    不同区域的云服务产品之间内网互不相通。请就近选择靠近您业务的区域,可减少网络时延,提高访问速度。

    可用区

    可用区指在同一区域下,电力、网络隔离的物理区域,可用区之间内网互通,不同可用区之间物理隔离。

    根据实际情况选择1个或者3个及以上可用区。实例创建成功后,不支持修改可用区。

  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 实例规格

  4. 设置网络信息。

    表10 实例网络参数说明

    参数名称

    说明

    虚拟私有云

    选择已经创建好的或共享的虚拟私有云。

    虚拟私有云可以为您的Kafka实例构建隔离的、能自主配置和管理的虚拟网络环境。您可以单击右侧的“新建虚拟私有云”,跳转到网络控制台的“虚拟私有云”页面,查看或创建虚拟私有云。

    虚拟私有云在Kafka实例创建完成后,不支持修改。

    子网

    选择已经创建好的或共享的子网。

    子网在Kafka实例创建完成后,不支持修改。

    子网开启IPv6后,Kafka实例支持IPv6功能。

    IPv6

    子网开启IPv6后,页面才显示此参数。开启IPv6后,客户端可以使用IPv6地址连接实例。

    开启IPv6的实例不支持动态开启和关闭SASL_SSL功能。

    实例创建成功后,不支持修改IPv6开关。

    说明:

    此功能仅在“华东二”区域上线。

    安全组

    选择已经创建好的安全组。

    安全组是一组对Kafka实例的访问规则的集合。您可以单击右侧的“管理安全组”,跳转到网络控制台的“安全组”页面,查看或创建安全组。

    客户端连接Kafka实例前,请根据不同的连接方式配置对应的安全组规则,否则会连接失败。具体的安全组规则请参考表2

  5. 设置实例访问方式。

    表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实例。

    说明:

    单机实例不支持密文接入。

    公网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机制:一种简单的用户名密码校验机制。

  6. 设置高级配置。

    表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个字符。

    表14 Topic参数值

    参数名称

    默认参数值

    修改后的参数值

    分区数

    3

    5

    副本数

    3

    3

    老化时间

    72小时

    72小时

    同步复制

    不开启

    不开启

    同步落盘

    不开启

    不开启

    消息时间戳类型

    CreateTime

    CreateTime

    批处理消息最大值

    10485760字节

    10485760字节

  7. 设置实例购买时长。

    当选择了“包年/包月”付费模式时,页面才显示“购买时长”参数,您可以根据业务需要选择购买时长。如果勾选“自动续费”,在“包年/包月”资源到期后,自动进行续费。

    • 按月购买的实例:自动续费周期为1个月。
    • 按年购买的实例:自动续费周期为1年。

  8. 在页面右侧“配置概要”中,查看已选择的实例配置。
  9. 确认配置无误后,单击“确认订单”,进入“确认配置”页面。
  10. 确认实例信息无误且阅读并同意《华为云用户协议》后,如果“计费模式”选择“包年/包月”,单击“去支付”。根据界面提示信息,支付费用。如果“计费模式”选择“按需付费”,单击“提交”。
  11. 在实例列表页面,查看Kafka实例是否创建成功。

    创建实例大约需要3到15分钟,此时实例的“状态”为“创建中”。

    • 当实例的“状态”变为“运行中”时,说明实例创建成功。
    • 当实例的“状态”变为“创建失败”,请参考删除Kafka实例,删除创建失败的实例,然后重新创建。如果重新创建仍然失败,请联系客服。

      创建失败的实例,不会占用其他资源。