如何使用公共介面實現安全的kafka環境?

如何使用公共介面實現安全的kafka環境?

場景:Kafka 叢集透過 SSL 加密和 SASL/PLAIN 驗證進行保護,駐留在專用 VPC 內的 AWS 私有子網路中。在私有子網路內,一切都很好。我使用自行產生的 CA 和金鑰來保護通信,主機身分基於 AWS 內部 DNS。

我想要實現的目標:能夠存取生產者 API (不是REST API)從外部。

我正在努力處理密鑰、DNS、kafka 偵聽器的組合,以及從生產者到代理的永久連接可能不是我用來啟動連接的連接這一事實。

多次嘗試反向代理均失敗 - 即使 ssh 隧道也無法運作,因為無法解析金鑰。

有人有針對這種情況的參考架構嗎?我在這裡保留了配置詳細信息,因為它在不同的配置、密鑰等中分佈太多,但如果需要,我可以提供我的設定。

答案1

好吧,我找到了一個解決方案 - 也許不是最有效的,但對我來說很好。我在三個代理程式前面實作了三個 4 級負載平衡器,並使用其中一個負載平衡器配置了每個代理程式的 advance_listener 位址。效果就像一個魅力 - 即使它相對昂貴並且在一定程度上限制了流量速率。

相關內容