このページの目次
トラフィックロードバランサー
トラフィックロードバランサーの概要
- トラフィックロードバランシングサポートの概要
- トラフィックロードバランサーアプリケーションの説明
- トラフィックロードバランサーの動作モード
- トラフィックロードバランサー関数
- トラフィックロードバランサーのアプリケーションコンポーネント
- トラフィックロードバランサーの設定制限
トラフィックロードバランシングサポートの概要
表1 は、アダプティブサービス向けのMS-MPCおよびMS-MICカードでのトラフィックロードバランシングサポートと、次世代サービス向けのMX-SPC3セキュリティサービスカードでのサポートの概要を示しています。
MS-MPC |
MX-SPC3 |
||
---|---|---|---|
Junosリリース |
< 16.1R6 & 18.2.R1 |
≥ 16.1R6 & 18.2R1 |
19.3R2 |
シャーシあたりのインスタンスの最大数 # |
32 |
2,000/32(L2 DSRモード) |
2,000 |
インスタンスあたりの仮想サービスの最大数 # |
32 |
32 |
32 |
仮想サービスあたりの仮想 IP アドレスの最大 # |
|
1 |
1 |
インスタンスあたりのグループの最大数 # |
32 |
32 |
32 |
グループあたりのリアルサービス(サーバー)の最大# |
255 |
255 |
255 |
仮想サービスあたりの最大グループ数 # |
|
1 |
1 |
グループあたりのネットワーク モニター プロファイルの最大数 # |
|
2 |
2 |
5秒でのPIC/NPUあたりのセキュリティサービスあたりのHCの最大# |
|
4,000 |
1,250 - 19.3R2 10,000 – 20.1R1 |
サポートされているヘルスチェックプロトコル |
ICMP, TCP, UDP, HTTP, SSL, Custom |
ICMP、TCP、UDP、HTTP、SSL、TLS こんにちは、カスタム |
トラフィックロードバランサーアプリケーションの説明
トラフィックロードバランサー(TLB)は、マルチサービスモジュラーポートコンセントレータ(MS-MPC)、マルチサービスモジュラーインターフェイスカード(MS-MIC)、またはMXセキュリティサービスプロセシングカード(MX-SPC3)のいずれかを搭載したMXシリーズルーターで、 および表2に示すようにMXシリーズルーターでサポートされているモジュラーポートコンセントレータ(MPC)ラインカードと組み合わせてサポートされています。
決定的NATとTLBを同時に実行することはできません。
TLBモード |
MXプラットフォームの対象範囲 |
---|---|
マルチサービスモジュラーポートコンセントレータ(MS-MPC) |
MX240、MX2480、MX960、MX2008、MX2010、MX2020 |
MX セキュリティ サービス処理カード(MX-SPC3) |
MX240、MX480、MX960 |
TLB を使用すると、複数のサーバー間でトラフィックを分散できます。
TLBは、MS-MPCベースのコントロールプレーンと、MXシリーズルーター転送エンジンを使用したデータプレーンを採用しています。
TLB は、ECMP(等価コストマルチパス)の拡張バージョンを使用します。拡張 ECMP は、サーバーのグループ間でのフローの分散を容易にします。ネイティブ ECMP の機能強化により、サーバーに障害が発生した場合、それらのサーバーに関連するフローのみが影響を受け、サービスとセッションの全体的なネットワーク チャーンを最小限に抑えることができます。
TLBは、グループあたり最大255台のサーバーに対してアプリケーションベースのヘルスモニタリングを提供し、サーバーの可用性情報のヘルスチェックに基づくインテリジェントなトラフィックステアリングを提供します。集約型マルチサービス(AMS)インターフェイスを設定して、サーバーの正常性監視に使用するMS-MPCまたは次世代サービスMX-SPC3カードに1対1の冗長性を提供できます。
TLBは、フロー分散処理をイングレストラフィックに適用します。
TLBは複数の仮想ルーティングインスタンスをサポートし、大規模なロードバランシング要件のサポートを向上させます。
TLBは、ロードバランシング中の静的仮想IPアドレスから実IPアドレスへの変換と静的宛先ポート変換をサポートします。
トラフィックロードバランサーの動作モード
トラフィックロードバランサーには、送信トラフィックの分散とリターントラフィックの処理を処理するための3つの操作モードが用意されています。
表 3 は、TLB のサポートと、TLB がサポートされているカードをまとめたものです。
セキュリティサービスカード |
MS-MPC |
MX-SPC3 |
---|---|---|
翻訳 |
はい |
はい |
透過レイヤー 3 ダイレクト サーバー リターン |
はい |
はい |
透過レイヤー 2 ダイレクト サーバー リターン |
はい |
サポートされていません |
透過モード レイヤー 2 ダイレクト サーバー リターン
透過モードのレイヤー2ダイレクトサーバーリターン(DSR)を使用する場合:
PFE はデータを処理します。
ロードバランシングは、パケットのレイヤー2 MACを変更することで機能します。
MS-MPCは、ネットワーク監視プローブを実行します。
実サーバーは、MXシリーズルーターから直接(レイヤー2)到達可能である必要があります。
TLBはルートをインストールし、そのルート上のすべてのトラフィックは負荷分散されます。
TLBがレイヤー3以上のヘッダーを変更することはありません。
図 1 に、透過モードのレイヤー 2 DSR の TLB トポロジーを示します。
変換モード
変換モードは、透過モードのレイヤー 2 DSR よりも高い柔軟性を提供します。翻訳モードを選択した場合:
MS-MPCは、ネットワーク監視プローブを実行します。
PFE はステートレスロードバランシングを実行します。
仮想 IP アドレスに送信されたデータ トラフィックは、仮想 IP アドレスを実サーバー IP アドレスに変換し、仮想ポートをサーバーのリスニング ポートに変換します。リターントラフィックは逆変換されます。
クライアントから仮想 IP へのトラフィックが変換されます。トラフィックは宛先に到達するようにルーティングされます。
サーバーからクライアントへのトラフィックは、暗黙的なフィルターを使用してキャプチャされ、リバース処理のために適切な負荷分散ネクストホップに送信されます。変換後、トラフィックはクライアントにルーティングされます。
負荷分散には、ランダムとハッシュの 2 つの方法があります。random 方式は UDP トラフィック専用で、quavms-random 分散を提供します。文字通りランダムではありませんが、このモードは、使用可能なサーバーのセットにトラフィックを公平に分散します。ハッシュ方式は、送信元 IP アドレス、宛先 IP アドレス、およびプロトコルの任意の組み合わせに基づいてハッシュ鍵を提供します。
メモ:変換モードの処理は、IPv4 から IPv4 および IPv6 から IPv6 のトラフィックでのみ使用できます。
図2 は、変換モードのTLBトポロジーを示しています。
透過モード レイヤー 3 ダイレクト サーバー リターン
透過モードのレイヤー3 DSRロードバランシングは、レイヤー3ホップ離れたサーバーにセッションを分散します。トラフィックは、実サーバーからクライアントに直接返されます。
トラフィックロードバランサー関数
TLB は以下の機能を提供します。
TLB は、常に任意のフローの 要求 を分散します。DSR モードを指定すると、応答はソースに直接返されます。変換モードを指定すると、リバース トラフィックはサーバ向けインターフェイスの暗黙的なフィルタを介して誘導されます。
TLBは、ハッシュベースのロードバランシングまたはランダムロードバランシングをサポートしています。
TLB を使用すると、サーバーをオフラインで構成して、既存のすべてのフローの再ハッシュによって発生する可能性のあるパフォーマンスへの影響を防ぐことができます。管理ダウン状態のサーバーを追加し、管理ダウン状態を無効にすることで、後でトラフィック分散に使用できます。サーバーをオフラインで構成すると、他のサーバーへのトラフィックへの影響を防ぐのに役立ちます。
正常性チェックによってサーバーがダウンしていると判断された場合は、影響を受けるフローのみが再ハッシュされます。
以前にダウンしたサーバーがサービスに復帰すると、ハッシュに基づいてそのサーバーに属するすべてのフローがそのサーバーに戻り、返されたフローのパフォーマンスに影響を与えます。このため、アクティブなグループへのサーバーの自動再参加を無効にすることができます。サーバーをサービスに戻すには、運用コマンドを発行
request services traffic-load-balance real-service rejoin
します。メモ:NAT は分散フローには適用されません。
ヘルスチェック監視アプリケーションは、MS-MPC/NPUで実行されます。このネットワーク プロセッサ ユニット (NPU) は、データ トラフィックの処理には使用されません。
TLBは、ロードバランシング中の静的仮想IPアドレスから実際のIPアドレスへの変換と静的宛先ポート変換をサポートします。
TLB は複数の VRF サポートを提供します。
トラフィックロードバランサーのアプリケーションコンポーネント
サーバーとサーバー グループ
TLBでは、最大255台のサーバー(設定ステートメントでは リアルサービスと呼ぶ)のグループを設定し、ステートレスセッション配信の代替宛先として使用できます。サーバー グループで使用されるすべてのサーバーは、グループに割り当てる前に個別に構成する必要があります。負荷分散では、セッションの分散にハッシュ化またはランダム化を使用します。ユーザーは、TLB サーバー分散テーブルに対してサーバーを追加および削除したり、サーバーの管理状況を変更したりできます。
TLBは、セッション配信ネクストホップAPIを使用して、サーバー配信テーブルを更新し、統計情報を取得します。 アプリケーションは、サーバー配布表の管理を直接制御することはできません。これらは、TLB API の追加サービスと削除サービスを通じて間接的にのみ変更に影響を与えることができます。
サーバーヘルスモニタリング — シングルヘルスチェックとデュアルヘルスチェック
TLB は、TCP、HTTP、SSL Hello、TLS Hello、およびカスタムヘルスチェックプローブをサポートし、グループ内のサーバーのヘルスを監視します。サーバーグループに 1 つのプローブタイプを使用することも、2 つのプローブタイプを含むデュアルヘルスチェック設定を使用することもできます。設定可能な正常性監視機能は、MX-SPC3 または MS-MPC のいずれかに存在します。デフォルトでは、プローブ要求は 5 秒ごとに送信されます。また、デフォルトでは、実サーバーは、5 回連続してプローブが失敗した後にのみダウンと宣言され、5 回連続してプローブが成功した後にのみアップと宣言されます。
カスタムヘルスチェックプローブを使用して、以下を指定します。
プローブ応答で予期される文字列
プローブと共に送信される文字列
プローブがタイムアウト (アップまたはダウン) したときに割り当てるサーバーの状態
プローブへの予想される応答を受信したとき(アップまたはダウン)に割り当てるサーバーステータス
プロトコル — UDP または TCP
TLBは アプリケーションのスティッキネスを提供し、サーバーの障害や変更が他のアクティブなサーバーへのトラフィックフローに影響を与えません。サーバーの管理状態をアップからダウンに変更しても、サーバー分散テーブル内の残りのサーバーへのアクティブなフローには影響しません。サーバーを追加したり、グループからサーバーを削除したりすると、監視プロファイルの間隔パラメーターと再試行パラメーターの構成に応じて、トラフィックにある程度の影響が残ります。
TLB は、次の 2 つのレベルのサーバー正常性監視を提供します。
単一のヘルスチェック:1つのプローブタイプが
network-monitoring-profile
、 設定ステートメントによってサーバーグループに関連付けられます。TLBデュアルヘルスチェック(TLB-DHC):設定ステートメントによって
network-monitoring-profile
、2つのプローブタイプがサーバーグループに関連付けられます。サーバーのステータスは、2 つのヘルスチェックプローブの結果に基づいて宣言されます。ユーザーは、サーバーグループごとに最大 2 つのヘルスチェックプロファイルを設定できます。サーバ グループがデュアル ヘルス チェック用に設定されている場合、実際のサービスは、両方のヘルス チェック プローブが同時に UP である場合にのみ UP であると宣言されます。それ以外の場合、実際のサービスは DOWN として宣言されます。
サーバー・ヘルス・モニターに使用される AMS インターフェースには、以下の制約事項が適用されます。
TLBインスタンスで設定されたAMSインターフェイスは、設定された複数の実サーバーのヘルスチェックにのみ、設定されたメンバーインターフェイスを使用します。
メンバー インターフェイスは、単一の VRF のケースではユニット 0 を使用しますが、複数の VRF のケースでは 1 以外のユニットを使用できます。
TLBは、AMSメンバーインターフェイス用に設定されたIPアドレスを、ヘルスチェックの送信元IPアドレスとして使用します。
メンバー インターフェイスは、実サーバーに到達するために使用されるインターフェイスと同じルーティング インスタンス内にある必要があります。これは、TLB サーバーのヘルスチェック手順では必須です。
仮想サービス
仮想サービスは、ハッシュベースまたはランダムなセッション分散とサーバー正常性の監視によって決定され、トラフィックが送信されるサーバーのグループに関連付けられた仮想 IP アドレス (VIP) を提供します。レイヤー2 DSRとレイヤー3 DSRの場合、特別なアドレス0.0.0.0により、転送インスタンスに流れるすべてのトラフィックが負荷分散されます。
仮想サービス構成には、次のものが含まれます。
Mode—トラフィックの処理方法(変換または透過)を示します。
セッションが分散されるサーバーのグループ。
負荷分散方法。
ルーティングインスタンスとルートメトリック。
デフォルトルーティングを使用するために 0.0.0.0 の仮想アドレスを割り当てることもできますが、TLB 専用に設定されたルーティングインスタンスに割り当てることができる仮想アドレスを使用することをお勧めします。
トラフィックロードバランサーの設定制限
トラフィックロードバランサーの構成制限については 、表4を参照してください。
構成コンポーネント |
構成の制限 |
---|---|
インスタンスの最大数。 |
Junos OS リリース 16.1R6 および Junos OS リリース 18.2R1 以降、TLB アプリケーションは、ダイレクトサーバーリターンモードまたは変換モードを使用する仮想サービスで 2000 TLB インスタンスをサポートします。以前のリリースでは、インスタンスの最大数は 32 です。 複数の仮想サービスが同じサーバーグループを使用している場合、これらの仮想サービスはすべて、2000 TLBインスタンスをサポートするために同じ負荷分散方法を使用する必要があります。 layer2-direct-server-returnモードを使用する仮想サービスの場合、TLBは32個のTLBインスタンスのみをサポートします。layer2-direct-server-returnモードと同じ機能を実行し、2000 TLBインスタンスをサポートするには、direct-server-returnモードを使用し、skipアクションでサービスフィルタを使用します。 |
グループあたりの最大サーバー数 |
255 |
サービスPICあたりの仮想サービスの最大数 |
32 |
5 秒間のサービス PIC あたりのヘルスチェックの最大数 |
MS-MPCサービスカードの場合:2000 次世代サービスモードと MX-SPC3 サービスカードの場合:1250 |
仮想サービスあたりのグループの最大数 |
1 |
仮想サービスあたりの仮想 IP アドレスの最大数 |
1 |
サポートされているヘルスチェックプロトコル |
ICMP、TCP、HTTP、SSL、TLS-Hello、カスタム
メモ:
ICMP ヘルス チェックは、MS-MPC サービス カードでのみサポートされています。 Junos OS リリース 22.4.1 以降、TLB が拡張され、TLS-Hello ヘルスチェックタイプがサポートされるようになりました。TCP経由のTLS-Helloでは、TLS v1.2およびv1.3 TLS-Helloヘルスチェックがサポートされています。 |
関連項目
TLB の設定
次のトピックでは、TLB の設定方法について説明します。完全なアプリケーションを作成するには、インターフェイスとルーティング情報も定義する必要があります。TLBトラフィックを区別するために、オプションでファイアウォールフィルターとポリシーオプションを定義できます。
- TLB サービスパッケージの読み込み
- TLBインスタンス名の設定
- インターフェイスとルーティング情報の設定
- サーバーの構成
- ネットワーク監視プロファイルの設定
- サーバー グループの構成
- 仮想サービスの構成
- ヘルスチェック監視機能のトレースの設定
TLB サービスパッケージの読み込み
TLBを実行したい各サービスPICにTLBサービスパッケージを読み込みます。
次世代サービスと MX-SPC3 サービス カードの場合、このパッケージを読み込む必要はありません。
TLB サービス パッケージをサービス PIC に読み込むには:
パッケージを読み込みます
jservices-traffic-dird
。[edit chassis fpc slot-number pic pic-number adaptive-services service-package extension-provider] user@host# set package jservices-traffic-dird
例えば:
[edit chassis fpc 3 pic 0 adaptive-services service-package extension-provider] user@host# set package jservices-traffic-dird
TLBインスタンス名の設定
system processes sdk-service enable
して、sdk-serviceプロセスを有効にします。
TLBインスタンスの名前を設定するには:
-
[edit services traffic-load-balance]
階層レベルで、TLB インスタンス名を特定します。[edit services traffic-load-balance] user@host# set instance instance-name
例えば:
[edit services traffic-load-balance] user@host# set instance tlb-instance1
インターフェイスとルーティング情報の設定
インターフェイスとルーティング情報を設定するには:
サーバーの構成
TLBインスタンスのサーバーを設定するには、次の手順に従います。
[edit services traffic-load-balance instance instance-name] user@host# set real-service real-service-name address server-ip-address
例えば:
[edit services traffic-load-balance instance tlb-instance1] user@host# set real-service rs138 address 172.26.99.138 user@host# set real-service rs139 address 172.26.99.139 user@host# set real-service rs140 address 172.26.99.140
ネットワーク監視プロファイルの設定
ネットワーク監視プロファイルは、セッショントラフィックが分散されるサーバーグループに割り当てて、ヘルスチェックプローブを設定します。
ネットワーク監視プロファイルを設定するには:
サーバー グループの構成
サーバー グループは、ステートレスなハッシュベースのセッション分散とサーバーの正常性監視によってトラフィックが分散されるサーバーで構成されます。
サーバー グループを構成するには:
仮想サービスの構成
仮想サービスは、ハッシュベースまたはランダムなセッション分散とサーバー正常性監視によって決定され、トラフィックが送信されるサーバーのグループに関連付けられたアドレスを提供します。オプションでフィルターやルーティングインスタンスを指定して、TLB のトラフィックを誘導することができます。
仮想サービスを設定するには:
ヘルスチェック監視機能のトレースの設定
ヘルス・チェック・モニター機能のトレース・オプションを設定するには、以下のようにします。
変更履歴テーブル
機能のサポートは、使用しているプラットフォームとリリースによって決まります。 機能エクスプローラー を使用して、機能がプラットフォームでサポートされているかどうかを判断します。