我正在做一个项目,很多机器/传感器将直接向kafka/nifi集群发送信息。这台机器/传感器将从公共互联网而不是公司网络推送信息。我们在aws云上使用hortonworks发行版。
我的问题是:为此类用例设置kafka/nifi集群的最佳体系结构实践是什么,我不想为了从公共internet接收消息而将集群放在公共子网中。
你能帮我做这个吗?
我正在做一个项目,很多机器/传感器将直接向kafka/nifi集群发送信息。这台机器/传感器将从公共互联网而不是公司网络推送信息。我们在aws云上使用hortonworks发行版。
我的问题是:为此类用例设置kafka/nifi集群的最佳体系结构实践是什么,我不想为了从公共internet接收消息而将集群放在公共子网中。
你能帮我做这个吗?
2条答案
按热度按时间ifmq2ha21#
显然你不应该把你的Kafka暴露给世界。因此,“传感器数据直接到Kafka”是错误的做法,至少,没有使用一些ssl通道
您可以允许外部设备的特定子网到达内部子网,假设您知道该范围,但是我认为您的更好选择是使用minifi或streamsets sdc,它们是位于传感器上的事件收集器,可以加密到开放nifi或streamsets群集的流量,然后可以将事件转发到内部kafka集群。显然你已经有了nifi,因此minifi就是为了这个目的而建立的
另一个选项可以是kafkarest代理,但是您仍然需要在其周围设置身份验证/安全层
vuv7lop32#
使用aws iot接收设备通信,此选项为您提供一个安全层,并将您的hdf沙盒与internet隔离。
aws iot core在所有连接点提供相互认证和加密,因此如果没有经过验证的身份,设备和aws iot core之间永远不会交换数据。
然后用nifi处理器导入信息。