分布式消息服务Kafka版
分布式消息服务Kafka版
- 最新动态
- 功能总览
- 服务公告
- 产品介绍
- 计费说明
- 快速入门
- 用户指南
- 最佳实践
- 开发指南
- API参考
- SDK参考
-
常见问题
-
实例问题
- 为什么可用区不能选择2个?
- 创建实例时为什么无法查看子网和安全组等信息?
- 如何选择Kafka实例的存储空间?
- Kafka实例的超高IO和高IO如何选择?
- 如何选择Kafka实例存储容量阈值策略?
- Kafka服务端支持版本是多少?
- Kafka实例的ZK地址是什么?
- 创建的Kafka实例是集群模式么?
- Kafka实例是否支持修改访问端口?
- Kafka实例的SSL证书有效期多长?
- 如何将Kafka实例中的数据同步到另一个Kafka实例中?
- Kafka实例的SASL_SSL开关如何修改?
- SASL认证机制如何修改?
- 如何修改安全协议?
- 修改企业项目,是否会导致Kafka重启?
- 100MB/s的带宽怎样开启公网访问?
- Kafka服务和ZK是部署在相同的虚拟机中,还是分开部署?
- Kafka包周期实例支持删除吗?
- Kafka支持哪些加密套件?
- 购买实例时选择的单AZ,怎样可以扩展为多AZ?
- Kafka是否支持跨AZ容灾?已经购买的实例在哪里查看是否为跨AZ?
- Kafka支持磁盘加密吗?
- Kafka实例创建后,能修改VPC和子网吗?
- 有没有Kafka Stream的案例?
- Kafka实例版本可以升级吗?
- 怎样重新绑定公网IP?
- 实例规格变更问题
-
连接问题
- 选择和配置安全组
- Kafka实例是否支持公网访问?
- Kafka实例的连接地址默认有多少个?
- 是否支持跨Region访问?
- Kafka实例是否支持跨VPC访问?
- Kafka实例是否支持不同的子网?
- Kafka是否支持Kerberos认证,如何开启认证?
- Kafka实例是否支持无密码访问?
- 开启公网访问后,在哪查看公网IP地址?
- Kafka支持服务端认证客户端吗?
- 连接开启SASL_SSL的Kafka实例时,ssl truststore文件可以用PEM格式的吗?
- 下载的证书JKS和CRT有什么区别?
- Kafka支持哪个版本的TLS?
- Kafka实例连接数有限制吗?
- 客户端单IP连接的个数为多少?
- Kafka实例的内网连接地址可以修改吗?
- 不同实例中,使用的SSL证书是否一样?
- 为什么不建议使用Sarama客户端收发消息?
- Topic和分区问题
- 消费组问题
- 消息问题
-
Kafka Manager问题
- 登录Kafka Manager的账号是否可以设置为只读账号?
- 登录到Kafka Manager页面,为什么获取不到节点信息?
- Yikes! Insufficient partition balance when creating topic : projectman_project_enterprise_project Try again.
- Kafka Manager能否查询到消息的正文?
- Kafka Manager WebUI的端口能否修改?
- 在Kafka Manager上支持修改Topic的哪些属性?
- Kafka Manager和云监控显示的信息不一致
- Kafka Manager如何修改Topic的分区Leader?
- 实例版本在控制台和Kafka Manager上显示不一致?
- 为什么实例中存在默认名为__trace和__consumer_offsets的Topic?
- 客户端删除消费组后,在Kafka Manager中仍可以看到此消费组?
- 监控告警问题
- Kafka体验版使用说明
-
实例问题
- 故障排除
- 视频帮助
- 文档下载
- 通用参考
本文导读
链接复制成功!
使用VPCEP实现跨VPC访问Kafka
Kafka客户端和Kafka实例在同一区域的不同VPC中,由于VPC之间逻辑隔离,Kafka客户端和Kafka实例不能直接通信。您可以通过以下任意一个方式实现跨VPC访问:
- 创建VPC对等连接,将两个VPC的网络打通,实现跨VPC访问。具体步骤请参考对等连接。
- 利用VPC终端节点在不同VPC间建立跨VPC的连接通道,实现Kafka客户端通过内网访问Kafka实例。
本章节主要介绍通过VPC终端节点实现跨VPC访问的方法。
VPC终端节点由“终端节点服务”和“终端节点”两种资源实例组成。
- 终端节点服务:将Kafka实例配置为VPC终端节点支持的服务,可以被终端节点连接和访问。
- 终端节点:用于在VPC和终端节点服务之间建立便捷、安全、私密的连接通道。
图1 跨VPC访问Kafka实例原理图

客户端使用VPCEP跨VPC访问Kafka时,使用的是明文连接还是密文连接?
使用明文连接还是密文连接,取决于“跨VPC访问协议”。跨VPC访问协议是在创建Kafka实例时设置的,实例创建成功后,不支持修改。
跨VPC访问协议的取值如下:
- PLAINTEXT:表示客户端访问Kafka实例时,无需认证,数据通过明文传输。
- SASL_SSL:表示客户端访问Kafka实例时,使用SASL认证,数据通过SSL证书加密传输。
- SASL_PLAINTEXT:表示客户端访问Kafka实例时,使用SASL认证,数据通过明文传输。
步骤一:创建终端节点服务
- 登录管理控制台。
- 在管理控制台左上角单击
,选择Kafka实例所在的区域。
- 在管理控制台左上角单击
,选择“应用中间件 > 分布式消息服务Kafka版”,进入分布式消息服务Kafka专享版页面。
- 在左侧导航栏单击“Kafka实例”,进入Kafka实例列表页面。
- 单击Kafka实例名称,进入实例详情页面。
- 在“基本信息”页面的“高级配置”区域,获取Kafka实例的网卡地址(listeners IP)和对应的Port ID。
图2 Kafka实例的网卡地址(listeners IP)和对应的Port ID
- 在“基本信息”页面的“网络”区域,查看Kafka实例所在的VPC名称。
图3 查看Kafka实例所在的VPC名称
- 单击VPC名称,进入VPC基本信息页签,获取VPC ID。
图4 获取VPC ID
- 调用VPC终端节点的API创建终端节点服务,API详情请参考创建终端节点服务。
POST https://{endpoint}/v1/{project_id}/vpc-endpoint-services
请参考以下说明设置请求参数,其他参数根据实际情况设置。
- port_id:输入6中获取的其中一个Port ID。
- vpc_id:输入8中获取的VPC ID。
- server_type:输入“VM”。
- client_port:输入“9011”。
- server_port:输入“9011”。
- protocol:输入“TCP”。
- approval_enabled:输入“false”。
- service_type:输入“interface”。
- endpoint:获取VPC终端节点的终端节点,区域必须与Kafka实例保持一致。
- project_id:获取VPC终端节点的项目ID,区域必须与Kafka实例保持一致。
记录响应信息中的“service_name”参数值,此参数表示终端节点服务的名称。
- 参考9,为6中其他Port ID创建终端节点服务,并记录终端节点服务的名称。
(可选)步骤二:添加白名单
VPCEP允许跨账号的终端节点连接终端节点服务,通过设置终端节点服务的白名单实现。
Kafka客户端和Kafka实例属于不同账号时,将Kafka客户端所在账号的ID添加到终端节点服务的白名单中,完成跨账号终端节点的访问授权,具体操作步骤请参考添加白名单。
步骤三:购买终端节点
- 在管理控制台左上角单击
,选择“网络 > VPC终端节点”,进入终端节点页面。
- 单击“购买终端节点”,进入“购买终端节点”页面。
- 设置如下参数。
- 区域:与Kafka实例保持一致。
- 服务类别:选择“按名称查找服务”。
- 服务名称:输入9中记录的终端节点服务名称,单击“验证”。显示“已找到服务”后,继续后续操作。
- 虚拟私有云:选择Kafka客户端所属的VPC。
- 子网:选择Kafka客户端所属的子网。
- IPv4地址:选择“自动分配IPv4地址”
其他参数保持默认,如果想要了解更多的参数信息,请参考购买终端节点。
图5 终端节点参数设置 - 单击“立即购买”,进入规格确认页面。
- 确认无误后,提交请求。
- 购买成功后,返回终端节点页面,查看终端节点状态是否为“已接受”,“已接受”表示终端节点已成功连接至终端节点服务。
图6 查看终端节点状态
- 单击终端节点ID,在“基本信息”页签,查看并记录节点IP。
您可以使用节点IP访问终端节点服务,进行跨VPC资源通信。
图7 查看节点IP - 参考1~7,为10中创建的终端节点服务购买终端节点,查看并记录节点IP。
步骤四:修改advertised.listeners IP
步骤五:验证接口连通性
参考使用客户端连接Kafka(关闭SASL)或者使用客户端连接Kafka(开启SASL),测试是否可以生产和消费消息。
测试接口连通性时,注意以下几点:
- 连接Kafka实例的地址为“advertised.listeners IP:9011”,以图8为例,连接Kafka实例的地址为“192.168.0.71:9011,192.168.0.11:9011,192.168.0.21:9011”。
- 在Kafka实例安全组的入方向规则中放通9011端口,以及198.19.128.0/17网段的地址。
- 如果Kafka实例的子网配置了网络ACL功能,需要在网络ACL的入方向规则中放通198.19.128.0/17网段的地址,以及VPC终端节点涉及的子网。
198.19.128.0/17是为VPC终端节点分配的网段,使用VPC终端节点需要放通此网段。
父主题: 配置Kafka网络连接