连接Kafka网络要求
客户端可以通过公网连接Kafka实例,也可以通过内网连接Kafka实例。使用内网连接时,注意以下几点:
- 如果客户端和Kafka实例部署在同一个VPC内,网络默认互通。
- 如果客户端和Kafka实例部署在不同VPC中,由于VPC之间逻辑隔离,客户端和Kafka实例不能直接通信,需要打通VPC之间的网络。
客户端连接Kafka实例的方式如表1所示。
连接方式 |
实现方式 |
参考文档 |
---|---|---|
公网连接 |
|
|
使用DNAT通过端口映射方式,实现客户端通过公网连接Kafka实例。 |
||
内网连接 |
客户端和Kafka实例部署在同一个VPC中,此时网络默认互通。 |
- |
客户端和Kafka实例部署在同一个Region的不同VPC中,利用VPC终端节点在不同VPC间建立跨VPC的连接通道,实现跨VPC访问。 |
||
客户端和Kafka实例部署在同一个Region的不同VPC中,利用VPC对等连接将两个VPC间的网络打通,实现跨VPC访问。 |
客户端连接Kafka实例前,需要在Kafka实例所属安全组中配置如下安全组规则,否则会连接失败。
创建安全组后,系统默认添加入方向“允许安全组内的弹性云服务器彼此通信”规则和出方向“放通全部流量”规则,此时使用内网通过同一个VPC访问Kafka实例,无需添加表2的规则。
方向 |
协议 |
类型 |
端口 |
源地址 |
说明 |
---|---|---|---|---|---|
入方向 |
TCP |
IPv4 |
9094 |
Kafka客户端所在的IP地址或地址组 |
通过公网访问Kafka实例(明文接入)。 |
入方向 |
TCP |
IPv4 |
9092 |
Kafka客户端所在的IP地址或地址组 |
|
入方向 |
TCP |
IPv6 |
9192 |
Kafka客户端所在的IP地址或地址组 |
通过IPv6地址访问Kafka实例(关闭SSL加密)(内网和公网都适用)。 |
入方向 |
TCP |
IPv4 |
9095 |
Kafka客户端所在的IP地址或地址组 |
通过公网访问Kafka实例(密文接入)。 |
入方向 |
TCP |
IPv4 |
9093 |
Kafka客户端所在的IP地址或地址组 |
|
入方向 |
TCP |
IPv6 |
9193 |
Kafka客户端所在的IP地址或地址组 |
通过IPv6地址访问Kafka实例(开启SSL加密)(内网和公网都适用)。 |
入方向 |
TCP |
IPv4 |
9011 |
198.19.128.0/17 |
通过VPC终端节点实现跨VPC访问Kafka实例(密文接入和明文接入都适用)。 |
入方向 |
TCP |
IPv4 |
9011 |
Kafka客户端所在的IP地址或地址组 |
使用DNAT访问Kafka实例(密文接入和明文接入都适用)。 |