如何实现具有公共接口的安全的kafka环境?

如何实现具有公共接口的安全的kafka环境?

场景:Kafka 集群使用 SSL 加密和 SASL/PLAIN 身份验证进行保护,位于专用 VPC 内的 AWS 私有子网中。在私有子网内,一切正常。我使用自生成的 CA 和密钥来保护通信,主机身份基于 AWS 内部 DNS。

我想要实现的目标:能够访问生产者 API(不是您可以从外部使用 REST API 来访问它。

我正在努力解决密钥、DNS、kafka监听器的组合问题,而且从生产者到代理的永久连接可能不是我用来启动连接的连接。

使用反向代理的几次尝试都失败了 - 甚至 ssh 隧道也不起作用,因为无法解析密钥。

有人有针对这种情况的参考架构吗?我在这里省去了配置细节,因为它在不同的配置、键等中分布得太广了。但如果需要,我可以提供我的设置。

答案1

好的,我找到了一个解决方案 - 也许不是最有效的,但对我来说没问题。我在三个代理前面实现了三个 4 级负载均衡器,并使用负载均衡器的地址配置每个代理的 advanced_listener 地址。效果很好 - 即使它相对昂贵并且在一定程度上限制了流量速率。

相关内容