我在私有 VPC 上有一个 AWS MSK kafka 集群。我已经设置了一个堡垒来连接到这个集群,并且可以使用 kafka 控制台命令和使用 JVM 密钥库进行 SSL auth 成功地生成和使用来自堡垒的消息。
我正在尝试通过 SSH 隧道从我的 mac -> bastion -> kafka 代理生成/使用消息,但我似乎无法让它工作。
这是我的 SSH 隧道命令:
ssh -i ~/bastion.pem -N ec2-user@ec2-myhost.compute.amazonaws.com -L 9094:kafkacluster.amazonaws.com:9094 -v
然后在我的 Mac 上本地运行kafka-console-producer --broker-list localhost:9094 --producer.config client.properties --topic mytopic
,但org.apache.kafka.common.errors.TimeoutException: Topic AWSKafkaTutorialTopic not present in metadata after 60000 ms
出现错误。
当我使用未启用 TLS 的 zookeeper 服务器时,我没有收到此错误。
所以我的问题是:当 kafka 客户端连接到 localhost:9094 并启用 SSL 时,我怎样才能使这个 SSH 隧道工作?
谢谢