更新时间:2024-05-24 GMT+08:00

连接Kafka网络要求

客户端可以通过公网连接Kafka实例,也可以通过内网连接Kafka实例。使用内网连接时,注意以下几点:

  • 如果客户端和Kafka实例部署在同一个VPC内,网络默认互通。
  • 如果客户端和Kafka实例部署在不同VPC中,由于VPC之间逻辑隔离,客户端和Kafka实例不能直接通信,需要打通VPC之间的网络。

客户端连接Kafka实例的方式如表1所示。

表1 连接方式说明

连接方式

实现方式

参考文档

公网连接

在Kafka控制台开启公网访问,配置弹性公网IP,客户端通过弹性公网IP访问Kafka实例。

配置Kafka实例的公网访问

使用DNAT通过端口映射方式,实现客户端通过公网连接Kafka实例。

使用DNAT实现公网访问Kafka

内网连接

客户端和Kafka实例部署在同一个VPC中,此时网络默认互通。

-

客户端和Kafka实例部署在同一个Region的不同VPC中,利用VPC终端节点在不同VPC间建立跨VPC的连接通道,实现跨VPC访问。

使用VPCEP实现跨VPC访问Kafka

客户端和Kafka实例部署在同一个Region的不同VPC中,利用VPC对等连接将两个VPC间的网络打通,实现跨VPC访问。

对等连接

客户端和Kafka实例部署在不同Region中,创建一个云连接实例,然后在创建的云连接实例中加载需要互通的VPC,实现跨VPC访问。

跨区域同账号VPC互通

客户端连接Kafka实例前,需要放通如下安全组,否则会连接失败。

创建安全组后,系统默认添加入方向“允许安全组内的弹性云服务器彼此通信”规则和出方向“放通全部流量”规则,此时使用内网通过同一个VPC访问Kafka实例,无需添加表2的规则。

表2 安全组规则

方向

协议

端口

源地址

说明

入方向

TCP

9094

0.0.0.0/0

通过公网访问Kafka实例(关闭SSL加密)。

入方向

TCP

9092

0.0.0.0/0

  • 使用内网通过同一个VPC访问Kafka实例(关闭SSL加密)。
  • 使用对等连接跨VPC访问Kafka实例(关闭SSL加密)。

入方向

TCP

9095

0.0.0.0/0

通过公网访问Kafka实例(开启SSL加密)。

入方向

TCP

9093

0.0.0.0/0

  • 使用内网通过同一个VPC访问Kafka实例(开启SSL加密)。
  • 使用对等连接跨VPC访问Kafka实例(开启SSL加密)。

入方向

TCP

9011

198.19.128.0/17

通过VPC终端节点实现跨VPC访问Kafka实例(开启SSL加密和关闭SSL加密都适用)。

入方向

TCP

9011

0.0.0.0/0

使用DNAT访问Kafka实例(开启SSL加密和关闭SSL加密都适用)。