NetScalerの基本的な機能説明と設定について記載します。
負荷分散
負荷分散方式として、典型的なものとして下記のとおりが存在します。
XenDesktop、XenAppで使用する場合は、デフォルトのLeast Connectionsを使用することが一般的です。
一部抜粋、その他方式もいろいろあります。
Least Connections(最小接続数) デフォルト方式
接続数が最も少ないサーバに接続要求を転送します。
Round Robin(ラウンドロビン)
周期的なパターンに従って、接続要求をサーバに転送します。
Least Bandwidth (最小帯域幅)
各サーバで使用されている帯域幅をMbps単位で計測し、最小のNW帯域使用率のサーバに接続要求を転送します。
Lease Response Time (最小応答時間)
各サーバからの応答時間を測定し、応答時間が最も短いサーバに接続要求を転送します。
パーシステンス
HTTP処理の永続性を維持することを意味します。
一連のHTTP処理でトランザクションを構成する処理の場合は、トランザクション内のHTTPリクエストを同じ物理サーバに処理を割り振る必要があるため、そのような設定が必要となります。
通常、ソースIPアドレスに基づいてセッション維持を行います。
ヘルスチェック
サーバが正しくサービス提供できるかどうかの確認をチェックします。
Ping 確認、サービス確認が可能です。サービスにはXenDesktop、XenApp環境で利用するSTOREFRONTなどもあります。
当然ですが、ヘルスチェックに失敗したサーバはロードバランスの対象から外れます。
設定方法
下記の順で設定を入れていきます。
・Load Balancingの有効化
・サーバの追加
・モニタの設定
・サービスの追加
・バーチャルサーバの追加
Load Balancingの有効化
[System]>[Settings]>[Configure Basic Features]より、Load Balancingにチェックを入れLoad Balancing機能を有効化ます。
以降、 [Traffic Management]>[Load Balancing]から設定を行っていきます。
サーバの追加
[Traffic Management]>[Load Balancing] >[Servers]から[Add]をクリックし、サーバを追加します。
モニタ追加
[Traffic Management]>[Load Balancing] >[Monitors]から[Add]をクリックし、モニタに使用するサービスを追加します。
デフォルトで複数のサービスが用意されていますが、XenDesktop、XenApp特有のSTOREFRONTなどもあります。
サービスの追加
[Traffic Management]>[Load Balancing] >[Services]から[Add]をクリックし、負荷分散するサーバの接続方法を設定します。
[OK]をクリックすると下記画面に遷移します。
[Moniters]より、サーバへのモニタ方法を設定できます。デフォルトはTCPセッションが張れることとなっています。
負荷分散装置をかますことで、送信元IPアドレスが負荷分散装置のアドレスとなりますが、X-Forwarded-Forの設定を実施することで、クライアントのIPアドレスをHTTPヘッダのX-Forwarded-For領域に格納することができます。
設定としては、[Settings]を編集し、Client IPにチェックをいれ、Header欄にX-Forwarded-Forと入力します。
バーチャルサーバの追加
[Traffic Management]>[Load Balancing] >[Virtual Servers]から[Add]をクリックし、バーチャルサーバを設定します。
[OK]をクリックすると下記画面に遷移します。
右側の[Advanced]より様々な設定が可能です。
[Method]から、負荷分散方式の設定が可能です。デフォルトは、LEASTCONNECTIONとなります。
X-Forwarded-Forの検証
サーバ側にてWiresharkを起動し、HTTPパケットをキャプチャします。
Hypertext Transfer Protocolを開けて、 X-Forwarded-Forの項目に正しいIPアドレスが挿入されていることを確認します。
コメント