ApsaraMQ for Kafka はプロキシベースのアクセスをサポートしていません。これは構成の問題ではなく、プロトコルレベルの制限です。
Kafka クライアントとブローカー間の接続の仕組み
Kafka クライアントは、次の 2 つの段階でブローカーに接続します。
クライアントは、
bootstrap.serversリストを介してブローカーに接続し、クラスターメタデータを取得します。クライアントは、そのメタデータから取得したブローカーの IP アドレスを使用して、メッセージを送受信します。
クライアントとブローカーの間にプロキシがある場合、最初の段階は成功し、クライアントはブローカーに到達してメタデータを取得します。ただし、メタデータにはブローカーの IP アドレスが含まれています。クライアントはその後、プロキシをバイパスして、メッセージトラフィックのためにこれらの IP に直接接続しようとします。クライアントはこれらの IP に到達できないため、接続は失敗します。
つまり、プロキシは初期メタデータリクエストを転送できますが、メッセージトラフィックのエンドツーエンドの接続性を維持することはできません。
代替策: オンプレミスアクセスでの Express Connect の利用
オンプレミスデータセンターから ApsaraMQ for Kafka インスタンスにアクセスするには、プロキシの代わりに Express Connect 回線を使用します。Express Connect は、ご利用のデータセンターと Alibaba Cloud の間に専用の物理接続を提供し、ブローカーの IP アドレスへの完全なネットワーク接続を実現します。
セットアップ手順については、「Express Connect 回線を使用した接続とは」をご参照ください。