我想要使用 AWS WAF 在 Amazon API Gateway REST API 上實作速率型規則。
解決方法
**注意:**AWS WAF 目前只支援 API Gateway REST API。
若要透過 AWS WAF 將速率型規則套用至 REST API,請建立內含速率型規則的保護套件,並將其與您的 REST API 建立關聯。
建立 Web ACL
請完成以下步驟。
- 開啟 AWS WAF console (AWS WAF 主控台)。
- 在導覽窗格中,選擇 AWS WAF。
- 選擇 Resources & protection packs (資源與保護套件)。
- 選擇 Create protection pack (建立保護套件)。
- 若要設定您的保護套件,請設定以下值:
在 App category (應用程式類別) 下拉式清單中,選擇 API & integration services (API 與整合服務)。
- 在 Select resources to protect (選取要保護的資源) 下,選擇 Add resources (新增資源)。
- 選擇 Add regional resources (新增區域資源)
- 從清單中選取您的 API。
- 在 Choose protection pack (選擇保護套件) 下,選取 Build your own pack from all of the protections AWS WAF offers (從 AWS WAF 提供的所有保護中建置您自己的套件)。
- 在右側窗格中,選取 Custom rule (自訂規則),然後選取 next (下一步)。
- 選取 Rate-based rule (速率型規則),然後選取 next (下一步)。
在 Action (動作) 中,選擇 Block (封鎖)。
在 Rule name (規則名稱) 中,輸入規則名稱。
在 Rate limit (速率限制) 中,輸入介於 10 到 2,000,000,000 之間的數字。
在 Evaluation window (評估時段) 中,選擇您的評估時段。
- 在 Rule configuration (規則組態) 下,於 Request aggregation (請求彙總),選取以下其中一項:
選取 Source IP address (來源 IP 位址),即可依據用戶端 IP 欄位設定速率限制。
-或-
選取標頭中的 IP 位址,即可依據 IP address in header (標頭中的 IP 位址) 設定速率限制。
**注意:**如果您的流量經過 Proxy 或內容交付網路 (CDN),請使用 IP address in header (標頭中的 IP 位址)。如需更多資訊,請參閱在 AWS WAF 中使用轉送 IP 位址。
在 Scope of inspection and rate limiting (檢查與速率限制範圍) 中,選取以下其中一項:
選取 Consider all requests (考量所有請求),即可為 Web ACL 檢查的所有請求建立規則。
-或-
選取 Only consider requests that match the criteria in a rule statement (只考量符合規則陳述式中條件的請求),即可套用縮小範圍陳述式。
在 Name (名稱) 中,輸入 Web ACL 的名稱。
選擇 Create rule (建立規則)。
- 在 Name and describe (命名與描述) 下,輸入您保護套件的名稱。
- 選擇 Create protection pack (建立保護套件)。
相關資訊
彙總 AWS WAF 中的速率型規則
三個最重要的 AWS WAF 速率型規則
如何使用彙總金鑰在 AWS WAF 中設定速率限制規則?