通過在WAF上配置洪峰限流功能,僅允許存取固定QPS或者特定比例的流量到商務服務器,可以有效保護商務服務器在大促活動期間降低異常流量衝擊。本文介紹如何設定洪峰限流。
前提條件
已開通訂用帳戶進階版及以上版本。具體操作,請參見購買WAF 3.0訂用帳戶執行個體。
已將Web業務添加為WAF 3.0的防護對象。具體操作,請參見配置防護對象和防護對象組。
說明雲產品接入(ALB、MSE、FC)的防護對象暫不支援該功能。
模板類型
洪峰限流的防護模板有以下兩種類型。
防護模板 | 說明 | 生效對象 |
預設防護模板 | WAF不提供初始預設防護模板,需要手動建立。 | 建立時,對沒有關聯自訂防護模板的防護對象/組預設勾選為生效,後續新增的防護對象也會自動加入到預設防護模板中,可手動調整。 |
自訂防護模板 | 自訂的防護模板,需要手動建立。 | 需要設定生效对象,只對關聯到防護模板的防護對象和對象組生效。 |
建立防護模板
洪峰限流不提供初始預設防護模板。如果您需要啟用洪峰限流規則,您必須建立一個防護模板。
步驟一:建立洪峰限流模板
登入Web Application Firewall3.0控制台。在頂部功能表列,選擇WAF執行個體的資源群組和地區(中国内地、非中国内地)。在左側導覽列,選擇。在頁面下方洪峰限流地區,單擊新建模板。
在洪峰限流面板,完成以下配置,單擊确定。
配置項
說明
模板名称
為該模板設定一個名稱。
長度為1~255個字元,支援中文和大小寫英文字母,可包含數字、半形句號(.)、底線(_)和短劃線(-)。
是否设置为默认模板
選擇是否將該模板設定為當前防護模組的預設範本。
一個防護模組只允許設定一個預設範本。預設範本無需設定生效对象,預設應用於所有未關聯到自訂防護模板的防護對象和對象組(包括後續新增、從自訂防護模板中移除的防護對象和對象組),您也可以手動將它們從預設範本中移出。
规则配置
您可以單擊新建规则,為當前洪峰限流模板建立自訂規則;或者忽略該設定,在建立防護模板後,再為模板建立規則。關於建立自訂規則的具體操作,請參見步驟二:建立洪峰限流模板中的規則。
生效对象
從已添加的防護對象及對象組中,選擇要應用該模板的防护对象和防护对象组。
一個防護對象或對象組只能關聯到當前防護模組下的一個模板。關於添加防護對象和對象組的具體操作,請參見配置防護對象和防護對象組。
如果您設定了預設防護模板,預設所有未關聯到洪峰限流防護模板的防護對象和對象組勾選為生效;當您沒有設定預設範本,則不會預設勾選防護對象與對象組為生效。生效對象均支援手動修改。
步驟二:建立洪峰限流模板中的規則
只有添加防護規則後,洪峰限流模板才具有防護作用。
在洪峰限流地區,定位到要建立規則的防護模板,單擊操作列下的新建规则。在新建规则對話方塊,完成以下配置,單擊确定。
配置項 | 說明 |
规则名称 | 為該規則設定一個名稱。 支援中文和大小寫英文字母,可包含數字、半形句號(.)、底線(_)和短劃線(-)。 |
匹配条件 | 設定該規則要匹配的請求特徵。 單擊新增条件,添加一個條件。一個規則中最多可以添加五個條件。如果定義了多個條件,則只有當多個條件同時滿足時,才算命中規則。 每個條件由匹配字段、逻辑符和匹配内容組成。配置樣本如下:
關於匹配欄位和邏輯符的更多說明,請參見匹配條件說明。 |
同时访问来源属于下列区域 | WAF可以擷取到請求的源IP,通過源IP可以判斷流量歸屬地。如果不開啟,則不區分生效對象的流量來源。在開啟狀態下,您可以選擇中国境内和中国境外的地區,未被選擇地區的流量將不會經過洪峰限流中配置的規則。 |
限流方式 | QPS限流:是通過設定一個固定的每秒請求數(QPS)上限來限制進入伺服器的流量。這種方法適用於需要嚴格控制請求數量以保證伺服器穩定性的情境。 百分比限流:是通過設定一個流量通過的比例來限制進入伺服器的流量。這種方法適用於需要在流量激增時動態控制請求量的情境,相對QPS限流更加靈活。 |
限流阀值 | 設定QPS限流值
說明 QPS限流值,由於技術實現的複雜性和系統內容的動態變化,實際QPS可能會在設定值附近出現10%左右的波動。這種波動是限流演算法允許的正常現象,旨在平衡系統效能和限流精度。建議定期監控實際流量表現,並根據具體需求做出相應調整,以確保最佳使用效果。 設定百分比限流值
|
限流动作 | 選擇當請求命中該規則時,要執行的防護動作。可選項:
|
生效模式 |
|
樣本1:假設您希望長期限制每秒最大請求數為1000,規則永久生效,並且只針對美國俄亥俄州的流量進行限制,同時選擇攔截作為防護動作。
規則名稱:長期QPS限流
生效模式:永久生效
最大QPS:1000
訪問來源區域:中國境外-北美洲-美國-俄亥俄州
防護動作:攔截
樣本2:假設您希望在大促期間,URI包含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
時區:選擇業務所在的時區或伺服器所在的時區
訪問來源區域:中國香港
限流動作:觀察
編輯防護模板
業務或專案需求可能會隨時間而變化,調整防護模板可以確保規則與當前需求保持一致。通過調整規則,可以提高系統或流程的效率和效能,減少資源浪費。
開啟與關閉防護模板
成功建立防護模板後,您可以通過模板开关,開啟或關閉模板。
更改防護模板
可以單擊目標模板操作列的编辑。完成調整後,點擊下方确认,儲存此次變更。
刪除防護模板
您可以刪除不需要的防護模板,刪除之前請確認該模板沒有關聯的防護對象。請單擊目標模板操作列中的删除按鈕,並在彈出提示中點擊确定。
一旦模板被刪除,系統將自動使用預設範本來保護之前該模板防護的對象。
刪除預設範本,如果預設範本中還存在防護對象,這些防護對象將不再受到洪峰限流保護。