ファイアウォール・アイドル接続タイムアウトにより、トラフィックの少ない期間にノードの通信が切断される

デフォルトのアイドル接続タイムアウトを構成する手順。

トラフィックの少ない期間に、アイドル接続タイムアウトが構成されているファイアウォールにより、ローカルのノードおよび他のデータ・センターのノードとの接続が終了する可能性があります。デフォルトのアイドル接続タイムアウト値は通常、60分です。このタイムアウト値は、ネットワーク管理者が構成できます。

手順

ノード間の接続がタイムアウトになるのを回避するには、TCPのキープアライブ変数を以下のように設定してください。

  1. 使用可能なカーネル変数のリストを取得します。
    sysctl -A | grep net.ipv4
    以下の変数が存在するはずです。
    • net.ipv4.tcp_keepalive_time

      接続が非アクティブである時間。この時間の経過後、最初のキープアライブ要求が送信されます。

    • net.ipv4.tcp_keepalive_probes

      接続に異常があると判断されるに至るまでに、再転送されるkeep alive要求の数。

    • net.ipv4.tcp_keepalive_intvl

      keep aliveプローブの間隔。

  2. これらの設定を変更するには:
    sudo sysctl -w net.ipv4.tcp_keepalive_time=60 net.ipv4.tcp_keepalive_probes=3 net.ipv4.tcp_keepalive_intvl=10

    このサンプル・コマンドは、TCP keepaliveタイムアウトを60秒に変更して、10秒間隔でプローブを3回出すようにします。この設定では、90秒経過後、切断されたTCPの接続が検出されます(60 + 10 + 10 + 10)。追加のトラフィックは無視できるため、考慮する必要はありません。永続的にこれらの設定を変えずにそのままにしても特に問題はありません。