选择和配置安全组
Kafka实例支持使用内网通过同一个VPC访问、通过DNAT访问和公网访问,访问实例前,需要配置安全组。
使用内网通过同一个VPC访问实例
步骤 1 客户端和实例是否使用相同的安全组?
- 是,如果保留了创建安全组后,系统默认添加的入方向“允许安全组内的弹性云主机彼此通信”规则和出方向“放通全部流量”规则,则无需添加其他规则。否则,请添加下表所示规则。
表 安全组规则
方向 | 协议 | 端口 | 源地址 | 说明 |
---|---|---|---|---|
入方向 | TCP | 9092 | 0.0.0.0/0 | 使用内网通过同一个VPC访问Kafka实例(关闭SSL加密)。 |
入方向 | TCP | 9093 | 0.0.0.0/0 | 使用内网通过同一个VPC访问Kafka实例(开启SSL加密)。 |
- 否,执行步骤2。
步骤 2 参考如下配置安全组规则。
假设客户端和Kafka实例的安全组分别为:sg-53d4、Default_All。以下规则,远端可使用安全组,也可以使用具体的IP地址,本章节以安全组为例介绍。
客户端所在安全组需要增加如下规则,以保证客户端能正常访问Kafka实例。
表 安全组规则
方向 | 策略 | 协议端口 | 目的地址 |
---|---|---|---|
出方向 | 允许 | 全部 | Default_All |
图配置客户端安全组
Kafka实例所在安全组需要增加如下规则,以保证能被客户端访问。
表安全组规则
方向 | 策略 | 协议端口 | 源地址 |
---|---|---|---|
入方向 | 允许 | 全部 | sg-53d4 |
图 配置Kafka实例安全组
通过DNAT访问实例
请按照下表设置安全组规则。
表 安全组规则
方向 | 协议 | 端口 | 源地址 | 说明 |
---|---|---|---|---|
入方向 | TCP | 9011 | 198.19.128.0/17 | 通过VPC终端节点实现跨VPC访问Kafka实例。 |
入方向 | TCP | 9011 | 0.0.0.0/0 | 使用DNAT访问Kafka实例。 |
通过公网访问实例
请按照下表设置安全组规则。
表安全组规则
方向 | 协议 | 端口 | 源地址 | 说明 |
---|---|---|---|---|
入方向 | TCP | 9094 | 0.0.0.0/0 | 通过公网访问Kafka(关闭SSL加密)。 |
入方向 | TCP | 9095 | 0.0.0.0/0 | 通过公网访问Kafka(开启SSL加密)。 |
Kafka实例是否支持公网访问?
Kafka实例支持公网访问。使用公网访问Kafka实例的具体操作,请参考连接Kafka。
Kafka实例的连接地址默认有多少个?
Kafka实例的连接地址个数和实例的代理个数有关,连接地址个数即为代理个数。每类实例规格对应的代理个数如下表所示。
表 Kafka实例规格
实例规格 | 代理个数范围 | 单个代理TPS | 单个代理分区上限 | 单个代理Consumer Group上限 | 单个代理客户端总连接数上限 | 存储空间范围 |
---|---|---|---|---|---|---|
kafka.2u4g.cluster | 3~30 | 30000 | 250 | 20 | 2000 | 300GB~300000GB |
kafka.4u8g.cluster | 3~30 | 100000 | 500 | 100 | 4000 | 300GB~600000GB |
kafka.8u16g.cluster | 3~30 | 150000 | 1000 | 150 | 4000 | 300GB~900000GB |
kafka.12u24g.cluster | 3~30 | 200000 | 1500 | 200 | 4000 | 300GB~900000GB |
kafka.16u32g.cluster | 3~30 | 250000 | 2000 | 200 | 4000 | 300GB~900000GB |
是否支持跨Region访问?
Kafka可以跨Region访问,但是跨Region目前只能通过公网访问或者拉专线的方式。
Kafka实例是否支持跨VPC访问?
Kafka实例支持跨VPC访问,您可以通过以下方式实现跨VPC访问:
- 创建VPC对等连接,将两个VPC的网络打通,实现跨VPC访问。具体步骤请参考《虚拟私有云用户指南》的“VPC对等连接”章节。
Kafka实例是否支持不同的子网?
支持。
客户端与实例在相同VPC内,可以跨子网段访问。同一个VPC内的子网默认可以进行通信。
Kafka是否支持Kerberos认证,如何开启认证?
Kafka支持SASL客户端认证、调用接口支持Token和AK/SK两种认证,Kerberos认证目前不支持。
如果使用SASL认证方式,则在开源客户端基础上使用分布式消息服务Kafka提供的证书文件。具体操作参考连接已开启SASL的Kafka实例。
Kafka实例是否支持无密码访问?
支持,连接未开启SASL的Kafka实例时,无需密码。具体操作,请参考连接未开启SASL的Kafka实例。
开启公网访问后,在哪查看公网IP地址?
在Kafka控制台,单击Kafka实例名称,进入实例详情页面。在“基本信息”页签,查看公网IP地址(即“公网连接地址”)。
如果您需要连接Kafka实例,请参考连接Kafka。
Kafka支持服务端认证客户端吗?
不支持。
连接开启SASL_SSL的Kafka实例时,ssl truststore文件可以用PEM格式的吗?
使用Java语言连接实例时,只能使用JKS格式的证书,不支持转成PEM格式。
下载的证书JKS和CRT有什么区别?
使用Java语言连接实例时,需要用JKS格式的证书。使用Python语言连接实例时,需要用CRT格式的证书。
Kafka支持哪个版本的TLS?
Kafka支持TLS 1.2。
Kafka实例连接数有限制吗?
不同规格的Kafka实例,连接数限制如下:
- 实例规格为kafka.2u4g.cluster时,单个代理客户端总连接数上限为2000。
- 实例规格为kafka.4u8g.cluster时,单个代理客户端总连接数上限为4000。
- 实例规格为kafka.8u16g.cluster时,单个代理客户端总连接数上限为4000。
- 实例规格为kafka.12u24g.cluster时,单个代理客户端总连接数上限为4000。
- 实例规格为kafka.16u32g.cluster时,单个代理客户端总连接数上限为4000。
客户端单IP连接的个数为多少?
Kafka实例的每个代理允许客户端单IP连接的个数默认为1000个,如果超过了,会出现连接失败问题。您可以通过修改配置参数来修改单IP的连接数。
Kafka实例的内网连接地址可以修改吗?
不支持修改,且不支持指定IP地址。
不同实例中,使用的SSL证书是否一样?
Kafka实例中的SSL证书是通用的,不区分用户或者实例,即不同的用户或者实例,使用的SSL证书是同一个。
获取SSL证书的方法如下:
步骤 1 在Kafka控制台,单击实例名称,进入实例详情页。
步骤 2 在“连接信息 > SSL证书”所在行,单击“下载”。