带有 IAM 的 AWS MSK - 超时异常

问题描述

我们正在使用 Aws MSK,最近他们宣布了 AWS MSK IAM AUTH(https://github.com/aws/aws-msk-iam-auth)

当我尝试在我的客户端上使用波纹管配置时出现异常:

org.apache.kafka.common.errors.TimeoutException: Call(callName=fetchMetadata,deadlineMs=1620677932733) timed out at 1620677932734 after 1 attempt(s)
Caused by: org.apache.kafka.common.errors.TimeoutException: Timed out waiting for a node assignment.

我的 application.yml:

sasl:
  mechanism: AWS_MSK_IAM
  jaas:
    config: software.amazon.msk.auth.iam.IAMLoginModule required
  client:
    callback:
      handler:
        class: software.amazon.msk.auth.iam.IAMClientCallbackHandler

telnet 可以工作,但似乎缺少某些东西,有什么建议吗?

解决方法

我遇到了这个问题。 AWS MSK IAM 依赖于 communication over port 9098。就我而言,我让安全组允许通过典型端口 9092(明文)和 9094(TLS)但不允许通过 9098 进行入站通信。确保您的集群接受通过该端口的流量