機能

vServiceごとのトラフィックシェーピングとQoS

vServiceごと、ユーザーごと、または共有の帯域幅制限を適用し、アプリケーションレイヤーでトラフィックキャパシティを制御された方法で分散します。

TR7 vServiceごとのトラフィックシェーピングとQoSは、トラフィックキャパシティを接続数やリクエストレートだけでなく、実際の帯域幅消費によって管理できます。各vServiceに対してアップロードとダウンロードの帯域幅上限を個別に定義できます。 この機能は3つの使用モデルをサポートします:接続ごとの個別制限、ユーザー、IP、またはテナント識別子をキーとした制限、HA ペアにわたる共有制限。これにより1つのテナント、1つのIP、または1つの大きな転送がサービスキャパシティ全体を消費することを防ぎます。 ここでのトラフィックシェーピングは複雑なネットワークレベルのキューイングアーキテクチャではなく、接続とフローレベルで適用されるキャパシティ上限です。オペレーターはvService、テナント、ユーザー、またはリスクのあるトラフィックグループのために迅速に帯域幅ポリシーを確立できます。 結果:TR7は帯域幅管理を別のネットワークアプライアンスや複雑なシステムチューニングの領域から、ADC上で直接動作する条件付きで監査可能なサービスレベルのトラフィック制御に変換します。

3
制限モード:stream、per-key、shared
100K
per-keyモードで追跡可能な最大キー数
100ms
sharedモードのノード間同期頻度

帯域幅が無制限のままだと、1つのテナントまたは1つの大きなフローがサービス全体に影響する可能性があります。

モダンなアプリケーションでは、キャパシティの問題はリクエスト数だけで測定されません。大きなファイルのダウンロード、ビデオストリーミング、APIエクスポート、バックアップトラフィック、またはボットによる大量のデータ取得は、低リクエストレートでも高い帯域幅を消費できます。このような場合、リクエストレート制限だけでは不十分です。

マルチテナント環境では問題はより顕著になります。1つのテナントが大量のデータ転送を行うと、他のテナントのレイテンシが増加する可能性があります。同じvServiceを共有する顧客間にキャパシティ境界がない場合、フェアユースポリシーを技術的に実施できません。

従来のトラフィックシェーピングは通常、ネットワークレベルで複雑なキューイングとクラス構造を必要とします。そのモデルは強力ですが、アプリケーション配信レイヤーでパス、テナント、ユーザー、JWTクレーム、ソースIPなどのL7シグナルで直接作業することは困難です。運用チームのデバッグと変更管理も重くなります。

正しいアプローチは、ADCレベルで接続とキーベースの帯域幅上限を適用することです。vService、ユーザー、テナント、またはリスクのあるトラフィックグループのために異なる制限を定義でき、アップロードとダウンロードの方向を独立して管理できる必要があります。

TR7 vServiceごとのトラフィックシェーピングとQoSはstream、per-key、sharedモードでアプリケーション配信レイヤーでの帯域幅消費を制御します。

アプローチ

TR7は帯域幅制御をvService、トラフィックキー、HA共有にわたる3モードポリシーとして適用します。

vServiceごとにアップロードとダウンロードの上限を適用

クライアントからバックエンドへのアップロードトラフィックとバックエンドからクライアントへのダウンロードトラフィックを各vServiceで個別に制限できます。これによりアプリケーションキャパシティがサービスレベルの制御下に置かれます。

streamモードが各接続に独自の制限を付与

streamモードでは各接続が独自の帯域幅上限の下で動作します。長時間実行されるダウンロード、アップロード、またはWebSocketスタイルのストリームで1つの接続のリソース消費を制限できます。

per-keyモードがユーザー、IP、テナントごとのクォータを適用

per-keyモードではFX式によって生成されたキーに従って制限が適用されます。ソースIP、ユーザー、テナントID、またはJWTクレーム値がすべて帯域幅キーとして機能できます。

sharedモードがクラスター全体で共通のキャパシティバジェットを提供

sharedモードでは2ノード構成の帯域幅バジェットが単一のデバイスに限定されません。同じテナントまたはサービスの合計制限をクラスターレベルでより一貫して適用できます。

機能

トラフィックシェーピングは接続ごと、キーごと、共有の帯域幅制限をvServiceレベルのポリシーに変換します。

3つの制限モードが異なるキャパシティ制御シナリオをカバー

streamモードはすべての接続に個別の上限を適用します。per-keyモードはIP、ユーザー、テナント、またはその他のFXキーにわたって共有制限を適用します。sharedモードはHAセットアップでノード間で同じ制限を分散するのに役立ちます。1つの機能でシンプルな接続制限、テナントクォータ管理、クラスター全体の共有キャパシティ制御をカバーします。

アップロードとダウンロードの制限が独立して定義可能

一部のサービスではダウンロードトラフィックが支配的で、他ではアップロードが重要なキャパシティを消費します。TR7はクライアントからバックエンドへのアップロード方向とバックエンドからクライアントへのダウンロード方向を個別に制限できます。例えば、ファイルアップロードサービスではアップロードをより厳しく制御し、ビデオサービスではダウンロードを厳しくできます。この分離により帯域幅ポリシーが実際のトラフィック動作に合わせられます。

FXキービルダーがテナントごとおよびユーザーごとの制限を生成

per-keyモードでは帯域幅キーはFX式エンジンを使って構築されます。ソースIP、JWTユーザー情報、テナントID、ヘッダー値、またはこれらの組み合わせがキーとして機能できます。例えば、同じテナントに属するすべてのユーザーが共通のキャパシティ上限を共有できます。これはマルチテナントSaaSモデルでのフェアユース実施のための強力なメカニズムです。

per-keyテーブルが多数のユーザーまたはテナントを追跡可能

per-keyモードでは各キーが別々の使用状態として追跡されます。定義された期間サイレントだったキーは削除され、アクティブなキーは制限ポリシーの対象になります。このモデルは数千のユーザーまたはテナントに対する集中的なキャパシティ制御を提供します。オペレーターは個々の接続ではなく論理的なトラフィック所有者に対して制限を適用します。

sharedモードがHAペアにわたって合計制限を維持

アクティブ-アクティブまたはアクティブ-パッシブ構成ではトラフィックが2つのノード間で分散される可能性があります。sharedモードは帯域幅バジェットが単一のノードに限定されるのではなく、共有サービス動作として適用されるのに役立ちます。テナントが1つのノードから別のノードに移動しても、制限ロジックは中断されません。これはエンタープライズSLAとクォータシナリオに特に重要です。

条件付き適用がプレミアムと標準のトラフィックを分離

トラフィックシェーピングルールは条件付きで動作できます。プレミアムテナントは無制限、フリーテナントは100 Kbpsに制限、疑わしいIPは1 Mbpsに制限できます。条件はパス、ユーザー、ヘッダー、JWTクレーム、ソースIP、またはFX式から構築できます。帯域幅ポリシーはもはや単一のグローバル設定ではなくなります。

vServiceとプール内で複数の制限ルールを定義可能

同じvService内の異なるトラフィックスライスに対して異なる制限ルールを持てます。例えば、`/download`パスに独自の制限、`/api/export`に別の制限、標準API呼び出しにさらに別の制限を設けられます。これによりキャパシティ制御がアプリケーション動作に合わせたセグメントに分解されます。オペレーターは単一の粗い上限ではなくコンテキスト対応のシェーピングを適用します。

長命のストリームに接続レベルの上限が適用される

WebSocket、大きなファイルのダウンロード、または長時間のストリーミング接続はクラシックなリクエストベースの制限をバイパスできます。streamモードはそのような各フローに帯域幅上限を適用します。1つの長い接続がサービスキャパシティを使い果たすことを防ぎます。このモデルはメディア、ファイル転送、リアルタイムストリーミングシナリオに重要です。

制限変更がサービス中断なしに適用可能

帯域幅制限は設定変更を通じて更新できます。新しい制限は制御された方法で本番トラフィックに適用されます。これによりキャンペーン、DDoSが疑われるイベント、テナントクォートの変更、または一時的なキャパシティ制限時に迅速に対応できます。運用チームは別のネットワークデバイスの変更を待つ必要はありません。

モニタリングでどのキーが制限を消費しているかを確認可能

per-keyモードでは各ユーザー、IP、またはテナントの使用状態を観察できます。オペレーターはどのキーがクォータ上限に近づいているかを確認できます。この情報はカスタマーサポート、セキュリティ分析、キャパシティ計画に有価値です。制限超過イベントはログおよびSIEMパイプラインに接続できます。

DDoS緩和で疑わしいトラフィックにレート上限を適用可能

すべての疑わしいフローを完全にブロックする必要はありません。TR7はリスクのあるIP、ASN、パス、または動作グループに低い帯域幅制限を適用できます。これにより攻撃の影響が軽減されながら、誤検知の状況で正当なユーザーが完全に切断されることを防ぎます。このアプローチは段階的な防御モデルに適しています。

透明で予測可能な接続レベルのフロー制御として機能

この機能は複雑なネットワークレベルのキューイングシステムやハードウェアQoSメカニズムではありません。TR7は接続とフローレベルで帯域幅上限を適用します。この境界はvService、キー、条件レベルで管理が簡単です。オペレーターは各サービスまたはユーザーが受け取るキャパシティを明確に定義します。

運用の深み

トラフィックシェーピングは制限モード、キー設計、アップロードとダウンロードの方向、長命のフロー、クラスター共有、監査可視性と共に計画される必要があります。

01

制限モードの選択

streamモードは接続ごとの制限に、per-keyモードはユーザーまたはテナントごとの制限に、sharedモードはクラスター全体の共通制限に適しています。間違ったモードを選択すると予期されるキャパシティ動作が壊れる可能性があります。ポリシーの目標を最初に明確にすべきです。

02

キー設計

per-keyモードで使用するキーは制限が実際に誰に属するかを決定します。ソースIPは一部の環境では十分です;テナントまたはユーザー情報がより正確なクォータモデルを提供できます。NATの背後にある複数のユーザーにとって、IPだけでは公平ではない場合があります。

03

アップロードとダウンロードの分離

アップロードとダウンロードの方向は異なるリソースへの影響を持ちます。大きなファイルのアップロードはバックエンドのイングレスキャパシティを消費し、ダウンロードはエグレスキャパシティを消費します。この2つの方向は別々に制限すべきです。

04

長命の接続

WebSocket、ストリーム、大きなファイル転送の接続は長時間オープンのままである可能性があります。接続ごとの制限により、これらのフローでのリソース消費がより予測可能になります。タイムアウトと帯域幅制限の設定は一緒に評価すべきです。

05

クラスター共有

sharedモードは2ノード構成での共通バジェット動作に使用できます。ノード間でトラフィック分散が変化しても制限ポリシーが一貫したままであることを目指します。この動作は重要なテナントSLAにとって重要です。

06

監査とアラート

制限閾値に達したキーをログに記録できます。テナントごと、ユーザーごと、またはIPごとのクォータ超過に対するSIEMサイドのアラートを設定できます。この情報はセキュリティ運用とカスタマーサポートの両方で有用です。

利用シナリオ

SaaSテナントへの帯域幅クォータの適用

マルチテナントSaaS環境では各テナントのために別々のキャパシティ上限を定義できます。テナントIDをキーとして使用し、同じテナントに属するすべてのユーザーが共通の制限を共有します。

プレミアムとフリーティアで異なる速度を提供

プレミアム顧客にはより高い帯域幅制限を、フリーユーザーにはより低い制限を付与できます。ティアの違いはアプリケーションコードにロジックを埋め込まずにADCポリシーで管理されます。

メディアストリーミングでの品質レベルに応じたレート制限の適用

ビデオまたはメディアサービスの異なる品質レベルは異なる帯域幅を必要とします。TR7はパスまたはユーザーサブスクリプションティアに基づいてダウンロード上限を適用できます。

疑わしいトラフィックをブロックする代わりに遅くする

DDoSまたはボットが疑われるイベント中に、トラフィックを完全に切断せずに低いレート制限に置くことができます。これにより攻撃の影響が削減されながら、誤検知の場合に実際のユーザーが完全に切断されることを防ぎます。

内部と外部のトラフィックに対する別々のキャパシティポリシー

内部API呼び出しを無制限のままにしながら、インターネットからのトラフィックに上限を設けることができます。分離はソースIP、パス、またはヘッダー条件を使って集中的に行われます。

プロモーションキャンペーン中に特定のエンドポイントをスロットリング

Eコマースキャンペーン中に特定のエンドポイントが突然のトラフィックスパイクを受ける場合があります。TR7はチェックアウトまたはキャンペーンAPIに一時的な帯域幅上限を適用してサービスの安定性を維持します。

よくある質問

stream、per-key、sharedモードをどのように選択しますか?
streamモードはすべての接続に個別の制限を適用し、WebSocketや大きなファイル転送などの長命のフローに適しています。per-keyモードはユーザー、IP、テナントなどのFXキーに対して共有制限を適用し、マルチテナントクォータシナリオで推奨されます。sharedモードはHAペアの2つのノード間で同じバジェットを分散します。ポリシーの目標を最初に明確にすべきです — 間違ったモードは予期されるキャパシティ動作を壊す可能性があります。
アップロードとダウンロードの制限を別々に定義できますか?
はい。TR7はクライアントからバックエンドへのアップロード方向とバックエンドからクライアントへのダウンロード方向を独立して制限できます。例えば、ファイルアップロードサービスではアップロードをより厳しく制御し、ビデオサービスではダウンロードを厳しくできます。2つの方向を別々に管理することで帯域幅ポリシーが実際のトラフィック動作に合わせられます。
per-keyモードでキーはどのように構築され、何個のキーを追跡できますか?
キーはFX式エンジンを使って構築されます。ソースIP、JWTユーザー情報、テナントID、ヘッダー値、またはこれらの組み合わせがキーとして機能できます。per-keyモードのstick-tableは最大100,000のアクティブキーを追跡できます。3,600秒間サイレントだったキーは自動的にクリーンアップされます。
sharedモードはHAセットアップでどのように機能しますか?
sharedモードでは2つのノードが100 ms間隔のUDP同期を通じて帯域幅バジェット状態を交換します。テナントのトラフィックがノード間を移動しても制限ロジックは中断されません。このモデルはエンタープライズSLAとクォータシナリオでテナント分離を保証するために特に重要です。
この機能はLinux tcやハードウェアQoSシステムと同じですか?
いいえ。TR7のトラフィックシェーピングは接続とフローレベルで帯域幅上限を適用する接続レベルのフロー制御です。Linux tcやHTBのようなカーネルレベルのキューイングアーキテクチャでも、ハードウェアQoSメカニズムでもありません。このアプローチはアプリケーション配信レイヤーでパス、テナント、ユーザー、JWTクレームなどのL7シグナルで直接動作し、はるかに少ない複雑さで実現します。
制限が超過された場合はどうなり、これらのイベントは監視できますか?
接続またはキーが制限に達した場合にスロットリングされます — トラフィックは切断されず、帯域幅上限まで引き下げられます。制限超過イベントはログに記録され、SIEMパイプラインに接続できます。per-keyモードではオペレーターはどのテナント、IP、またはユーザーがクォータを消費しているかをリアルタイムで観察できます。

vServiceとテナントレベルでトラフィックキャパシティを制御する

帯域幅管理をADCに移行します。別のネットワークアプライアンスや複雑なキューイングアーキテクチャなしに、stream、per-key、sharedモードでキャパシティポリシーを確立します。