トラフィックドメインのレート制限を設定できます。Citrix ADC 式言語の次の式は、トラフィックドメインに関連付けられたトラフィックを識別します。
特定のトラフィックドメイン、一連のトラフィックドメイン、またはすべてのトラフィックドメインに関連付けられたトラフィックに対して、レート制限を設定できます。
トラフィックドメインのレート制限を構成するには、構成ユーティリティまたはCitrix ADCコマンドラインを使用して、Citrix ADCアプライアンスで次の手順を実行します。
-
client.traffic_domain.id 式を使用して、トラフィックドメインに関連付けられたトラフィックを識別し、レート制限するストリームセレクタを設定します。
-
レート制限の対象となるトラフィックの最大しきい値などのパラメータを指定するレート制限 ID を設定します。また、このステップでは、ストリームセレクタをレートリミッタに関連付けます。
-
レート制限 ID を使用するポリシーに関連付けるアクションを設定します。
-
sys.check_limit 式プレフィクスを使用してレート制限識別子を呼び出すポリシーを設定し、アクションをこのポリシーに関連付けます。
-
ポリシーをグローバルにバインドします。
たとえば、ID が 10 と 20 の 2 つのトラフィックドメインが Citrix ADC NS1 で設定されているとします。トラフィックドメイン 10 では、LB1-TD-1 はサーバ S1 および S2 を負荷分散するように設定され、LB2-TD1 はサーバ S3 および S4 を負荷分散するように設定されています。
トラフィックドメイン 20 では、LB1-TD-2 はサーバ S5 および S6 をロードバランシングするように設定され、LB2-TD2 はサーバ S7 および S8 をロードバランシングするように設定されます。
次の表に、設定例でのトラフィックドメインのレート制限ポリシーの例を示します。
| 目的 |
CLI コマンド |
| 各トラフィックドメインのリクエスト数を 1 秒あたり 10 に制限します。 |
add stream selector tdratelimit-1 CLIENT.TRAFFIC_DOMAIN.ID add ns limitIdentifier limitidf-1 -threshold 10 -selectorName tdratelimit-1 -trapsInTimeSlice 0 add responder policy ratelimit-pol "sys.check_limit(\"limitidf-1\")" DROP bind responder global ratelimit-pol 1 |
| 各トラフィックドメインについて、クライアントあたり 1 秒あたり 5 件のリクエスト数を制限します。 |
add stream selector tdandclientip CLIENT.IP.SRC,CLIENT.TRAFFIC_DOMAIN.ID add ns limitIdentifier td_limitidf -threshold 5 -selectorName tdandclientip -trapsInTimeSlice 5 add responder policy tdratelimit-pol "sys.check_limit(\"td_limitidf\")" DROP bind responder global tdratelimit-pol 2 |
| 特定のトラフィックドメイン(トラフィックドメイン 10 など)に送信されるリクエストの数を 3 秒ごとに 30 件に制限します。 |
add stream selector tdratelimit CLIENT.TRAFFIC_DOMAIN.ID add ns limitIdentifier td10_limitidf -threshold 30 -timeSlice 3000 -selectorName tdratelimit -trapsInTimeSlice 5 add responder policy td10ratelimit "client.traffic_domain.id==10 && sys.check_limit(\"td10_limitidf\")" DROP bind responder global td10ratelimit 3 |
| 特定のトラフィックドメイン(トラフィックドメイン 20 など)の接続数を、クライアントあたり 1 秒あたり 5 に制限します。 |
add stream selector tdandclientip CLIENT.IP.SRC CLIENT.TRAFFIC_DOMAIN.ID add ns limitIdentifier td20_limitidf -threshold 5 -mode CONNECTION -selectorName tdandclientip -trapsInTimeSlice 5 add responder policy td20_ratelimit "client.traffic_domain.id==20 && sys.check_limit(\"td20_limitidf\")" DROP bind responder global td20_ratelimit 4 |