客户端可以使用公网通过IPv4地址或者IPv6地址访问Kafka实例。
- IPv4地址:在Kafka控制台开启实例的公网访问功能,并设置弹性IP地址,实现公网访问。
- IPv6地址:在创建Kafka实例时开启IPv6功能,然后将IPv6地址添加到共享带宽中,同时支持IPv6内网访问和IPv6公网访问。
Kafka控制台的“基本信息 > 连接信息”的内容存在两种不同的显示,导致开启/关闭IPv4公网访问的步骤有所不同。
已开启IPv6功能,开启/关闭IPv4公网访问的步骤请参考本页面的开启IPv4公网访问(不支持修改SASL开关)和关闭IPv4公网访问(不支持修改SASL开关)。
前提条件
- 只有处于“运行中”状态的Kafka实例支持修改公网访问配置。
- (可选)如果使用IPv6地址访问Kafka实例,确认Kafka实例已开启IPv6功能。
约束与限制
Kafka实例只支持绑定IPv4弹性IP地址,不支持绑定IPv6弹性IP地址。
开启IPv4公网访问(不支持修改SASL开关)
- 登录管理控制台。
- 在管理控制台左上角单击,选择区域。
说明请选择Kafka实例所在的区域。
- 在管理控制台左上角单击,选择“应用中间件 > 分布式消息服务Kafka”,进入分布式消息服务Kafka专享版页面。
- 单击Kafka实例的名称,进入实例的“基本信息”页面。
- 在“公网访问”后,单击,开启公网访问。在“弹性IP地址”中,为每个代理设置对应的弹性IP地址。
如果没有足够数量的弹性IP地址,参考如下步骤设置弹性IP地址。
- 单击“创建弹性IP”,跳转到“购买弹性公网IP”页面,购买弹性IP地址,具体操作请参考申请弹性IP。
- 购买完成后,返回开启公网页面。
- 单击“弹性IP地址”后的,然后在下拉框中选择和代理数量相同的弹性IP地址,单击。
- 您可以在实例的“后台任务管理”页面,查看当前任务的操作进度。任务状态为“成功”,表示操作成功。
图1 开启公网访问
开启公网访问后,需要设置对应的安全组规则(请见表1),才能成功连接Kafka。
表1 Kafka实例安全组规则(IPv4公网访问)
方向 协议 类型 端口 源地址 说明 入方向 TCP IPv4 9094 0.0.0.0/0 通过公网访问Kafka(关闭SSL加密)。 入方向 TCP IPv4 9095 0.0.0.0/0 通过公网访问Kafka(开启SSL加密)。
关闭IPv4公网访问(不支持修改SASL开关)
- 登录管理控制台。
- 在管理控制台左上角单击,选择区域。
说明请选择Kafka实例所在的区域。
- 在管理控制台左上角单击,选择“应用中间件 > 分布式消息服务Kafka”,进入分布式消息服务Kafka专享版页面。
- 单击Kafka实例的名称,进入实例的“基本信息”页面。
- 在“公网访问”后,单击,完成公网访问的关闭。
您可以在实例的“后台任务管理”页面,查看当前任务的操作进度。任务状态为“成功”,表示操作成功。
关闭公网访问后,需要设置对应的安全组规则(请见表2),才能通过内网成功连接Kafka。
表2 Kafka实例安全组规则(内网访问)
方向 协议 类型 端口 源地址 说明 入方向 TCP IPv4 9092 0.0.0.0/0 使用内网通过同一个VPC访问Kafka实例(关闭SSL加密)。 入方向 TCP IPv4 9093 0.0.0.0/0 使用内网通过同一个VPC访问Kafka实例(开启SSL加密)。
说明创建安全组后,系统默认添加入方向“允许安全组内的弹性云主机彼此通信”规则和出方向“放通全部流量”规则,此时使用内网通过同一个VPC访问Kafka实例,无需添加表2的规则。
开启IPv4公网访问(支持修改明文/密文接入)
-
登录管理控制台。
-
在管理控制台左上角单击,选择区域。
说明请选择Kafka实例所在的区域。
-
在管理控制台左上角单击,选择“应用中间件 > 分布式消息服务Kafka”,进入分布式消息服务Kafka专享版页面。
-
单击Kafka实例的名称,进入实例的“基本信息”页面。
-
在“公网访问”后,单击,开启公网访问。在“弹性IP地址”中,为每个代理设置对应的弹性IP地址。
如果没有足够数量的弹性IP地址,参考如下步骤设置弹性IP地址。
- 单击“创建弹性IP”,跳转到“购买弹性IP”页面,购买弹性IP地址,具体操作请参考申请弹性IP。
- 购买完成后,返回开启公网页面。
- 单击“弹性IP地址”后的,然后在下拉框中选择和代理数量相同的弹性IP地址,单击,跳转到“后台任务管理”页面。
- 当任务状态显示为“成功”时,表示成功开启公网访问。
图2 开启公网访问
开启公网访问后,需要设置接入方式(明文接入、密文接入)和对应的安全组规则,才能成功连接Kafka。
表3 Kafka实例安全组规则(IPv4公网访问)
方向 协议 类型 端口 源地址 说明 入方向 TCP IPv4 9094 0.0.0.0/0 通过公网访问Kafka(明文接入)。 入方向 TCP IPv4 9095 0.0.0.0/0 通过公网访问Kafka(密文接入)。
关闭IPv4公网访问(支持修改明文/密文接入)
- 登录管理控制台。
- 在管理控制台左上角单击,选择区域。
说明请选择Kafka实例所在的区域。
- 在管理控制台左上角单击,选择“应用中间件 > 分布式消息服务Kafka”,进入分布式消息服务Kafka专享版页面。
- 单击Kafka实例的名称,进入实例的“基本信息”页面。
- 关闭公网访问前,需要先关闭公网访问中的“明文接入”和“密文接入”。然后在“公网访问”后,单击,弹出确认关闭对话框。
- 单击“确认”,跳转到“后台任务管理”页面。当任务状态显示为“成功”时,表示成功关闭公网访问。
关闭公网访问后,需要设置对应的安全组规则,才能成功通过内网连接Kafka。
表4 Kafka实例安全组规则(内网访问)
方向 协议 类型 端口 源地址 说明 入方向 TCP IPv4 9092 0.0.0.0/0 使用内网通过同一个VPC访问Kafka实例(明文接入)。 入方向 TCP IPv4 9093 0.0.0.0/0 使用内网通过同一个VPC访问Kafka实例(密文接入)。
说明创建安全组后,系统默认添加入方向“允许安全组内的弹性云主机彼此通信”规则和出方向“放通全部流量”规则,此时使用内网通过同一个VPC访问Kafka实例,无需添加表4的规则。
开启IPv6公网访问
- 登录管理控制台。
- 在管理控制台左上角单击,选择区域。
说明请选择Kafka实例所在的区域。
- 在管理控制台左上角单击,选择“应用中间件 > 分布式消息服务Kafka”,进入分布式消息服务Kafka专享版页面。
- 单击Kafka实例的名称,进入实例的“基本信息”页面。
- 在“连接信息”区域,获取并记录“内网连接地址”的IPv6地址。在“网络”中,获取并记录虚拟私有云和子网。
图3 实例详情页
- 在管理控制台左上角单击,选择“网络 > 弹性IP”,进入“弹性IP”页面。
- 在左侧导航栏单击“共享带宽”,进入“共享带宽”页面。
- 申请一个共享带宽,具体操作请参考申请共享带宽。
如果已有共享带宽,可重复使用,无需再次申请。
- 在共享带宽所在行,单击“添加公网IP”,弹出“添加公网IP”对话框。
- 设置如表5参数,单击“确定”。
表5 添加公网IP参数
参数 说明 公网IP 选择“IPv6网卡” 所属VPC 在下拉框中选择5中记录的虚拟私有云。 子网 在下拉框中选择5中记录的子网,并勾选5中记录的全部IPv6地址。
图4 添加公网IP
- 共享带宽配置成功后,需要在Kafka实例的安全组中设置如表6所示规则,才能成功通过IPv6地址连接Kafka。
表6 Kafka实例安全组规则(IPv6访问)
方向 协议 类型 端口 源地址 说明 入方向 TCP IPv6 9192 ::/0 通过IPv6地址访问Kafka实例(关闭SSL加密)。 入方向 TCP IPv6 9193 ::/0 通过IPv6地址访问Kafka实例(开启SSL加密)。
说明客户端通过IPv6的公网连接Kafka实例时,Kafka的连接地址为“内网连接地址”中的IPv6地址。
通过IPv6的公网连接Kafka实例时,客户端网卡必须添加到共享带宽中。客户端网卡所在的共享带宽和Kafka实例所在的共享带宽不需要为同一个,共享带宽间网络默认互通。
关闭IPv6公网访问
将Kafka实例的IPv6地址从共享带宽中移出,具体请参考从共享带宽中移出弹性IP。