サンドイッチモードでのCitrix ADCの展開では、ファイアウォールを通過するネットワークトラフィックを、入力(インターネットなどの外部からネットワークに入るトラフィック)と出力(ネットワークからインターネットに出るトラフィック)の両方向で負荷分散できます。
この設定では、Citrix ADCが一連のファイアウォールの両側に配置されています。ファイアウォールとインターネットの間に配置されたCitrix ADCは、入力トラフィックを処理する外部Citrix ADCと呼ばれ、構成された方法に基づいて最適なファイアウォールを選択します。ファイアウォールとプライベートネットワーク間のCitrix ADCは、内部Citrix ADCと呼ばれるセッションの最初のパケットを受信するファイアウォールを追跡します。次に、そのセッションの後続のすべてのパケットが同じファイアウォールに送信されることを確認します。
内部Citrix ADCを通常のトラフィックマネージャーとして構成して、プライベートネットワークサーバー間でトラフィックを負荷分散できます。この設定では、プライベートネットワーク(出力)から発信されるトラフィックを、ファイアウォール全体でロードバランシングすることもできます。
次の図は、サンドイッチファイアウォールの負荷分散環境を示しています。
図1:ファイアウォール負荷分散(サンドイッチ)
サービスタイプANY は、すべてのトラフィックを受け入れるようにCitrix ADCを構成します。
HTTP および TCP に関連する利点を活用するには、サービスおよび仮想サーバを HTTP または TCP タイプで構成します。FTP が機能するには、FTP タイプを使用してサービスを構成します。
サンドイッチ環境での外部Citrix ADC 構成
サンドイッチ環境で外部Citrix ADCを構成するには、次のタスクを実行します。
-
ロードバランシング機能を有効にします。
-
ファイアウォールごとにワイルドカードサービスを構成します。
-
ワイルドカードサービスごとにモニタを設定します。
-
インターネットからのトラフィック用にワイルドカード仮想サーバーを構成します。
-
MAC 書き換えモードで仮想サーバを設定します
-
ワイルドカードの仮想サーバにサービスをバインドします。
-
設定を保存して確認します。
コマンドラインインターフェイスを使用して負荷分散を有効にするには
コマンドプロンプトで次のコマンドを入力して、負荷分散を有効にし、構成を確認します。
enable ns feature LB
show ns feature
例:
> enable ns feature LoadBalancing
Done
> show ns feature
Feature Acronym Status
------- ------- ------
1) Web Logging WL OFF
2) Surge Protection SP ON
3) Load Balancing LB ON
.
.
.
24) NetScaler Push push OFF
Done
構成ユーティリティを使用して負荷分散を有効にするには
\[ システム\] > \[設定\] に移動し、\[ 基本機能の構成\] で \[ 負荷分散\] を選択します。
ファイアウォールごとにワイルドカードサービスを構成する
コマンドラインインターフェイスを使用してファイアウォールごとにワイルドカードサービスを構成するには
コマンドプロンプトで入力します。
add service <name> <serverName> ANY *
例:
add service Service-HTTP-1 10.102.29.5 ANY *
構成ユーティリティを使用して各ファイアウォールにワイルドカードサービスを構成するには
Traffic Management > Load Balancing > Servicesに移動してサービスを追加します。\[ プロトコル \] フィールドに ANY を指定し、\[ポート\] フィールドで \[*\] を指定します。
PING モニターは、デフォルトでサービスにバインドされます。個々のファイアウォールを介して信頼できる側のホストを監視するには、透過的なモニターを構成する必要があります。その後、透過モニターをサービスにバインドできます。デフォルトのPINGモニターは、Citrix ADCアプライアンスとアップストリームデバイス間の接続のみを監視します。トランスペアレントモニタは、アプライアンスからモニタで指定された宛先 IP アドレスを所有するデバイスへのパスに存在するすべてのデバイスを監視します。トランスペアレントモニタが設定されておらず、ファイアウォールのステータスが UP であるにもかかわらず、そのファイアウォールからのネクストホップデバイスのいずれかがダウンしている場合、アプライアンスはロードバランシングの実行中にファイアウォールを含み、パケットをファイアウォールに転送します。ただし、ネクストホップデバイスのいずれかがダウンしているため、パケットは最終的な宛先に配信されません。トランスペアレントモニタをバインドすることにより、いずれかのデバイス(ファイアウォールを含む)がダウンしている場合、サービスはダウンとしてマークされ、アプライアンスがファイアウォールロードバランシングを実行するときにファイアウォールは含まれません。
透過モニターをバインドすると、PINGモニターが上書きされます。トランスペアレントモニタに加えて PING モニタを構成するには、トランスペアレントモニタを作成してバインドした後、PING モニタをサービスにバインドする必要があります。
コマンドラインインターフェイスを使用してトランスペアレントモニタを構成するには
コマンドプロンプトで次のコマンドを入力して、トランスペアレントモニタを構成し、構成を確認します。
add lb monitor <monitorName> <type> [-destIP <ip_addr|ipv6_addr|*>] [-transparent (YES | NO )]
bind lb monitor <monitorName> <serviceName>
例:
add monitor monitor-HTTP-1 HTTP -destip 10.10.10.11 -transparent YES
bind monitor monitor-HTTP-1 fw-svc1
To bind a PING monitor, type the following command:
bind monitor PING fw-svc1
構成ユーティリティを使用してトランスペアレントモニタを作成してバインドするには
\[トラフィック管理\] > \[負荷分散\] > \[モニター\] に移動し、トランスペアレントモニターを作成してバインドします。
インターネットからのトラフィック用にワイルドカード仮想サーバーを構成する
コマンドラインインターフェイスを使用して、インターネットからのトラフィック用にワイルドカード仮想サーバーを構成するには
コマンドプロンプトで入力します。
add lb vserver <name> ANY * *
例:
add lb vserver Vserver-LB-1 ANY * *
構成ユーティリティを使用して、インターネットからのトラフィックに対してワイルドカード仮想サーバーを構成するには
Traffic Management > Load Balancing > Virtual Serversに移動してワイルドカード仮想サーバーを作成します。\[ プロトコル \] フィールドに ANY を指定し、\[ポート\] フィールドで \[*\] を指定します。
コマンドラインインターフェイスを使用して MAC 書き換えモードで仮想サーバーを構成するには
コマンドプロンプトで入力します。
set lb vserver <name>@ -m <RedirectionMode>
例:
set lb vserver Vserver-LB-1 -m MAC
構成ユーティリティを使用して MAC 書き換えモードで仮想サーバを構成するには
-
Traffic Management > Load Balancing > Virtual Serversに移動してワイルドカード仮想サーバーを作成します。
-
\[基本設定\] セクションを編集し、\[ その他\]をクリックします。
-
\[リダイレクションモード\] ドロップダウンリストから、\[MAC Based\] を選択します。
コマンドラインインターフェイスを使用してサービスをワイルドカード仮想サーバーにバインドするには
コマンドプロンプトで入力します。
bind lb vserver <name> <serviceName>
例:
bind lb vserver Vserver-LB-1 Service-HTTP-1
構成ユーティリティを使用してサービスをワイルドカード仮想サーバーにバインドするには
-
トラフィック管理 > 負荷分散 > 仮想サーバーに移動し、サービスをバインドする仮想サーバーを選択します。
-
「 サービス 」セクションをクリックし、バインドするサービスを選択します。
設定タスクが完了したら、必ず設定を保存してください。設定が正しいことを確認してください。
コマンドラインインターフェイスを使用して構成を保存および確認するには
コマンドプロンプトで次のコマンドを入力して、トランスペアレントモニタを構成し、構成を確認します。
save ns config
show vserver
例:
save config
sh lb vserver FWLBVIP1
FWLBVIP1 (\*:\*) - ANY Type: ADDRESS
State: UP
Last state change was at Mon Jun 14 06:40:14 2010
Time since last state change: 0 days, 00:00:11.240
Effective State: UP ARP:DISABLED
Client Idle Timeout: 120 sec
Down state flush: ENABLED
Disable Primary Vserver On Down : DISABLED
No. of Bound Services : 2 (Total) 2 (Active)
Configured Method: SRCIPDESTIPHASH
Mode: MAC
Persistence: NONE
Connection Failover: DISABLED
1) fw_svc_1 (10.102.29.251: *) - ANY State: UP Weight: 1
2) fw_svc_2 (10.102.29.18: \*) - ANY State: UP Weight: 1
Done
show service fw-svc1
fw-svc1 (10.102.29.251:\*) - ANY
State: DOWN
Last state change was at Thu Jul 8 10:04:50 2010
Time since last state change: 0 days, 00:00:38.120
Server Name: 10.102.29.251
Server ID : 0 Monitor Threshold : 0
Max Conn: 0 Max Req: 0 Max Bandwidth: 0 kbits
Use Source IP: NO
Client Keepalive(CKA): NO
Access Down Service: NO
TCP Buffering(TCPB): YES
HTTP Compression(CMP): NO
Idle timeout: Client: 120 sec Server: 120 sec
Client IP: DISABLED
Cacheable: NO
SC: OFF
SP: OFF
Down state flush: ENABLED
1) Monitor Name: monitor-HTTP-1
State: DOWN Weight: 1
Probes: 5 Failed [Total: 5 Current: 5]
Last response: Failure - Time out during TCP connection establishment stage
Response Time: 2000.0 millisec
2) Monitor Name: ping
State: UP Weight: 1
Probes: 3 Failed [Total: 0 Current: 0]
Last response: Success - ICMP echo reply received.
Response Time: 1.415 millisec
Done
サンドイッチ環境での内部Citrix ADC 構成
サンドイッチ環境で内部Citrix ADCを構成するには、次のタスクを実行します。
サーバからのトラフィック(出力)
-
ロードバランシング機能を有効にします。
-
ファイアウォールごとにワイルドカードサービスを構成します。
-
ワイルドカードサービスごとにモニタを設定します。
-
ワイルドカード仮想サーバを設定して、ファイアウォールに送信されるトラフィックの負荷を分散します。
-
MAC 書き換えモードで仮想サーバを設定します
-
ファイアウォールサービスをワイルドカード仮想サーバーにバインドします。
プライベートネットワークサーバー間のトラフィック用
負荷分散機能が無効になっている場合、サービスや仮想サーバーなどの負荷分散エンティティを構成できます。ただし、この機能を有効にするまで機能しません。
コマンドラインインターフェイスを使用して負荷分散を有効にするには
コマンドプロンプトで次のコマンドを入力して、負荷分散を有効にし、構成を確認します。
enable ns feature LB
show ns feature
例:
> enable ns feature LoadBalancing
Done
> show ns feature
Feature Acronym Status
------- ------- ------
1) Web Logging WL OFF
2) Surge Protection SP ON
3) Load Balancing LB ON
.
.
.
24) NetScaler Push push OFF
Done
構成ユーティリティを使用して負荷分散を有効にするには
\[ システム\] > \[設定\] に移動し、\[基本機能の構成\] で \[ 負荷分散\] を選択します。
ファイアウォールごとにワイルドカードサービスを構成する
コマンドラインインターフェイスを使用してファイアウォールごとにワイルドカードサービスを構成するには
コマンドプロンプトで入力します。
add service <name> <serverName> ANY *
例:
add service Service-HTTP-1 10.102.29.5 ANY *
構成ユーティリティを使用して各ファイアウォールにワイルドカードサービスを構成するには
Traffic Management > Load Balancing > Servicesに移動してサービスを追加します。\[ プロトコル \] フィールドに ANY を指定し、\[ポート\] フィールドで \[*\] を指定します。
PING モニターは、デフォルトでサービスにバインドされます。個々のファイアウォールを介して信頼できる側のホストを監視するには、透過的なモニターを構成する必要があります。その後、透過モニターをサービスにバインドできます。デフォルトのPINGモニターは、Citrix ADCアプライアンスとアップストリームデバイス間の接続のみを監視します。トランスペアレントモニタは、アプライアンスからモニタで指定された宛先 IP アドレスを所有するデバイスへのパスに存在するすべてのデバイスを監視します。トランスペアレントモニタが設定されておらず、ファイアウォールのステータスが UP であるにもかかわらず、そのファイアウォールからのネクストホップデバイスのいずれかがダウンしている場合、アプライアンスはロードバランシングの実行中にファイアウォールを含み、パケットをファイアウォールに転送します。ただし、ネクストホップデバイスのいずれかがダウンしているため、パケットは最終的な宛先に配信されません。トランスペアレントモニタをバインドすることにより、いずれかのデバイス(ファイアウォールを含む)がダウンしている場合、サービスはダウンとしてマークされ、アプライアンスがファイアウォールロードバランシングを実行するときにファイアウォールは含まれません。
透過モニターをバインドすると、PINGモニターが上書きされます。トランスペアレントモニタに加えて PING モニタを構成するには、トランスペアレントモニタを作成してバインドした後、PING モニタをサービスにバインドする必要があります。
コマンドラインインターフェイスを使用してトランスペアレントモニタを構成するには
コマンドプロンプトで次のコマンドを入力して、トランスペアレントモニタを構成し、構成を確認します。
add lb monitor <monitorName> <type> [-destIP <ip_addr|ipv6_addr|*>] [-transparent (YES | NO )]
bind lb monitor <monitorName> <serviceName>
例:
add monitor monitor-HTTP-1 HTTP -destip 10.10.10.11 -transparent YES
bind monitor monitor-HTTP-1 fw-svc1
構成ユーティリティを使用してトランスペアレントモニタを作成してバインドするには
-
\[トラフィック管理\] > \[負荷分散\] > \[モニター\] に移動し、モニターを作成します。
-
\[ モニター の作成\]ダイアログボックスで、必要なパラメーターを入力し、\[ **透過\]**を選択します。
ワイルドカード仮想サーバーを構成して、ファイアウォールに送信されるトラフィックの負荷を分散する
コマンドラインインターフェイスを使用してファイアウォールに送信されるトラフィックを負荷分散するようにワイルドカード仮想サーバーを構成するには
コマンドプロンプトで入力します。
add lb vserver <name> ANY * *
例:
add lb vserver Vserver-LB-1 ANY * *
構成ユーティリティを使用して、インターネットからのトラフィックに対してワイルドカード仮想サーバーを構成するには
-
Traffic Management > Load Balancing > Virtual Serversに移動してワイルドカード仮想サーバーを作成します。
-
\[プロトコル\]フィールドにANYを指定し、 * \[ポート\]フィールド。****
構成ユーティリティを使用してファイアウォールに送信されるトラフィックの負荷を分散するようにワイルドカード仮想サーバーを構成するには
-
Traffic Management > Load Balancing > Virtual Serversに移動します。
-
詳細ペインで、[Add] をクリックします。
-
\[仮想サーバーの作成 (負荷分散)\] ダイアログボックスで、次に示すパラメータの値を指定します。
-
\[プロトコル\] で \[ANY\] を選択し、\[IP アドレス\] と \[ポート\] で \[*\] を選択します。
-
[Create] をクリックしてから、[Close] をクリックします。作成した仮想サーバーが \[負荷分散仮想サーバー\] ウィンドウに表示されます。
コマンドラインインターフェイスを使用して MAC 書き換えモードで仮想サーバーを構成するには
コマンドプロンプトで入力します。
set lb vserver <name>@ -m <RedirectionMode>
例:
set lb vserver Vserver-LB-1 -m MAC
構成ユーティリティを使用して MAC 書き換えモードで仮想サーバを構成するには
-
Traffic Management > Load Balancing > Virtual Serversに移動してワイルドカード仮想サーバーを作成します。
-
\[基本設定\] セクションを編集し、\[ その他\]をクリックします。
-
\[リダイレクションモード\] ドロップダウンリストから、\[MAC Based\] を選択します。
ファイアウォールサービスをワイルドカード仮想サーバーにバインドする
コマンドラインインターフェイスを使用してファイアウォールサービスをワイルドカード仮想サーバーにバインドするには
コマンドプロンプトで入力します。
bind lb vserver <name> <serviceName>
例:
bind lb vserver Vserver-LB-1 Service-HTTP-1
構成ユーティリティを使用してファイアウォールサービスをワイルドカード仮想サーバーにバインドするには
-
\[トラフィック管理\] > \[負荷分散\] > \[仮想サーバー\] に移動し、仮想サーバーを選択します。
-
\[ サービス\] セクションをクリックして、バインドするサービスを選択します。
注:サービスを複数の仮想サーバーにバインドできます。
コマンドラインインターフェイスを使用して各仮想サーバーのサービスを構成するには
コマンドプロンプトで入力します。
add service <name> <serverName> HTTP <port>
例:
add service Service-HTTP-1 10.102.29.5 HTTP 80
構成ユーティリティを使用して各仮想サーバのサービスを構成するには
-
\[トラフィック管理\] > \[負荷分散\] > \[サービス\] に移動し、各仮想サーバーのサービスを構成します。
-
\[ プロトコル\]フィールドでHTTPを指定し、\[ 使用可能なモニター\]で \[ **HTTP\]**を選択します。
構成ユーティリティを使用して各仮想サーバのサービスを構成するには
-
Traffic Management > Load Balancing > Servicesに移動します。
-
詳細ペインで、[Add] をクリックします。
-
\[サービスの作成\] ダイアログボックスで、次に示すパラメータの値を指定します。
-
「プロトコル」で、HTTPを指定します。\[使用可能なモニター\] で、\[HTTP\] を選択します。
-
[Create] をクリックしてから、[Close] をクリックします。作成したサービスが \[Services\] ペインに表示されます。
コマンドラインインターフェイスを使用してモニタをサービスにバインドするには
コマンドプロンプトで入力します。
bind lb monitor <monitorName> <ServiceName>
例:
bind mon monitor-HTTP-1 Service-HTTP-1
構成ユーティリティを使用してモニタをサービスにバインドするには
\[トラフィック管理\] > \[負荷分散\] > \[サービス\] に移動し、サービスをダブルクリックしてモニタを追加します。
サーバーに送信されるトラフィックのバランスをとるように HTTP 仮想サーバーを構成する
コマンドラインインターフェイスを使用してサーバーに送信されるトラフィックのバランスをとるように HTTP 仮想サーバーを構成するには
コマンドプロンプトで入力します。
add lb vserver <name> HTTP <ip> <port>
例:
add lb vserver Vserver-LB-1 HTTP 10.102.29.60 80
構成ユーティリティを使用してサーバーに送信されるトラフィックのバランスをとるように HTTP 仮想サーバーを構成するには
-
\[トラフィック管理\] > \[負荷分散\] > \[仮想サービス\] に移動し、HTTP 仮想サーバーを設定します。
-
\[プロトコル\] フィールドに HTTP を指定します。
構成ユーティリティを使用してサーバーに送信されるトラフィックのバランスをとるように HTTP 仮想サーバーを構成するには
-
Traffic Management > Load Balancing > Virtual Serversに移動します。
-
詳細ペインで、[Add] をクリックします。
-
\[仮想サーバーの作成 (負荷分散)\] ダイアログボックスで、次に示すパラメータの値を指定します。
-
\[プロトコル\] で、\[HTTP\] を選択します。
-
[Create] をクリックしてから、[Close] をクリックします。作成した仮想サーバーが \[負荷分散仮想サーバー\] ウィンドウに表示されます。
設定タスクが完了したら、必ず設定を保存してください。また、設定が正しいことを確認する必要があります。
コマンドラインインターフェイスを使用して構成を保存および確認するには
コマンドプロンプトで次のコマンドを入力して、トランスペアレントモニタを構成し、構成を確認します。
-
save ns config
-
show vserver
例:
save config
show lb vserver FWLBVIP2
FWLBVIP2 (\*:\*) - ANY Type: ADDRESS
State: UP
Last state change was at Mon Jun 14 07:22:54 2010
Time since last state change: 0 days, 00:00:32.760
Effective State: UP
Client Idle Timeout: 120 sec
Down state flush: ENABLED
Disable Primary Vserver On Down : DISABLED
No. of Bound Services : 2 (Total) 2 (Active)
Configured Method: LEASTCONNECTION
Current Method: Round Robin, Reason: A new service is bound
Mode: MAC
Persistence: NONE
Connection Failover: DISABLED
1) fw-int-svc1 (10.102.29.5: *) - ANY State: UP Weight: 1
2) fw-int-svc2 (10.102.29.9: \*) - ANY State: UP Weight: 1
Done
show service fw-int-svc1
fw-int-svc1 (10.102.29.5:\*) - ANY
State: DOWN
Last state change was at Thu Jul 8 14:44:51 2010
Time since last state change: 0 days, 00:01:50.240
Server Name: 10.102.29.5
Server ID : 0 Monitor Threshold : 0
Max Conn: 0 Max Req: 0 Max Bandwidth: 0 kbits
Use Source IP: NO
Client Keepalive(CKA): NO
Access Down Service: NO
TCP Buffering(TCPB): NO
HTTP Compression(CMP): NO
Idle timeout: Client: 120 sec Server: 120 sec
Client IP: DISABLED
Cacheable: NO
SC: OFF
SP: OFF
Down state flush: ENABLED
1) Monitor Name: monitor-HTTP-1
State: DOWN Weight: 1
Probes: 9 Failed [Total: 9 Current: 9]
Last response: Failure - Time out during TCP connection establishment stage
Response Time: 2000.0 millisec
2) Monitor Name: ping
State: UP Weight: 1
Probes: 3 Failed [Total: 0 Current: 0]
Last response: Success - ICMP echo reply received.
Response Time: 1.275 millisec
Done
構成ユーティリティを使用して構成を保存および確認するには
-
\[ 詳細\] ペインで、\[ 保存\]をクリックします。
-
\[ 構成 の保存\]ダイアログボックスで、\[ はい\]をクリックします。
-
Traffic Management > Load Balancing > Virtual Serversに移動します。
-
\[ 詳細\] ペインで、手順5で作成した仮想サーバーを選択します。
-
詳細 ペインに表示される設定が正しいことを確認します。
-
Traffic Management > Load Balancing > Servicesに移動します。
-
\[ 詳細\] ペインで、手順5で作成したサービスを選択します。
-
詳細 ペインに表示される設定が正しいことを確認します。
サンドイッチ環境で設定されたファイアウォール負荷分散の監視
構成がアップして実行されたら、各サービスと仮想サーバーの統計情報を表示して、考えられる問題をチェックする必要があります。
仮想サーバーのパフォーマンスを評価したり、問題のトラブルシューティングを行うために、Citrix ADCアプライアンスで構成された仮想サーバーの詳細を表示できます。すべての仮想サーバの統計情報のサマリーを表示することも、仮想サーバの名前を指定して、その仮想サーバの統計情報だけを表示することもできます。次の詳細を表示できます。
-
名前
-
IPアドレス
-
ポート
-
プロトコル
-
仮想サーバの状態
-
受信したリクエストの割合
-
ヒット率
コマンドラインインターフェイスを使用して仮想サーバーの統計情報を表示するには
Citrix ADCに現在構成されているすべての仮想サーバー、または単一の仮想サーバーの統計情報のサマリーを表示するには、コマンドプロンプトで次のように入力します。
stat lb vserver [-detail] [<name>]
例:
>stat lb vserver -detail
Virtual Server(s) Summary
vsvrIP port Protocol State Req/s Hits/s
One * 80 HTTP UP 5/s 0/s
Two * 0 TCP DOWN 0/s 0/s
Three * 2598 TCP DOWN 0/s 0/s
dnsVirtualNS 10.102.29.90 53 DNS DOWN 0/s 0/s
BRVSERV 10.10.1.1 80 HTTP DOWN 0/s 0/s
LBVIP 10.102.29.66 80 HTTP UP 0/s 0/s
Done
構成ユーティリティを使用して仮想サーバの統計情報を表示するには
-
Traffic Management > Load Balancing > Virtual Servers > Statisticsに移動します。
-
1つの仮想サーバーのみの統計を表示する場合は、詳細ペインで仮想サーバーを選択し、\[ 統計\]をクリックします。
サービス統計情報を使用して、要求、応答、要求バイト、応答バイト、現在のクライアント接続、サージキュー内の要求、現在のサーバ接続などを表示できます。
コマンドラインインターフェイスを使用してサービスの統計情報を表示するには
コマンドプロンプトで入力します。
stat service <name>
例:
stat service Service-HTTP-1
構成ユーティリティを使用してサービスの統計情報を表示するには
-
Traffic Management > Load Balancing > Virtual Servers > Statisticsに移動します。
-
1つのサービスのみの統計を表示する場合は、サービスを選択して、\[ 統計\]をクリックします。