コンテンツにスキップ

トラフィックのルーティング

以前、リクエストがロードバランサーからプールへ、そしてプールから個々のサーバーへどのように移動するかについて説明しました。

しかし、ロードバランサーとプールがその決定をどのように行うかについては触れていませんでした。

これはルーティングとして知られる概念です。

仕組み

一般的に、ルーティングには5つの質問が関与しています:

  1. デフォルトでは、ロードバランサーはリクエストをプールにどのように分配しますか?
  2. デフォルトでは、プールはリクエストを個々のサーバーにどのように分配しますか?
  3. プール内で、どのサーバーが正常ですか?
  4. ロードバランサー内で、どのプールが正常ですか?
  5. 特殊なルーティングルールはありますか?

プールへのリクエストの分配

ロードバランサーのトラフィックスティアリングポリシーは、ロードバランサーがリクエストをプールにどのように分配するかを制御します。

ルーティングの決定は、近接性、プールのパフォーマンス、地理的要因などに基づくことができます。

プール内でのリクエストの分配

リクエストがプールに到達すると、そのプールのエンドポイントスティアリングポリシーが、プール内のサーバーにリクエストをどのように分配するかを制御します。

これらの決定は、個々のサーバーに送信されるトラフィックのデフォルトの割合(Weightとしても知られる)や、リクエストの要素(ソースIPアドレスなど)、またはその両方に基づくことができます。

エンドポイントの健康状態

エンドポイントがヘルスチェックに失敗した場合 - それは不健康と見なされます - そのプールはエンドポイントスティアリングポリシーに従ってルーティングを調整します。

新しいリクエストと既存のリクエストの両方が、プール内の健康なエンドポイントに送信され、不健康なエンドポイントは無視されます。

プールの健康状態

十分な数の不健康なエンドポイントがある場合、プール自体も不健康と見なされることがあります。

When a pool reaches Critical health, your load balancer will begin diverting traffic according to its Traffic steering policy:

  • Off:

    • If the active pool becomes unhealthy, traffic goes to the next pool in order.
    • If an inactive pool becomes unhealthy, traffic continues to go to the active pool (but would skip over the unhealthy pool in the failover order).
  • All other methods: Traffic is distributed across all remaining pools according to the traffic steering policy.

フォールバックプール

多くの場合、ロードバランサーにはフォールバックプールと呼ばれる特別なプールがあり、どんな場合でもトラフィックを受け取ります。

This pool is meant to be the pool of last resort, meaning that its health is not taken into account when directing traffic.

Fallback pools are important because traffic still might be coming to your load balancer even when all the pools are unreachable (disabled or unhealthy). Your load balancer needs somewhere to route this traffic, so it will send it to the fallback pool.

特殊なルーティング

最後に、特定の設定もロードバランサーがトラフィックを分配する方法に影響を与えることがあります。例えば:

  • リクエストの特定の要素に基づくルーティング。
  • 特定のエンドユーザーからのすべてのリクエストを同じサーバーに送信し、ショッピングカート内のアイテムなど、ユーザーセッションに関する情報を保持します。