从我的笔记本电脑连接到 AWS MSK Kafka:NoBrokersAvailable

时间:2021-06-17 10:46:01

标签: python-3.x amazon-web-services apache-kafka aws-msk

我无法从笔记本电脑连接到 AWS MSK Kafka(访问控制方法配置为),错误是:NoBrokersAvailable

我在端口 9092 上使用 纯文本 conn:

from kafka import KafkaProducer 
kafka_brokers = [ "xxx.kafka.ap-east-1.amazonaws.com:9092","xxx.kafka.ap-east-1.amazonaws.com:9092","xxx.kafka.ap-east-1.amazonaws.com:9092" ]
producer = KafkaProducer(bootstrap_servers=kafka_brokers)

参考: AWS MSK - 明文代理端口 9092,TLS 9094 https://docs.aws.amazon.com/msk/latest/developerguide/client-access.html

我尝试了三件事(没有帮助):

一个。在我的 VPC 默认安全组下添加了超过 9092+9094 source/dest 0.0.0.0/0 的入站+出站源/目的地

B.按照以下说明尝试通过 AWS Client VPN 运行:

c.在我的笔记本电脑上关闭防火墙

我看到其他人也在问类似的问题:How to connect Python consumer to AWS MSK

有些人认为本地机器/笔记本电脑上的客户端连接到 AWS MSK 只是不受支持How can I access my AWS MSK managed kafka queue from my local machine and EC2 instances in other regions 这是真的/官方吗?

我正在考虑创建 EIP(弹性 IP) https://repetitive.it/aws-msk-how-to-expose-the-cluster-on-the-public-network/?lang=en 然后以某种方式与代理域名 xxx.kafka.ap-east-1.amazonaws.com 关联(但不确定如何)并配置入站出站规则。

但我找不到任何有用的东西。

我已经无能为力了,这个问题已经消耗了一整天。非常感谢任何帮助。

谢谢

1 个答案:

答案 0 :(得分:0)

无法从您的笔记本电脑直接连接到 MSK 经纪人。尽管 MSK 侦听器公开公共 DNS 名称,但它实际上解析为 MSK 代理的私有 IP。因此,由于您不在 VPC 内,因此无法访问私有 IP。

实现这一目标最便宜的选择是设置
AWS Client VPN endpoint.

(edited) 观察到你已经尝试过客户端 VPN,什么不起作用?我正在使用它。

相关问题