ロードバランサーのタイムアウト設定が重要な理由

最終更新日:2026年8月6日

ロードバランサーのタイムアウト設定は、システムの安定性やパフォーマンス、ユーザーエクスペリエンスに直結する重要な要素です。適切なタイムアウト値を設定することで、サーバーリソースを適切に管理し、不要な接続の滞留を防ぐことができます。本記事では、ロードバランサーのタイムアウト設定の重要性と、適切な設定を行うためのポイントについて詳しく解説します。

この記事でわかること

  1. 1. ロードバランサーのタイムアウトとは?
  2. 2. タイムアウト設定が重要な理由
  3. 3. 適切なタイムアウト値の設定方法
  4. 4. ロードバランサーのタイムアウト設定のベストプラクティス
  5. この記事のポイント
  6. よくある質問
  7. 関連記事
  8. まとめ

1. ロードバランサーのタイムアウトとは?

ロードバランサーのタイムアウトは、クライアントとバックエンドサーバー間の接続がどれだけの時間維持されるかを制御するパラメータです。この時間が経過すると、ロードバランサーは接続を切断し、新しいリクエストの処理を開始します。

一般的に、ロードバランサーのタイムアウトには以下の2種類があります。

  • クライアント側タイムアウト: クライアント(ユーザーのブラウザやアプリ)が応答を待機する最大時間
  • バックエンド側タイムアウト: ロードバランサーとバックエンドサーバー間で接続を維持する時間

2. タイムアウト設定が重要な理由

2.1 長時間リクエストの影響を制御

バックエンドサーバーの処理時間が長引くと、リクエストが滞留し、他のリクエストの処理に影響を与える可能性があります。適切なタイムアウトを設定することで、長時間リクエストがシステム全体の遅延を引き起こすのを防ぐことができます。

2.2 不要な接続を制限し、サーバー負荷を軽減

長時間アイドル状態の接続が多数存在すると、サーバーのリソースが浪費されます。タイムアウトを適切に設定することで、不要な接続を早期に切断し、サーバーの負荷を軽減できます。

2.3 ユーザーエクスペリエンスの向上

ユーザーが長時間待機することなく、適切なエラーメッセージを表示することで、利便性を向上させることができます。逆に、タイムアウトが短すぎると、正常な処理が完了する前に接続が切断され、不必要なエラーが発生する可能性があります。

2.4 ロードバランサーとバックエンドサーバーの整合性

ロードバランサーのタイムアウト値とバックエンドの処理時間が適切に調整されていないと、処理が途中で切断される問題が発生します。例えば、ロードバランサーのタイムアウトが30秒なのに、バックエンドの処理に40秒かかる場合、クライアントはレスポンスを受け取れず、リクエストが失敗してしまいます。

2.5 セキュリティ対策(DDoS攻撃の防止)

長時間のアイドル接続を許可すると、悪意のあるユーザーやボットによる攻撃の対象となりやすくなります。適切なタイムアウト設定を行うことで、DDoS攻撃やセッションハイジャックのリスクを軽減できます。

3. 適切なタイムアウト値の設定方法

3.1 クライアントタイムアウトの設定

  • 一般的なWebアプリケーションでは 30秒〜60秒
  • APIゲートウェイなどでは 10秒〜30秒

3.2 バックエンドタイムアウトの設定

  • データベースや処理の重いアプリケーションでは 60秒〜120秒
  • 高速応答が求められるAPIサーバーでは 30秒以内

3.3 AWSのロードバランサーのタイムアウト設定例

1. ALB(Application Load Balancer)

  • デフォルトタイムアウト: 60秒
  • 設定可能範囲: 1秒〜4000秒
  • 設定方法: AWSマネジメントコンソールからIdle timeoutを調整

2. ELB(Classic Load Balancer)

  • デフォルトタイムアウト: 60秒
  • 設定可能範囲: 1秒〜3600秒
  • 設定方法: ELBの設定画面から変更

3. NLB(Network Load Balancer)

  • デフォルトタイムアウト: 350秒(TCPアイドルタイムアウト)
  • 設定可能範囲: 60秒〜6000秒
  • 設定方法: リスナー属性のtcp.idle_timeout.secondsで変更可能。TCP Keep-Aliveの併用も有効

4. ロードバランサーのタイムアウト設定のベストプラクティス

  • アプリケーションの処理時間を把握し、それに応じたタイムアウトを設定する
  • クライアント側のタイムアウトとロードバランサーのタイムアウトを一致させる
  • セキュリティリスクを考慮し、アイドル接続を長時間維持しない
  • 定期的にシステムの負荷状況を監視し、最適な値に調整する

この記事のポイント

  • ロードバランサーのタイムアウトには「クライアント側」と「バックエンド側」の2種類があり、両者を適切に一致させることが重要
  • AWSのALBは1秒〜4000秒、Classic ELBは1秒〜3600秒、NLBは60秒〜6000秒(デフォルト350秒)の範囲でタイムアウトを設定できる
  • タイムアウト設定はパフォーマンスだけでなく、DDoS攻撃対策等のセキュリティ面にも影響する

よくある質問

Q. タイムアウトを短く設定しすぎるとどうなりますか?
A. 正常に処理が完了する前に接続が切断され、本来成功するはずのリクエストがエラーになってしまう可能性があります。バックエンドの実際の処理時間を把握した上で設定することが重要です。
Q. ALBとNLBでタイムアウトの考え方はどう違いますか?
A. ALB(HTTP/HTTPSレイヤー)はアイドルタイムアウトを秒単位で設定しますが、NLB(TCPレイヤー)は接続追跡のタイムアウトが既定で350秒(60秒〜6000秒の範囲で変更可能)に設定されており、必要に応じてTCP Keep-Aliveを併用してコネクションを維持します。
Q. クライアント側とロードバランサー側のタイムアウトが一致していないとどうなりますか?
A. ロードバランサー側のタイムアウトがクライアント側より短い場合、クライアントが応答を待っている間に接続が切断され、意図しないエラーが発生することがあります。両者を揃えることが推奨されます。

まとめ

ロードバランサーのタイムアウト設定は、システムの安定性、パフォーマンス、セキュリティに大きな影響を与えます。適切な設定を行うことで、ユーザーエクスペリエンスの向上やリソース管理の最適化が可能になります。AWSのALBやELBを使用している場合は、デフォルト設定を見直し、アプリケーションの特性に応じた調整を行うことが重要です。


本記事の一部はAIによる生成を含んでいます。

▼ アクロビジョンについて

👔

一緒に働きましょう

一人ひとりのキャリアに向き合い、
活躍できる現場をご紹介します。

採用サイトを見る →
💻

システム開発のご依頼・ご相談

コンサルティングから運用保守まで、
ワンストップで対応します。

まずはお気軽にご相談ください →

お問い合わせ

サービスに関するご質問やご相談など、お気軽にお問い合わせください。