Kafka の NAT 設定
VPC の外から public IP 経由で Kafka の database に接続するには、3 つの要素が必要です。開いたポート、すべての node 分の DNAT ルール、そしてその public IP を指す database の public_endpoint パラメータです。
警告
public_endpoint は Static パラメータのため、保存すると database が再起動し、producer と consumer が短時間中断します。この作業は負荷の低い時間帯に行ってください。
必要なポートを開く
すべての Kafka node について、ポート 9093 への受信トラフィックを許可するよう Security Group を設定します。作成と適用の方法は Floating IP で database に接続する を参照してください。
DNAT ルールを設定する
node ごとに public 側のポートを 1 つずつ割り当て、すべて内部のポート 9093 に向けます。IP_PUBLIC は自分の public アドレスに、IP_NODE_n は各 node のアドレスに置き換えてください。
1 node 構成の場合:
| Public | 宛先 |
|---|---|
IP_PUBLIC:9092 | IP_NODE_1:9093 |
3 node 構成の場合:
| Public | 宛先 |
|---|---|
IP_PUBLIC:9092 | IP_NODE_1:9093 |
IP_PUBLIC:9093 | IP_NODE_2:9093 |
IP_PUBLIC:9094 | IP_NODE_3:9093 |
node ごとに個別の public ポートが必要です。Kafka の client は最初の接続の後に個々の broker へリダイレクトされるため、マッピングが 1 つだけだと 3 node 構成の 3 分の 2 に到達できなくなります。
public endpoint を設定する
- Kafka の database の Configure Params ページを開きます。パラメータ設定 を参照してください。
- パラメータの種類として Static を選びます。
public_endpointに自分のIP_PUBLICの値を設定します。- Save をクリックします。
変更を適用するため database が再起動します。Running に戻れば、外部の client が public IP 経由で接続できます。