如何跨 VPC 访问?

为了达到最高的性能,建议 Kafka 集群和客户端(生产者、消费者)工作同一个 VPC。

若在实际使用中出现 producer、consumer 与 broker 都不在一个 VPC,此时需要跨 VPC 使用。

本节主要介绍 Kafka 如何实现跨 VPC 访问。

  • 方法一

    通过边界路由器IPsec 隧道GRE 隧道 等方式打通网络。

    适用场景:这种方式适合于大规模复杂网络的情况。

  • 方法二

    配置 VPN

    适用场景:这种方法通常用于本地开发测试。

  • 方法三

    为集群开启公网访问

    适用场景:开启公网访问后,任何服务都可以通过公网 IP 连接到 Kafka 集群。适用于有公网访问需求的场景。

  • 方法四

    通过集群参数 advertised.host.nameadvertised.port 对外暴露出来。

    适用场景:这种方式只适用于单节点 Kafka 集群(Kafka 0.10.2.1 - v1.16 和 Kafka 1.0.0 - v1.1.8 版本支持单节点集群)。

    操作步骤

    1. 在 broker 所在的路由器上配置端口转发

    2. 点击配置参数,点击参数右侧的修改属性按钮,修改 broker 的 advertised.host.nameadvertised.port 为路由器转发的源地址和源端口。

      说明

      Kafka 各节点(broker、producer、consumer)之间是靠 advertised host 与 advertised port 通讯的。

    示例

    假设路由器的 IP 地址是 207.226.141.61,端口 9080 转发到 Kafka broker 192.168.0.10 端口 9092。
    修改 advertised.host.name 为 207.226.141.61,修改 advertised.port 为 9080。

    modify parameter