NSX Advanced Load Balancer には、トラフィックのレート シェーピングとスロットルに関する多くのオプションが含まれています。これは、仮想サービス、プール/サーバ、またはクライアント レベルで適用できます。これらのオプションは、適用される特定のオブジェクトに応じて、ユーザー インターフェイス全体のいくつかの場所に存在します。さらに、DataScript を使用してカスタマイズした制限を作成できます。

仮想サービスの制限

[仮想サービス] > [編集] > [詳細] タブでは、次のオプションを使用して、特定の仮想サービスの接続と要求に対する制限を指定できます。

  • [新しい TCP 接続のレート制限数]:構成された期間にこの仮想サービス用に作成できる、すべてのクライアントからの新しい接続の最大しきい値を設定します。レポート アクションを実行すると、過剰な接続のログが生成されますが、それ以外の場合は通常どおり続行できます。SYN をドロップすると、クライアント SYN がサイレントに破棄され、RST は接続リセットをクライアントに送信します。

  • [新しい HTTP 要求のレート制限数]:構成された期間に、この仮想サービスのすべてのクライアントから送られる HTTP 要求の最大しきい値を設定します。レポート アクションを実行すると、過剰な要求のログが生成されますが、それ以外の場合は通常どおり続行できます。[TCP 接続の終了] を選択すると、接続 RST がクライアントに送信されます。ローカル応答を送信すると、NSX Advanced Load Balancer は単純な Web ページと適切な状態コードを使用して応答できます。[HTTP リダイレクトの送信] を使用すると、過剰な要求が別の URI または宛先に転送されます。

  • [最大スループット]:各 SE の仮想サービスの最大帯域幅を 1 秒あたりのビット数で指定します。たとえば、仮想サービスが 3 つの SE にスケールアウトされている場合、各 SE は 1 Gbps 後に調整されるため、事実上合計で 3 Gbps になります。そのため、仮想サービスがより多くの SE に配置されると、スループットも水平方向にスケーリングされます。この制限を超えるトラフィックは破棄され、クライアントまたはサーバによる再送が必要になる場合があります。この制限を設定すると、[仮想サービスの詳細] ページの [分析] タブの [スループット] メトリック グラフに、現在のスループットと最大許容スループットを示す水平の破線が表示されます。

  • [最大同時接続数]:同時に開いている接続の最大数を指定します。この数を超える接続試行は、同時接続の合計数がしきい値を下回るまでリセット (TCP) またはドロップ (UDP) されます。この制限が設定されている場合、仮想サービスの [詳細] ページの [分析] タブには、現在開いている接続と許可された接続の最大数を示す [開いている接続数] メトリックに水平の破線が表示されます。

サーバ プールの制限

[プール] > [編集] > [詳細] タブ内で次のオプションを使用して、サーバの同時接続制限を設定できます。

[サーバ 1 台あたりの最大接続数]:サーバに許可される同時接続の最大数を指定します。プール内のすべてのサーバがこの最大数に達すると、上記の [サーバ停止設定] で特に指定されていない限り、仮想サービスは TCP 接続のリセットを送信するか、新しい UDP ストリームをサイレントに破棄します。サーバへの既存の接続が終了するとすぐに、そのサーバは次のクライアント接続を受信できるようになります。有効な値は 0(接続制限を無効にする)、または 50 から 10,000 の任意の数値です。

クライアント制限

[仮想サービス] > [編集] > [ポリシー] > [ネットワーク セキュリティ] 内で、アクションをレート制限に設定した新しいポリシーを作成します。

  • [レート制限][最大速度] フィールドで指定された 1 秒あたりの接続数を超えて接続を開かないように、クライアントを制限します。この数を超えるクライアントでは、超過した接続試行はサイレントに破棄されます。[バースト サイズ] が選択されている場合、クライアントは最近接続を開いていなければ、最大速度を超えてバーストできる可能性があります。この機能は、TCP または UDP に適用できます。一致の基準に一致するすべてのクライアントは、1 つのバケットとして扱われます。たとえば、一致が定義されていない場合、すべての IP アドレスが最大速度カウンタを増分します。すべての新しい接続クライアントでスロットルが発生します。ネットワーク、地域、または IP アドレスとポートの基準ごとに、個別の制限を適用できます。

[テンプレート] > [アプリケーション プロファイル] > [編集] > [DDoS] タブでは、レート制限 HTTP および TCP 設定のドロップダウン メニューを使用して、いくつかのオプションを使用できます。

  • [1 つのクライアントからの接続のレート制限]:1 つのクライアント IP アドレスから仮想サービスへのすべての接続でレートを制限します。

  • [1 つのクライアントからすべての URL への要求のレート制限]:1 つのクライアント IP アドレスから仮想サービスのすべての URL に送信される HTTP 要求でレートを制限します。

  • [すべてのクライアントから 1 つの URL への要求のレート制限]:すべてのクライアント IP アドレスから 1 つの URL へのすべての HTTP 要求でレートを制限します。

  • [1 つのクライアントから 1 つの URL への要求のレート制限]:任意の 1 つのクライアント IP アドレスからの任意の 1 つの URL へのすべての HTTP 要求のレートを制限します。

  • [1 つのクライアントからすべての URL への失敗した要求のレート制限]:クライアントからの要求の失敗数が特定の期間のしきい値を超えた場合、その期間、クライアントからのすべての要求のレートを制限します。クライアントは IP アドレスに基づいて追跡されます。要求はクライアント側またはサーバ側のエラー状態コードに基づいて失敗と見なされます。これは、NSX Advanced Load Balancer がログを記録する方法およびメトリック サブシステムが失敗した要求をマークする方法と同じです。

  • [すべてのクライアントから 1 つの URL への要求のレート制限]:URI に対する要求の失敗数が特定の期間のしきい値を超えた場合、その期間、その URI に対するすべての要求のレートを制限します。要求はクライアント側またはサーバ側のエラー状態コードに基づいて失敗と見なされます。これは、NSX Advanced Load Balancer がログを記録する方法およびメトリック サブシステムが失敗した要求をマークする方法と同じです。

  • [1 つのクライアントから 1 つの URL への失敗した要求のレート制限]:クライアントから URI への失敗した要求の数がその期間のしきい値を超えた場合に、指定した時間、そのクライアントから URI への要求をすべてレート制限します。要求はクライアント側またはサーバ側のエラー状態コードに基づいて失敗と見なされます。これは、NSX Advanced Load Balancer がログを記録する方法およびメトリック サブシステムが失敗した要求をマークする方法と同じです。

  • [1 つのクライアントからすべての URL へのスキャンのレート制限]:クライアントを自動的に追跡し、良好、不良、不明のグループに分類します。クライアントは IP アドレスに基づいて追跡されます。NSX Advanced Load Balancer スキャン検出システムがクライアントの正常に完了した要求の履歴を作成すると、クライアントが「良好」グループに追加されます。履歴が不足している場合、クライアントは「不明」グループに追加されます。履歴に要求の失敗が記録されているクライアントは、「不良」グループに追加されます。このクライアントの要求は、「不明」クライアントのグループよりも厳格なしきい値に基づいてレートが制限されます。NSX Advanced Load Balancer スキャン検出システムは自身を自動的に調整します。これにより、ADC によるトラフィック パターンの変更に応じて「良好」、「不良」、「不明」のクライアント IP グループのメンバーが動的に変更されます。つまり、Web サイトへの変更によってほとんどのユーザーに大規模な障害(404 エラーなど)が発生した場合、NSX Advanced Load Balancer は適応し、すべてのクライアントをサイトのスキャンを試みているとマークしません。

  • [すべてのクライアントからすべての URL へのスキャンのレート制限]:前の制限と同様ですが、すべてのクライアントからのスキャンが個別ではなく単一のエンティティとして制限されます。すべてのクライアントがまとめて制限に達すると、後続の失敗した要求を送信するすべてのクライアントがリセットされます。

  • [ヘッダーまたは Cookie に基づくクライアントのレート制限]NSX Advanced Load Balancer は、ヘッダーまたは Cookie に基づいてクライアントをレート制限できます。ヘッダーまたは Cookie の値に対して確認された要求の数を追跡します。指定されたしきい値を超えると、クライアントはレート制限されます。