請求率限制 - AWS WAF、AWS Firewall Manager 與 AWS Shield Advanced

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

請求率限制

AWS WAF用於對以速率為基準的規則進行限制請求評分的準則,與AWS WAF用於聚總和計數規則請求的條件相同。如果您定義規則的向下範圍陳述式,則AWS WAF只會彙總、計數和速率限制要求,而且符合範圍向下陳述式。

導致以比率為基礎的規則將其規則作業設定套用至特定 Web 請求的比對條件如下:

  • Web 要求會符合規則的範圍向下陳述式 (如果已定義)。

  • Web 要求屬於要求計數目前超過規則限制的彙總執行個體。

速率限制警告

AWS WAF速率限制旨在控制高請求率,並以最有效率和最有效的方式保護應用程式的可用性。它不適用於精確的請求速率限制。

  • AWS WAF使用對較近期要求更重要的演算法來估算目前的要求率。因此,AWS WAF將在您設定的限制附近套用速率限制,但不保證限制完全相符。

  • AWS WAF估計大約每 30 秒的請求速率,每次使用前 5 分鐘的請求。由於這種情況和其他因素 (例如傳播延遲),在AWS WAF偵測到要求並限制速率之前,可能會以過高的速率進入最多 30 秒。類似地。請求率可以低於限制最多 30 秒,然後才AWS WAF檢測到降低並停止速率限制動作。通常,此延遲低於 20 秒。

套用規則動作

當以費率為基礎的規則將費率限制套用至請求時,它會套用動作,而且,如果您已在作業規格中定義任何自訂處理或標籤,則規則會套用這些處理方式。此要求處理方式與比對規則將其動作設定套用至相符 Web 要求的方式相同。以速率為基礎的規則只會套用標籤或對其主動速率限制的請求執行其他動作。

如需有關規則動作的一般資訊,請參閱規則動作

您可以使用除以外的任何規則動作Allow。

  • Block— AWS WAF 封鎖要求並套用您已定義的任何自訂封鎖行為。

  • Count— AWS WAF 計算要求、套用您已定義的任何自訂標頭或標籤,並繼續要求的 Web ACL 評估。

    這個動作不會限制要求的頻率。

  • CAPTCHA或 Challenge-AWS WAF 處理請求Block或類似的請求Count,具體取決於請求的令牌的狀態。

    此操作不會限制具有有效令牌的請求率。它限制了缺少有效令牌的請求的速率。

    • 如果請求沒有有效的未過期令牌,則操作會阻止請求,並將 CAPTCHA 難題或瀏覽器挑戰發送回客戶端。

      如果最終用戶或客戶端瀏覽器響應成功,則客戶端會收到有效的令牌,並自動重新發送原始請求。如果彙總執行個體的速率限制仍然有效,這個具有有效、未過期權杖的新要求將會套用動作,如下一個 bullet 點所述。

    • 如果請求具有有效的未過期令牌,則CAPTCHA或Challenge動作會驗證令牌,並且不對請求採取任何操作,類似於操作。Count以速率為基礎的規則會將要求評估傳回 Web ACL,而不採取任何終止動作,而 Web ACL 會繼續評估要求。

    如需其他資訊,請參閱 CAPTCHA並Challenge在 AWS WAF

如果您的速率限制只有 IP 地址或轉發的 IP 地址

當您將規則設定為僅限制轉寄 IP 位址的 IP 位址時,規則執行個體的頻率最多可限制 10,000 個 IP 位址。如果規則執行個體識別出 10,000 個以上的 IP 位址以達到速率限制,則只會限制最高 10,000 個寄件者。

您可以擷取以速率為基礎的規則目前為速率限制的 IP 位址清單。如果您使用範圍向下陳述式,速率限制的要求就是 IP 清單中符合範圍向下陳述式的要求。如需擷取 IP 位址清單的相關資訊,請參閱列出受速率規則限制的 IP 位址