Managed Load Balancerにおける、ヘルスモニター設定の[間隔] [リトライ回数] [タイムアウト] の動作について教えて下さい。
Managed Load Balancer, 仕様
2025年6月10日 (2025年6月10日:更新)
Managed Load Balancerのヘルスモニター設定では、閾値として[間隔] [リトライ回数] [タイムアウト] の設定ができます。
参考)
https://sdpf.ntt.com/services/docs/managed-lb/tutorials/rsts/function/health-monitor.html
ここでは、負荷分散対象(リアルサーバー)に障害が発生した場合の挙動について以下の例で説明します。
例1)負荷分散対象(リアルサーバー)がManaged Load Balancerのヘルスチェックに応答しない場合
例2)負荷分散対象(リアルサーバー)がManaged Load BalancerのヘルスチェックにHTTPエラーコード(403/404など)を返答した場合
本FAQでは、以下のように設定していることを前提として説明します。
<ヘルスモニターの設定>
・プロトコル:HTTP
・間隔(秒):3秒
・リトライ回数:5回
・タイムアウト(秒):3秒
例1)負荷分散対象(リアルサーバー)がManaged Load Balancerのヘルスチェックに応答しない場合
この場合、リトライ回数設定に従ってヘルスチェックを実施し、それでも応答がない場合にサーバーがダウンしていると判定します。
サーバーがダウンしていると判定するまでの時間の目安は次のような形で算出できます。
{0~間隔(秒)} + 間隔(秒) × リトライ回数 + タイムアウト(秒) + ラグ(1秒)
※{ }にはリアルサーバーがダウンしたタイミングと次のヘルスチェックを実施するまでの間隔を指しています。[0]とは、リアルサーバーがダウンした時から、次のヘルスチェックまでの間隔が0秒だった場合を示します。
ヘルスチェック直後にリアルサーバーがダウンした場合の流れは以下となります。
====================
(秒)
0 サーバーがダウンする
3 ヘルスチェック送信
6 ヘルスチェック送信(リトライ1)
9 ヘルスチェック送信(リトライ2)
12 ヘルスチェック送信(リトライ3)
15 ヘルスチェック送信(リトライ4)
18 ヘルスチェック送信(リトライ5)
21 (リトライ5) が タイムアウト ⇒ サーバーダウンと判定
====================
Managed Load Balancerがサーバーダウンと判定するまでに、3秒+(3秒*5回)+3秒=21秒 が理論上掛かる時間であり、
1秒程度のラグが発生する場合もあるため、21秒(+1)を判定までの時間の目安としてください。
例2)負荷分散対象(リアルサーバー)がManaged Load BalancerのヘルスチェックにHTTPエラーコード(403/404など)を返答した場合
この場合、Managed Load Balancerは即時にサーバーがダウンしていると判定します。
サーバーがダウンしていると判定するまでの時間の目安は次のような形で算出できます。
{0~間隔(秒)} + ラグ(1秒)
※{ }にはリアルサーバーがダウンしたタイミングと次のヘルスチェックを実施するまでの間隔を指しています。[0]とは、リアルサーバーがダウンした時から、次のヘルスチェックまでの間隔が0秒だった場合を示します。
ヘルスチェック直後にリアルサーバーがダウンした場合の流れは以下となります。
====================
(秒)
0 サーバーがダウンする
3 ヘルスチェック送信 ⇒ 404エラー受信 ⇒ サーバーダウンと判定
====================
1秒程度のラグが発生する場合もあるため、3秒(+1)を判定までの時間の目安としてください。