Web Application Firewall (WAF) は、トラフィックスパイク調整モジュールを提供します。このモジュールを使用して、プロモーション中にトラフィックスパイクによってサーバーが圧倒されるのを防ぐことができます。指定した秒間クエリ数 (QPS) 制限またはパーセンテージ制限に基づいて、サーバーへの特定のリクエストのみを許可するようにモジュールを設定できます。このトピックでは、トラフィックスパイク調整モジュールの保護ルールを設定する方法について説明します。
前提条件
サブスクリプション WAF 3.0 インスタンスが購入済みであること。詳細については、「サブスクリプション WAF 3.0 インスタンスの購入」をご参照ください。トラフィックスパイク調整モジュールは付加価値サービスであり、WAF の Pro、Enterprise、Ultimate エディションでのみ利用可能です。お使いの WAF エディションがこのモジュールをサポートしていることを確認してください。
Web サービスが保護対象オブジェクトとして WAF 3.0 インスタンスに追加されていること。詳細については、「保護対象オブジェクトと保護対象オブジェクトグループを設定する」をご参照ください。
説明トラフィックスパイク調整モジュールは、クラウドネイティブモード (ALB、MSE、FC) を使用して WAF に追加された保護対象オブジェクトをサポートしていません。
テンプレートタイプ
トラフィックスパイク調整モジュールは、次のタイプの保護テンプレートをサポートしています。
保護テンプレート | 説明 | 保護対象オブジェクト |
デフォルト保護テンプレート | WAF は初期のデフォルト保護テンプレートを提供しません。手動で作成する必要があります。 | デフォルト保護テンプレートを作成すると、カスタム保護テンプレートが適用されていないすべての保護対象オブジェクトと保護対象オブジェクトグループが自動的に選択されます。後で追加された保護対象オブジェクトも自動的にデフォルト保護テンプレートに追加されます。選択は手動で調整できます。 |
カスタム保護テンプレート | カスタム保護テンプレートは手動で作成する必要があります。 | [適用先] パラメーターを設定する必要があります。カスタム保護テンプレートは、テンプレートに関連付けられている保護対象オブジェクトと保護対象オブジェクトグループに対してのみ有効になります。 |
保護テンプレートを作成する
トラフィックスパイク調整モジュールは、初期のデフォルト保護テンプレートを提供しません。トラフィックスパイク調整ルールを有効にするには、保護テンプレートを作成する必要があります。
手順 1:トラフィック急増抑制モジュールの保護テンプレートを作成する
WAF 3.0 コンソール にログインします。 上部のナビゲーションバーで、WAF インスタンスがデプロイされているリソースグループとリージョンを選択します。 リージョンには [中国本土] または [中国本土以外] を選択できます。 左側のナビゲーションウィンドウで、 を選択します。 表示されるページの [トラフィック急増抑制] セクションで、[テンプレートの作成] をクリックします。
[テンプレートの作成 - トラフィック急増抑制] パネルで、パラメーターを設定し、[OK] をクリックします。
パラメーター
説明
テンプレート名
テンプレートの名前を指定します。
名前は 1 ~ 255 文字で、英字、数字、ピリオド(.)、アンダースコア(_)、およびハイフン(-)を含めることができます。
デフォルトテンプレートとして保存
テンプレートを保護モジュールのデフォルトテンプレートとして設定するかどうかを指定します。
保護モジュールごとに指定できるデフォルトテンプレートは 1 つだけです。[デフォルトテンプレートとして保存] をオンにした場合、[適用先] パラメーターを設定する必要はありません。デフォルトテンプレートは、カスタム保護テンプレートが適用されていないすべての保護対象オブジェクトと保護対象オブジェクトグループ (後で追加されたものやカスタム保護テンプレートから削除されたものを含む) に適用されます。デフォルトテンプレートから手動で削除することもできます。
ルール設定
[ルールを作成] をクリックして、テンプレートの保護ルールを作成します。テンプレートの作成後に保護ルールを作成することもできます。詳細については、「手順 2: トラフィック急増抑制モジュールの保護テンプレートに保護ルールを追加する」をご参照ください。
[適用対象]
テンプレートを適用する [保護対象オブジェクト] と [保護対象オブジェクトグループ] を選択します。
保護モジュール テンプレートは、保護対象オブジェクトまたは保護対象オブジェクト グループに 1 つだけ適用できます。保護対象オブジェクトを追加して保護対象オブジェクト グループを作成する方法の詳細については、「保護対象オブジェクトと保護対象オブジェクト グループを構成する」をご参照ください。
デフォルトの保護テンプレートを設定した場合、トラフィックスパイク調整保護テンプレートが適用されていないすべての保護対象オブジェクトと保護対象オブジェクトグループが自動的に選択されます。デフォルトテンプレートを設定しない場合、保護対象オブジェクトまたは保護対象オブジェクトグループは自動的に選択されません。保護対象オブジェクトの選択は手動で変更できます。
手順 2: トラフィック急増抑制モジュールの保護テンプレートに保護ルールを追加する
保護テンプレートは、保護ルールをテンプレートに追加した後にのみ有効になります。
[トラフィックスパイク調整] セクションで、保護ルールを追加する保護テンプレートを見つけ、[操作] 列の [ルールの作成] をクリックします。[ルールの作成] ダイアログボックスで、パラメーターを設定し、[OK] をクリックします。
パラメーター | 説明 |
ルール名 | ルールの名前を指定します。 名前には、文字、数字、ピリオド(.)、アンダースコア(_)、およびハイフン(-)を含めることができます。 |
一致条件 | ルールを一致させるリクエストの特性を指定します。 [条件を追加] をクリックして、一致条件を追加します。 1 つのルールに最大 5 つの一致条件を追加できます。 複数の一致条件を追加した場合、すべての一致条件が満たされた場合にのみ、ルールが一致します。 各一致条件は、[一致フィールド]、[論理演算子]、および [一致コンテンツ] パラメーターで構成されます。例:
一致フィールドと論理演算子の詳細については、「一致条件」をご参照ください。 |
次のリージョンに属するアクセスソース | WAF はリクエストのソース IP アドレスを取得してトラフィックソースを特定します。このチェックボックスをオフにすると、WAF はルールが有効な保護対象オブジェクトのトラフィックソースを特定しません。このチェックボックスをオンにすると、[中国] タブと [中国以外] タブでリージョンを選択できます。リクエストのトラフィックソースが選択されていないリージョンである場合、WAF はリクエストをルールと照合しません。 |
速度制限モード | QPS:サーバーへの到達を許可するトラフィックを制限するために、最大 QPS を指定できます。 サーバーの安定性を確保するためにリクエスト数を厳密に制限する場合は、このモードを選択することをお勧めします。 パーセンテージ:サーバーへの到達を許可するトラフィックを制限するために、リクエストのパーセンテージを指定できます。 トラフィックの急増を処理するためにリクエスト数を動的に制限する場合は、このモードを選択することをお勧めします。 |
速度制限のしきい値 | QPS 制限
説明 実際のシナリオでは、技術実装の複雑さとシステム 環境 の動的な変化により、最大 QPS で約 10% の変動が許容されます。 変動は速度制限アルゴリズムで許容されます。 これにより、システム パフォーマンスと速度制限の精度がバランスされます。 速度制限のパフォーマンスを最適化するために、実際の QPS を定期的に監視し、QPS 制限を調整することをお勧めします。 パーセンテージ制限
|
アクション | ルールと一致するリクエストに対して WAF が実行するアクションを選択します。有効値:
|
有効モード |
|
例 1: 長期間にわたって 1 秒あたりの最大リクエスト数を 1,000 に制限し、永続的に有効な保護ルールを使用し、米国のオハイオ州からのリクエストにのみ調整を実装し、ルールに一致するリクエストをブロックしたい場合。
ルール名: 長期 QPS スロットリング
有効モード: 永続的に有効
最大 QPS: 1,000
送信元リージョン: 中国以外 > 北米 > 米国 > オハイオ州
アクション: ブロック
例 2: プロモーション中に、特定の年の特定の月の特定の日の 09:00 から特定の年の特定の月の特定の日の 18:00 まで、1 秒あたりの最大リクエスト数を 1,000 に制限し、URI に shopping が含まれ、トラフィックソースが中国のすべてのリージョンであるリクエストにスロットリングを実装し、一致するリクエストをブロックする場合。
ルール名: プロモーション スロットリング
有効モード: 固定スケジュール
一致フィールド: URI に shopping が含まれる
有効期間: 特定の年の特定の月の特定の日の 09:00 から 特定の年の特定の月の特定の日の 18:00 まで
最大 QPS: 1,000
送信元リージョン: 中国のすべてのリージョン
アクション: ブロック
例 3: 毎週末の 09:00 から 18:00 まで、1 秒あたりの最大リクエスト数を 1,000 に制限し、香港 (中国) からのリクエストにのみ調整を実装し、一致したリクエストをモニターしたい場合。
ルール名: 週末スロットリング
有効モード: 定期スケジュール
期間: 毎週土曜日と日曜日の 09:00 から 18:00 まで
最大 QPS: 1,000
タイムゾーン: ビジネスまたはサーバーのタイムゾーン
ソースリージョン: 中国 (香港)
アクション: 監視
保護テンプレートを変更する
ビジネスまたはプロジェクトの要件は時間とともに変化します。変化する要件に合わせて保護テンプレートを変更できます。この変更は、システムとプロセスの効率とパフォーマンスの向上、およびリソースの無駄の削減に役立ちます。
保護テンプレートを有効化および無効化する
保護テンプレートを作成した後、[ステータス] 列のスイッチをオンまたはオフにすることで、テンプレートを有効または無効にできます。
保護テンプレートの編集
管理したい保護テンプレートを見つけ、[操作] 列の [編集] をクリックします。設定を変更した後、[OK] をクリックします。
保護テンプレートを削除する
不要になった保護テンプレートは削除できます。保護テンプレートを削除する前に、テンプレートが保護対象オブジェクトに関連付けられていないことを確認してください。保護テンプレートを削除するには、テンプレートを見つけて [操作] 列の [削除] をクリックします。表示されるメッセージで、[OK] をクリックします。
保護テンプレートが削除されると、システムは以前に削除された保護テンプレートに関連付けられていた保護対象オブジェクトにデフォルトテンプレートを自動的に適用します。
デフォルト テンプレートを削除し、そのテンプレートが保護対象オブジェクトに関連付けられている場合、保護対象オブジェクトはトラフィック スパイク 速度制限 モジュールによって保護されなくなります。