ADC
ご意見をお寄せいただきありがとうございました

この記事は機械翻訳されています.免責事項

ユーザーまたはクライアントデバイスごとの帯域幅消費量を制限する方法

Web サイト、アプリケーション、またはファイルホスティングサービスでは、すべてのユーザーが利用できるネットワークリソースとサーバーリソースには限りがあります。最も重要なリソースの 1 つは帯域幅です。一部のユーザーのみが帯域幅を大量に消費すると、ネットワークが混雑し、他のユーザーが利用できるリソースが低下する可能性があります。ネットワークの混雑を防ぐには、一時的なサービス拒否の手法を使用して、クライアントの帯域幅消費を制限する必要がある場合があります。たとえば、要求に至るまでの一定期間にあらかじめ設定された帯域幅値を超えた場合に、HTML ページでクライアント要求に応答するなどです。

一般に、帯域幅の使用量はクライアントデバイスごとまたはユーザーごとに調整できます。このユースケースは、1 時間の間にクライアントあたりの帯域幅消費量を 100 MB に制限する方法を示しています。このユースケースでは、ユーザー名を提供するカスタムヘッダーを使用して、1 時間にわたってユーザー 1 人あたりの帯域幅消費量を 100 MB に調整する方法も示しています。いずれの場合も、1 時間の移動期間における帯域幅消費量の追跡は、ストリーム識別子のインターバルパラメーターを 60 分に設定することで実現されます。ユースケースでは、制限を超えた HTML ページをインポートしてクライアントに送信する方法も示しています。HTML ページをインポートすると、これらのユースケースでのレスポンダーアクションの設定が簡単になるだけでなく、同じレスポンスを必要とするすべてのレスポンダーアクションの設定も簡単になります。

コマンドラインインターフェイスを使用してユーザーまたはクライアントデバイスごとの帯域幅消費を制限するには

コマンドラインインターフェイスで、次のタスクを実行して、クライアントまたはユーザーの帯域幅消費を制限するアクション分析を設定します。各ステップには、サンプルコマンドとその出力が含まれています。

  1. 負荷分散構成を設定します。負荷分散仮想サーバー mysitevip を構成し、必要なすべてのサービスを構成します。サービスを仮想サーバーにバインドします。次の例では、10 個のサービスを作成し、そのサービスを mysitevip にバインドします。

    > add lb vserver mysitevip HTTP 192.0.2.17 80 Done > add service service[1-10] 192.0.2.[240-249] HTTP 80 service "service1" added service "service2" added service "service3" added . . . service "service10" added Done > bind lb vserver vserver1 service[1-10] service "service1" bound service "service2" bound service "service3" bound . . . service "service10" bound Done
  2. ストリームセレクタを設定します。以下のストリームセレクターのいずれかを設定します。

    • クライアントごとの帯域幅消費を制限するには、クライアントの IP アドレスを識別するストリームセレクターを設定します。

      > add stream selector myselector CLIENT.IP.SRC Done
    • ユーザー名を提供する要求ヘッダーの値に基づいてユーザーごとの帯域幅消費を制限するには、ヘッダーを識別するストリームセレクターを設定します。次の例では、ヘッダーの名前は UserHeader です。

      > add stream selector myselector HTTP.REQ.HEADER(“UserHeader”) Done
  3. ストリーム識別子を設定します。ストリームセレクターを使用するストリーム識別子を設定します。間隔パラメータを 60 分に設定します。

    > add stream identifier myidentifier myselector -interval 60 -sampleCount 1 -sort BANDWIDTH Done
  4. レスポンダアクションを設定します。帯域幅消費制限を超えたユーザーまたはクライアントに送信する HTML ページをインポートし、そのページをレスポンダーアクション crosssed_limits で使用します。

    > import responder htmlpage http://.1.1.1/stdpages/wait.html crossed-limits.html This operation may take some time, Please wait... Done > add responder action crossed_limits respondwithhtmlpage crossed-limits.html Done
  5. レスポンダポリシーを設定します。ANALYTICS.STREAM (「myidentifier」) .COLLECT_STATS というルールとアクション NOOP を使用してレスポンダーポリシー myrespol1 を設定します。次に、クライアントまたはユーザーが 100 MB の制限を超えているかどうかを判断するポリシー myrespol2 を設定します。ポリシー myrespol2 には、レスポンダーアクション crosssed_limits が設定されています。

    > add responder policy myrespol1 'ANALYTICS.STREAM("myidentifier").COLLECT_STATS' NOOP Done > add responder policy myrespol2 'ANALYTICS.STREAM("myidentifier").BANDWIDTH.GT(104857600)' crossed_limits Done
  6. レスポンダーポリシーを負荷分散仮想サーバーにバインドします。統計データのみを収集するポリシー myrespol1 の方が優先度が高く、GOTO 式が NEXT である必要があります。

    > bind lb vserver mysitevip -policyName myrespol1 -priority 1 -gotoPriorityExpression NEXT Done > bind lb vserver mysitevip -policyName myrespol2 -priority 2 -gotoPriorityExpression END Done
  7. 構成をテストします。複数のクライアントまたはユーザーからのテスト HTTP リクエストを負荷分散仮想サーバーに送信し、stat stream identifier コマンドを使用して、指定された識別子について収集された統計を表示して、構成をテストします。次の出力は、クライアントの統計を表示します。

    > stat stream identifier myidentifier -sortBy BandW –fullValues Stream Session statistics Req BandW 192.0.2.30 5000 3761 192.0.2.31 29 2602 192.0.2.32 25 51 RspTime Conn 192.0.2.30 2 0 192.0.2.31 0 0 192.0.2.32 0 0 Done >
このコンテンツの正式なバージョンは英語で提供されています。Cloud Software Groupドキュメントのコンテンツの一部は、お客様の利便性のみを目的として機械翻訳されています。Cloud Software Groupは機械翻訳されたコンテンツを管理していないため、誤り、不正確な情報、不適切な用語が含まれる場合があります。英語の原文から他言語への翻訳について、精度、信頼性、適合性、正確性、またはお使いのCloud Software Group製品またはサービスと機械翻訳されたコンテンツとの整合性に関する保証、該当するライセンス契約書またはサービス利用規約、あるいはCloud Software Groupとのその他すべての契約に基づき提供される保証、および製品またはサービスのドキュメントとの一致に関する保証は、明示的か黙示的かを問わず、かかるドキュメントの機械翻訳された範囲には適用されないものとします。機械翻訳されたコンテンツの使用に起因する損害または問題について、Cloud Software Groupは責任を負わないものとします。
ユーザーまたはクライアントデバイスごとの帯域幅消費量を制限する方法