全部產品
Search
文件中心

Web Application Firewall:設定洪峰限流保證大促活動期服務的可用性

更新時間:Nov 07, 2024

通過在WAF上配置洪峰限流功能,僅允許存取固定QPS或者特定比例的流量到商務服務器,可以有效保護商務服務器在大促活動期間降低異常流量衝擊。本文介紹如何設定洪峰限流。

前提條件

建立規則模板

通過建立規則模板,可以集中管理和統一應用規則,減少了重複配置的工作量。當新防護對象需要保護時,可以快速將現有規則模板應用到新的對象上,方便擴充。

步驟一:建立洪峰限流模板

  1. 登入Web Application Firewall3.0控制台。在頂部功能表列,選擇WAF執行個體的資源群組和地區(中國內地非中國內地)。在左側導覽列,選擇防護配置 > Web基礎防護在頁面下方洪峰限流地區,單擊建立模板

    說明

    如果您是第一次建立洪峰限流模板,您也可以在防護規則頁面上方的洪峰限流卡片地區,單擊立即配置

  2. 建立模板 - 洪峰限流面板,完成以下配置,單擊確定

    配置項

    說明

    模板名稱

    為該模板設定一個名稱。

    長度為1~255個字元,支援中文和大小寫英文字母,可包含數字、半形句號(.)、底線(_)和短劃線(-)。

    是否設定為預設範本

    選擇是否將該模板設定為當前防護模組的預設範本。

    一個防護模組只允許設定一個預設範本。預設範本無需設定生效對象,預設應用於所有未關聯到自訂規則模板的防護對象和對象組(包括後續新增、從自訂規則模板中移除的防護對象和對象組)。

    規則配置

    您可以單擊建立規則,為當前洪峰限流模板建立自訂規則;或者忽略該設定,在建立規則模板後,再為模板建立規則。關於建立自訂規則的具體操作,請參見步驟二:建立洪峰限流模板中的規則

    生效對象

    從已添加的防護對象及對象組中,選擇要應用該模板的防護對象防護對象組

    一個防護對象或對象組只能關聯到當前防護模組下的一個模板。關於添加防護對象和對象組的具體操作,請參見配置防護對象和防護對象組

步驟二:建立洪峰限流模板中的規則

只有添加防護規則後,洪峰限流模板才具有防護作用。

  1. 自訂規則地區,定位到要建立規則的規則模板,單擊操作列下的建立規則建立規則對話方塊,完成以下配置,單擊確定

配置項

說明

規則名稱

為該規則設定一個名稱。

支援中文和大小寫英文字母,可包含數字、半形句號(.)、底線(_)和短劃線(-)。

匹配條件

設定該規則要匹配的請求特徵。

單擊新增條件,添加一個條件。一個規則中最多可以添加五個條件。如果定義了多個條件,則只有當多個條件同時滿足時,才算命中規則。

每個條件由匹配欄位邏輯符匹配內容組成。配置樣本如下:

  • 樣本1:匹配欄位URI邏輯符包含匹配內容/login.php,表示當被請求的路徑包含/login.php時,請求命中該規則。

  • 樣本2:匹配欄位IP邏輯符屬於匹配內容192.1X.XX.XX,表示當發起串連的用戶端IP為192.1.XX.XX時,則請求命中該規則。

關於匹配欄位和邏輯符的更多說明,請參見匹配條件說明

同時訪問來源屬於下欄區域

WAF可以擷取到請求的源ip,通過源ip可以判斷流量歸屬地。如果不開啟,則不區分生效對象的流量來源。在開啟狀態下,您可以選擇中國境內的地區和中國境外的國家,未被選擇的中國境內地區與境外國家的流量將不會經過洪峰限流中配置的規則。

限流方式

QPS(Queries Per Second)限流:是通過設定一個固定的每秒請求數(QPS)上限來限制進入伺服器的流量。這種方法適用於需要嚴格控制請求數量以保證伺服器穩定性的情境。

百分比限流:是通過設定一個流量通過的比例來限制進入伺服器的流量。這種方法適用於需要在流量激增時動態控制請求量的情境,相對QPS限流更加靈活。

限流閾值

設定QPS限流值

  • 最大QPS:設定每秒允許通過的最大請求數。例如,設定為1000表示每秒最多處理1000個請求。

說明

QPS限流值,由於技術實現的複雜性和系統內容的動態變化,實際QPS可能會在設定值附近出現10%左右的波動。這種波動是限流演算法允許的正常現象,旨在平衡系統效能和限流精度。建議定期監控實際流量表現,並根據具體需求做出相應調整,以確保最佳使用效果。

設定百分比限流值

  • 通過比例:設定允許通過的請求比例。例如,設定為50%表示只允許通過一半的請求,另一半將被阻斷。

限流動作

選擇當請求命中該規則時,要執行的防護動作。可選項:

  • 攔截:表示攔截命中規則的請求,並向發起請求的用戶端返回攔截響應頁面。

    說明

    WAF預設使用統一的攔截響應頁面,您可以通過自訂響應功能,自訂攔截響應頁面。更多資訊,請參見設定自訂響應規則配置攔截響應頁面

  • 觀察:表示不攔截命中規則的請求,只通過日誌記錄請求命中了規則。您可以通過WAF日誌,查詢命中當前規則的請求,分析規則的防護效果(例如,是否有誤攔截等)。

    重要

    只有開通Log Service,您才可以使用日誌查詢功能。更多資訊,請參見開啟或關閉Log Service

生效模式

  • 永久生效:指的是限流規則一旦啟用,即始終生效,不會自動失效。適用於需要長期穩定控制流程量的情境。

  • 按時間段生效:按時間段生效指的是限流規則在設定的特定時間段內生效,常用於短期活動或特定時段內的流量控制。支援選擇時區與多個生效時間段

  • 按周期生效:按周期生效指的是限流規則在設定的周期內反覆生效,每周的特定時間段。適用於定期活動或流量高峰時段的流量控制。支援以周為單位的周期與時區選擇。

說明

樣本1:假設您希望長期限制每秒最大請求數為1000,規則永久生效,並且只針對美國的流量進行限制,同時選擇攔截作為防護動作。

  • 規則名稱:長期QPS限流

  • 描述:長期限制每秒最大請求數為1000

  • 生效模式:永久生效

  • 最大QPS:1000

  • 訪問來源區域:中國境外-北美洲-美國

  • 防護動作:攔截

樣本2:假設您希望在大促期間,url包含shopping,每天的09:00到18:00限制每秒最大請求數為1000,並且只針對全部中國地區的流量進行限制,同時選擇攔截作為限流動作。

  • 規則名稱:大促限流

  • 描述:大促期間限流

  • 生效模式:按時間段生效

  • 匹配欄位:URI包含shopping

  • 時間段:某年某月某日的09:00到某年某月某日的18:00

  • 最大QPS:1000

  • 訪問來源區域:全部中國地區

  • 限流動作:攔截

  • 應用範圍:選擇特定的業務網域名稱或路徑

樣本3:假設您希望在每周末的09:00到18:00限制每秒最大請求數為1000,並且只針對中國香港的流量進行限制,同時選擇觀察作為防護動作。

  • 規則名稱:周末限流

  • 描述:每周末限流

  • 生效模式:按周期生效

  • 周期和時間段:每周六和周日的09:00到18:00

  • 最大QPS:1000

  • 時區:選擇業務所在的時區或伺服器所在的時區

  • 訪問來源區域:中國香港

  • 限流動作:觀察

編輯規則模板

業務或專案需求可能會隨時間而變化,調整規則模板可以確保規則與當前需求保持一致。通過調整規則,可以提高系統或流程的效率和效能,減少資源浪費。

開啟與關閉規則模板

成功建立規則模板後,您可以通過模板開關,開啟或關閉模板。

更改規則模板

可以單擊目標模板操作列的編輯。完成調整後,點擊下方確認,儲存此次變更。

刪除規則模板

您可以刪除不需要的規則模板,刪除之前請確認該模板沒有關聯的防護對象。請單擊目標模板操作列中的刪除按鈕,並在彈出提示中點擊確定

重要
  • 一旦模板被刪除,系統將自動使用預設範本來保護之前由該模板防護的對象。

  • 刪除預設範本,如果預設範本中還存在防護對象,這些防護對象將不再受到洪峰限流保護。