Network Load Balancer (NLB) で TCP idle timeout の変更を試してみた

Network Load Balancer (NLB) で TCP idle timeout の変更を試してみた

AWS Network Load BalancerのTCPアイドルタイムアウトが従来の350秒固定から、60〜6000秒で設定可能になりました。
Clock Icon2024.09.04

2024年9月3日のアップデートで、AWS Network Load Balancer (NLB) の TCP アイドルタイムアウト(TCP idle timeout) 、60秒から6000秒の範囲で変更可能となりました。

今回、GUI(EC2 ダッシュボード)で、TCP アイドルタイムアウトの変更を試みる機会がありましたので紹介します。

https://aws.amazon.com/jp/about-aws/whats-new/2024/09/aws-network-load-balancer-tcp-idle-timeout/

NLB設定

詳細

  1. 「リスナー」を選択します。

NLBリスナー

  1. プロトコル「TCP」または「TCP_UDP」のリスナーで、「属性」として TCP アイドルタイムアウトの編集が可能になりました。

NLB_TCPリスナー詳細

リスナー属性を編集

TCPアイドルタイムアウト、デフォルト値は従来通り350秒。
今回、60〜6000秒の範囲で変更が可能なりました。

TCPアイドルタイムアウト

最長100分(6000秒)の設定が可能になりました。

TCPアイドルタイムアウト1000秒

まとめ

従来の NLB アイドルタイムアウトは 350秒で固定されており、無通信状態での切断を回避するためには、KeepAlive の実装が必要でした。

TCP フローのアイドルタイムアウト値を 350 秒に設定します。この値は変更できません。クライアントまたはターゲットは TCP キープアライブパケットを使用して、アイドルタイムアウトをリセットできます。TLS 接続を維持するために送信されるキープアライブパケットには、データまたはペイロードを含めることはできません。
https://docs.aws.amazon.com/ja_jp/elasticloadbalancing/latest/network/network-load-balancers.html

今回のアップデートにより、NLB の設定でアイドルタイムアウト時間の延長が可能となりました。

通知など双方向通信の実現のため gRPC を採用していたり、長時間のセッションを要するワークロードでは、今回のアップデートが有効に活用できる可能性がありますので、ぜひお試しください。

参考リンク

https://bifutek.hatenablog.com/entry/2022/09/10/221315

https://hori-ryota.com/blog/failed-to-grpc-with-nlb/

https://christina04.hatenablog.com/entry/grpc-keepalive

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.