概要 #
以下の記事の目的は、 RELIANOID ロードバランサ ソフトウェアの内部構造について詳しく知りたいシステム管理者やソフトウェア開発者向けの RELIANOID ADC ソフトウェアは機能します。このすべての情報は、生産システムの構成やトラブルシューティングにも役立ちます。
RELIANOID 建築 #
RELIANOID ユーザー空間とカーネル空間の両方からプロセスを管理し、最大限のパフォーマンスを引き出すと同時に、最大限の柔軟性を実現し、負荷分散、セキュリティ、高可用性など、アプリケーション配信コントローラに委任されたすべてのタスクを実行します。
下の図は、さまざまなコンポーネントが構成する全体像を示しています。 RELIANOID システムを内部的に変更しました。よりシンプルで明確なビューを提供するために、重要度の低いその他の部分は省略されています。
次のセクションでは、さまざまな部分とそれらがどのように相互接続されているかについて説明します。
RELIANOID ユーザー空間のロードバランサ #
ユーザー スペースで使用されるサブシステムは次のとおりです。
Web GUI: ウェブグラフィカルユーザーインターフェイスは、ユーザーがシステム全体の構成と管理を管理するために使用し、HTTPSウェブサーバーによって管理されます。 RELIANOID ロードバランサーに対して実行されるすべてのアクションの API。
RELIANOID API: or RELIANOID アプリケーションプログラムインターフェースは、 REST and JSONの HTTPS経由で消費されるインターフェースは、ユーザーの観点から見ると、他のさまざまなユーザーインターフェースによって使用されます。 Web GUI インターフェースまたは ゼクシィ (RELIANOID コマンドラインインターフェース)。このツールはRBACサブシステムに対するアクションをチェックし、許可されている場合は、 RELIANOID アプライアンス。API は、図に示されている他のユーザー空間サブシステムに接続して管理できます。
RBAC: ロールベースのアクセス制御は、ユーザー、グループ、およびロールを中心に定義されるアクセスおよび制御メカニズムです。このモジュールは、グループ、ユーザー、およびロール間の高レベルの構成を使用して、ユーザーが実行できるアクションを定義します。これは、ユーザーロールに基づいてWebビューをロードすることを許可するWeb GUIインターフェイスに完全に統合されています。さらに、このサブシステムは、 API または、 API.
LSLB – HTTP(S): HTTP(S) プロファイルによって構成される LSLB モジュール (ローカル サービス ロード バランサ) は、高スループット アプリケーションを非常に効率的に管理できる Zproxy と呼ばれるリバース プロキシによってユーザー空間で実行されます。このサブシステムは API によって構成され、IPDS サブシステムによって保護できます (ブラックリスト、DoS ルール、RBL、WAF ルールセットを使用)。
GSLB: GSLB プロファイル インスタンスで実装された GSLB モジュール (グローバル サービス ロード バランサ) は、負荷分散機能を備えた高度な DNS ネームサーバとして動作できる Gdnsd と呼ばれる DNS サーバ プロセスによって、ユーザー空間で実行されます。このサブシステムは API によって構成され、IPDS サブシステムによって保護できます (ブラックリスト、DoS、RBL を使用)。
ヘルスチェック: このサブシステムは API によって構成され、すべてのロード バランサ モジュール (LSLB、GSLB、および DSLB) によってバックエンドの正常性をチェックするために使用されます。バックエンドに対して単純なチェックと高度なチェックが実行され、チェックが失敗すると、指定されたファームのバックエンドはダウンしているとマークされ、バックエンドに対してチェックが再度機能するまでトラフィックは転送されません。Farm Guardian はこれらのチェックを担当し、高い柔軟性と構成可能性を備えて設計されています。
構成ファイル システム: このディレクトリは構成の保存の目的で使用され、このサービスが有効になっている場合、このディレクトリ内のすべての変更がクラスターに複製されます。
ヌフトポンド: このユーザー空間プロセスは API サブシステムによって管理され、主に次の 2 つの目的で使用されます。 LSLB – L4XNAT 管理と構成 IPDS サブシステム モジュール。
RELIANOID カーネル空間のロードバランサ #
カーネル スペースで使用されるサブシステムは次のとおりです。
Netfilter システム LSLB L4xNAT: Netfilterサブシステムは、負荷分散の目的でNftlbによって使用されます。Netfilterルールは、このNftlbプロセスによってカーネルにロードされ、 高性能なL4ロードバランサーを構築するNftlb は、トラフィック パケットを可能な限り最適に管理するために、カーネル内のロード バランサ ルールを効率的にロードします。さらに、Nftlb は侵入防止と保護 (ブラックリスト、RBL、DoS) のための Netfilter ルールをロードします。
IPDS ブラックリスト: このサブシステムはNetfilterシステムに統合されており、Nftlbによって管理されます。これは、ロードバランサールールの前に設定されたルールのグループで構成され、 指定されたオリジンIPへの接続を切断する内部的には、カテゴリ、国、攻撃者の種類などによって順序付けられた一連のルールが作成され、毎日更新されます。
IPDS RBL: 前のものと同様に、このサブシステムもNetfilterに統合されており、Nftlbによって管理されています。接続を確立する前に元のIPがキャプチャされ、クライアントIPが検証されます。 外部DNSサービスIP が解決されると、その IP は悪意のあるものとしてマークされ、接続が切断されます。
IPDS DoS: 前の2つのモジュールと同じ設定システムで、Netfilterに統合され、Nftlbによって管理されます。これは、パケットが特定のルールの一部であるかどうかを確認する負荷分散ルールの前に設定されるルールのセットです。 サービス拒否攻撃攻撃が行われる前にそれを阻止するために、パケット フローにいくつかのルールが適用されます。
接続追跡システム: このシステムは、Netfilterサブシステムによって接続管理、ネットワーク変換、および 統計モジュール、並びに 健康診断 バックエンドで問題が検出された瞬間に接続アクションを強制するためにサブシステムが使用します。接続追跡システムは、 クラスタリングサービス クラスターの 2 番目のノードに接続ステータスを転送するため、クラスター マスター ノードに障害が発生した場合、2 番目のノードは前のマスターと同じ接続ステータスでトラフィックを管理できます。
ルーティング システムと DSLB: これらのサブシステムはAPIによって管理され、カーネル空間で設定されます。ルーティングサブシステムは、 iproute2 これにより、複数のルーティングテーブルを順番に管理できます。 静的ルーティングの複雑なルールセットの維持を避けるためさらに、iproute2のおかげで、DSLB(データリンクサービスロードバランサ)モジュールが作成され、 複数のゲートウェイによるアップリンクの負荷分散.
この記事を書いている時点で、 RELIANOID 6 は現在製品化されているため、これらのサブシステムは将来のバージョンで進化し、より優れたパフォーマンスやより多くの機能を提供する可能性があります。
追加文書 #
RELIANOID zproxy ベンチマーク、LSLB -HTTP(S) プロファイル
RELIANOID nftlb ベンチマーク、LSLB – L4xNAT プロファイル