תיעוד 142
שדרוג הגבלת קצב (הגרסה הקודמת)
Cloudflare שדרגה את כל כללי הגבלת הקצב שנוצרו בגרסה הקודמת לגרסה החדשה של כללי הגבלת קצב.
לוח הבקרה של Cloudflare מציג כעת את כל כללי הגבלת הקצב שלכם ברשימה אחת.
הודעת סיום תמיכה
Rate Limiting API ומשאב Terraform cloudflare_rate_limit ↗︎ של הגרסה הקודמת של כללי הגבלת קצב הפסיקו להיות נתמכים ב-2025-06-15 ואינם זמינים עוד.
מעכשיו יש להשתמש ב-Rulesets API ובמשאב Terraform cloudflare_ruleset ↗︎ כדי להגדיר כללי הגבלת קצב.
#ההבדלים העיקריים
- מודל חיוב: הגרסה הקודמת של Rate Limiting חויבה לפי שימוש והייתה זמינה כתוספת בכל התוכניות, והגרסה החדשה כלולה בתוכניות Cloudflare. בתוכניות Enterprise, Rate Limiting מתומחר לפי סך תעבורת HTTP שבחוזה. כללי הגבלת הקצב החדשים מציעים את כל היכולות שהיו זמינות בגרסה הקודמת של הגבלת קצב, יחד עם כמה תכונות נוספות.
- ביטויי היקף מתקדמים: הגרסה הקודמת של Rate Limiting אפשרה להגדיר את היקף הכללים לפי נתיב אחד ומתודה אחת של הבקשה. בגרסה החדשה אפשר לכתוב כללים בדומה לכללי WAF מותאמים אישית, ולשלב כמה פרמטרים של בקשת HTTP.
- היקף מונה: הגרסה החדשה של הגבלת קצב משתמשת במונים שההיקף שלהם הוא לפי מרכז נתונים, ו-
cf.colo.idתמיד כלול כמאפיין. המשמעות היא שספים יכולים להתנהג אחרת עבור תעבורה שמפוזרת בין כמה מיקומי Cloudflare. מרכזי נתונים באותו מיקום גאוגרפי חולקים מונים. למידע נוסף, ראו איך Cloudflare קובעת את קצב הבקשות. - ביטויי ספירה וביטויי מיתון נפרדים: בגרסה החדשה של Rate Limiting, ביטויי הספירה וביטויי המיתון נפרדים (ללקוחות Business ו-Enterprise). ביטוי הספירה מגדיר אילו בקשות משמשות לחישוב הקצב. ביטוי המיתון מגדיר אילו בקשות עוברות מיתון לאחר שהסף הושג. באמצעות הביטויים הנפרדים האלה אפשר לעקוב אחרי קצב הבקשות בנתיב מסוים כגון
/login, וכאשר כתובת IP חורגת מהסף, לחסום כל בקשה מאותה כתובת IP שמופנית לדומיין שלכם. - ממדי ספירה נוספים (Advanced Rate Limiting בלבד): כמו בגרסה הקודמת של Rate Limiting, לקוחות עם Rate Limiting החדש מקבלים הגבלת קצב לפי IP, שבה Cloudflare סופרת בקשות לפי כתובת ה-IP של המקור של בקשות נכנסות. בנוסף להגבלת קצב לפי IP, לקוחות עם Rate Limiting החדש שנרשמים ל-Advanced Rate Limiting יכולים לקבץ בקשות לפי מאפיינים אחרים, כגון הערך של מפתחות API, עוגיות, כותרות סשן, ASN, פרמטרי שאילתה, או שדה מסוים בגוף JSON. ראו שיטות עבודה מומלצות להגבלת קצב לדוגמאות.
- מספר כללים לפי תוכנית: מלבד התכונות המדויקות לפי תוכנית Cloudflare, מספר הכללים לפי תוכנית שונה בגרסה החדשה של Rate Limiting (למידע על המגבלות בגרסה החדשה, ראו כללי הגבלת קצב):
| מוצר | Free | Pro | Business | Enterprise עם תוסף RL, או תוכנית שוות ערך |
|---|---|---|---|---|
| Rate Limiting (הגרסה הקודמת) | 1 | 10 | 15 | 100 |
| Rate Limiting (הגרסה החדשה) | 1 | 2 | 5 | 100 |
לקוחות Enterprise חייבים שאבטחת יישומים תהיה בחוזה שלהם כדי לקבל גישה לכללי הגבלת קצב.
ראו הערות חשובות על השדרוג לפרטים על האופן שבו Cloudflare תתאים את מכסת הכללים שלכם, אם יש צורך, אחרי השדרוג.
לפרטים נוספים על ההבדלים בין כללי הגבלת קצב ישנים וחדשים, ראו פוסט הבלוג שלנו ↗︎.
#הערות חשובות על השדרוג
- אחרי השדרוג, לא תוכלו ליצור או לערוך כללי הגבלת קצב כל עוד אתם מעל מכסת הכללים החדשה של תוכנית Cloudflare שלכם. מספר כללי הגבלת הקצב הכלולים בתוכנית Cloudflare שלכם יכול להיות נמוך מבעבר. אם אתם מעל המגבלה החדשה, תצטרכו לשדרג לתוכנית שנותנת לכם יותר כללים, או למחוק כללים קיימים עד שמספר הכללים יהיה קטן או שווה למספר המרבי החדש של כללים לתוכנית שלכם.
- timeout מותאמים אישית יעוגלו ל-timeout הנתמך הקרוב ביותר. גם תקופות ספירה מותאמות אישית וגם timeout של מיתון מותאמים אישית יעוגלו כלפי מעלה או כלפי מטה לתקופת הספירה ול-timeout של המיתון הנתמכים הקרובים ביותר בגרסה החדשה (ראו זמינות לפרטים על הערכים הזמינים לפי תוכנית).
לדוגמה, אם היה לכם כלל הגבלת קצב עם timeout של מיתון של 55 שניות, timeout זה יעוגל כלפי מעלה לדקה אחת (הערך הקרוב ביותר).
לקוחות Enterprise יוכלו להגדיר timeout של מיתון מותאם אישית לכלל אחרי השדרוג, אבל הגדרה זו זמינה רק דרך API. - לקוחות בתוכנית Business (או גבוהה יותר) יקבלו גישה למאפיין IP with NAT support. מאפיין זה משמש לטיפול במצבים כגון בקשות תחת NAT שחולקות את אותה כתובת IP.
- כללים מותאמים אישית קיימים שמדלגים על Rate Limiting הישן לא יעודכנו כך שידלגו על הגרסה החדשה במקום זאת. Cloudflare לא תעדכן כללים מותאמים אישית קיימים שמדלגים על הגרסה הקודמת של Rate Limiting (כללי דילוג עם האפשרות More components to skip > Rate limiting rules (Previous version)) כך שידלגו על הגרסה החדשה.
עבור כללי דילוג קיימים (כללים מותאמים אישית עם פעולת Skip), תצטרכו לעדכן אותם ידנית, אם נדרש, כך שידלגו על הגרסה החדשה של כללי הגבלת קצב (אפשרות WAF components to skip > All rate limiting rules) במקום המימוש הישן.
#שינויים רלוונטיים בלוח הבקרה
אם הייתה לכם גישה לגרסה הקודמת של Cloudflare Rate Limiting, תמצאו כעת את כל כללי הגבלת הקצב באותה רשימה ב-Security > WAF > Rate limiting rules. כללי הגבלת קצב שנוצרו בגרסה הקודמת מסומנים בתג Previous version בלוח הבקרה של Cloudflare.

אם אתם משתמשים בלוח הבקרה החדש של אבטחת יישומים, רק כללי הגבלת הקצב ששודרגו לגרסה החדשה יוצגו ב-Security > Security rules.
אם תערכו כלל עם תג זה בלוח הבקרה, לא תוכלו עוד לערוך את הכלל באמצעות ה-API ומשאב Terraform של הגרסה הקודמת של כללי הגבלת קצב. במקרה זה תצטרכו להתחיל להשתמש ב-Rulesets API או במשאב Terraform cloudflare_ruleset ↗︎ למטרה זו. ראו שינויים רלוונטיים למשתמשי API ושינויים רלוונטיים למשתמשי Terraform למידע נוסף.
#שינויים רלוונטיים למשתמשי API
Rate Limiting API הקודם הוצא משימוש. ה-API אינו נתמך עוד מאז 2025-06-15. עליכם לעדכן כל אוטומציה שמבוססת על Rate Limiting API הקודם ל-Rulesets API כדי למנוע בעיות.
כללי הגבלת הקצב החדשים מבוססים על Ruleset Engine. כדי להגדיר את כללי הגבלת הקצב האלה דרך ה-API יש להשתמש ב-Rulesets API. מכיוון שכללי הגבלת קצב שנוצרו בגרסה הקודמת שודרגו לגרסה החדשה, API זה יחזיר גם את הכללים האלה שנוצרו בגרסה החדשה.
Rulesets API הוא ה-API היחיד שמאפשר ליצור, לערוך ולמחוק כל כלל הגבלת קצב, ללא תלות בגרסת המימוש שבה יצרתם את הכלל. Rate Limiting API הקודם יעבוד רק עם כללי הגבלת קצב שנוצרו בגרסה הקודמת ושלא ערכתם בלוח הבקרה או שיניתם דרך ה-API או משאב Terraform החדשים מאז ששודרגו לגרסה החדשה.
עד תאריך סיום התמיכה ב-API, אפשר להשתמש ב-Rate Limiting API הקודם כדי ליצור, לערוך ולמחוק כללי הגבלת קצב שנוצרו בגרסה הקודמת (ש-Cloudflare שדרגה לגרסה החדשה). עם זאת, אם תשתמשו ב-Rulesets API כדי לערוך כלל שנוצר בגרסה הקודמת, או אם תשנו כלל כזה בלוח הבקרה של Cloudflare, כולל שינוי סדר הכללים, לא תוכלו עוד לנהל את הכלל הזה (ששודרג מהגרסה הקודמת ואז עודכן באמצעות Rulesets API) באמצעות פעולות ה-API הישנות. במקרה זה תצטרכו לעבור במלואו ל-Rulesets API לניהול הכלל הספציפי הזה.
#שינויים רלוונטיים למשתמשי Terraform
משאב Terraform cloudflare_rate_limit הוצא משימוש. המשאב אינו נתמך עוד מאז 2025-06-15. עליכם לעדכן ידנית את תצורת הגבלת הקצב שלכם ב-Terraform ממשאבי cloudflare_rate_limit ↗︎ למשאבי cloudflare_ruleset ↗︎ כדי למנוע בעיות.
כללי הגבלת הקצב החדשים מבוססים על Ruleset Engine. כדי להגדיר את כללי הגבלת הקצב האלה עם Terraform יש להשתמש במשאב Terraform cloudflare_ruleset.
משאב Terraform cloudflare_ruleset ↗︎ הוא המשאב היחיד שמאפשר ליצור, לערוך ולמחוק כל כלל הגבלת קצב, ללא תלות בגרסת המימוש שבה יצרתם את הכלל. משאב Terraform cloudflare_rate_limit יעבוד רק עם כללי הגבלת קצב שנוצרו בגרסה הקודמת ושלא ערכתם בלוח הבקרה או שיניתם דרך ה-API או משאב Terraform החדשים מאז ששודרגו לגרסה החדשה.
עד תאריך סיום התמיכה במשאב Terraform cloudflare_rate_limit, אפשר להשתמש במשאב זה כדי ליצור, לערוך ולמחוק כללי הגבלת קצב שנוצרו בגרסה הקודמת (ש-Cloudflare שדרגה לגרסה החדשה). עם זאת, אם תתחילו להשתמש במשאב Terraform cloudflare_ruleset כדי לנהל כלל שנוצר בגרסה הקודמת, או אם תערכו כלל כזה בלוח הבקרה של Cloudflare, כולל שינוי סדר הכללים, לא תוכלו עוד לנהל את הכלל הזה (ששודרג מהגרסה הקודמת ואז עודכן באמצעות המשאב החדש) באמצעות משאב Terraform הישן. במקרה זה תצטרכו לעבור במלואו למשאב Terraform cloudflare_ruleset לניהול הכלל הספציפי הזה.
ראו את תיעוד Terraform לדוגמאות להגדרת כללי הגבלת הקצב החדשים באמצעות Terraform.
#החלפת התצורה באמצעות cf-terraforming
אפשר להשתמש בכלי cf-terraforming ↗︎ כדי ליצור את תצורת Terraform החדשה שלכם עבור כללי הגבלת קצב שנוצרו בגרסה הקודמת. לאחר מכן אפשר לייבא את המשאבים החדשים ל-state של Terraform.
השלבים המומלצים להחלפת תצורת הגבלת הקצב הישנה שלכם ב-Terraform בתצורת ruleset חדשה הם אלה.
הריצו את הפקודה הבאה כדי ליצור את כל תצורות ה-ruleset עבור zone:
cf-terraforming generate --zone <ZONE_ID> --resource-type "cloudflare_ruleset"resource "cloudflare_ruleset" "terraform_managed_resource_3c0b456bc2aa443089c5f40f45f51b31" { kind = "zone" name = "default" phase = "http_ratelimit" zone_id = "<ZONE_ID>" rules { # (...) } # (...) } # (...)הפקודה הקודמת עשויה להחזיר תצורות ruleset נוספות עבור מוצרי Cloudflare אחרים שמבוססים גם הם על Ruleset Engine. מכיוון שאתם מעדכנים את תצורת כללי הגבלת הקצב שלכם, השאירו רק את משאב Terraform של הפאזה
http_ratelimitושמרו אותו בקובץ תצורה.tf. תזדקקו לשם המלא של המשאב בשלב הבא.ייבאו את משאב
cloudflare_rulesetשזיהיתם קודם ל-state של Terraform באמצעות הפקודהterraform import. לדוגמה:terraform import cloudflare_ruleset.terraform_managed_resource_3c0b456bc2aa443089c5f40f45f51b31 zone/<ZONE_ID>/3c0b456bc2aa443089c5f40f45f51b31cloudflare_ruleset.terraform_managed_resource_3c0b456bc2aa443089c5f40f45f51b31: Importing from ID "zone/<ZONE_ID>/3c0b456bc2aa443089c5f40f45f51b31"... cloudflare_ruleset.terraform_managed_resource_3c0b456bc2aa443089c5f40f45f51b31: Import prepared! Prepared cloudflare_ruleset for import cloudflare_ruleset.terraform_managed_resource_3c0b456bc2aa443089c5f40f45f51b31: Refreshing state... [id=3c0b456bc2aa443089c5f40f45f51b31] Import successful! The resources that were imported are shown above. These resources are now in your Terraform state and will henceforth be managed by Terraform.הריצו
terraform planכדי לאמת ש-Terraform בודק כעת את ה-state של משאבcloudflare_rulesetהחדש, בנוסף למשאבים קיימים אחרים שכבר מנוהלים על ידי Terraform. לדוגמה:terraform plancloudflare_ruleset.terraform_managed_resource_3c0b456bc2aa443089c5f40f45f51b31: Refreshing state... [id=3c0b456bc2aa443089c5f40f45f51b31] [...] cloudflare_rate_limit.my_rate_limiting_rules: Refreshing state... [id=0580eb5d92e344ddb2374979f74c3ddf] [...]הסירו מ-state של Terraform כל state שקשור לכללי הגבלת קצב שהוגדרו דרך משאב
cloudflare_rate_limitהישן:חשוב
יש להסיר כללי הגבלת קצב שהוגדרו דרך משאב
cloudflare_rate_limitמ-state של Terraform לפני מחיקת התצורה שלהם מקובצי תצורה.tf, כדי למנוע בעיות.הריצו את הפקודה הבאה כדי למצוא את כל המשאבים שקשורים לכללי הגבלת קצב (הגרסה הקודמת):
terraform state list | grep -E '^cloudflare_rate_limit\.'cloudflare_rate_limit.my_rate_limiting_rulesהריצו את הפקודה
terraform state rm ...במצב dry-run כדי להבין את ההשפעה של הסרת המשאבים האלה בלי לבצע שינויים:terraform state rm -dry-run cloudflare_rate_limit.my_rate_limiting_rulesWould remove cloudflare_rate_limit.my_rate_limiting_rulesאם ההשפעה נראית נכונה, הריצו את אותה פקודה בלי הפרמטר
-dry-runכדי להסיר בפועל את המשאבים מ-state של Terraform:terraform state rm cloudflare_rate_limit.my_rate_limiting_rulesRemoved cloudflare_rate_limit.my_rate_limiting_rules Successfully removed 1 resource instance(s).
אחרי הסרת משאבי
cloudflare_rate_limitמ-state של Terraform, מחקו את כל המשאבים האלה מקובצי התצורה.tf.הריצו
terraform planכדי לוודא שהמשאבים שמחקתם מקובצי התצורה אינם מופיעים עוד. לא אמורים להיות שינויים ממתינים.terraform plancloudflare_ruleset.terraform_managed_resource_3c0b456bc2aa443089c5f40f45f51b31: Refreshing state... [id=3c0b456bc2aa443089c5f40f45f51b31] [...] No changes. Your infrastructure matches the configuration. Terraform has compared your real infrastructure against your configuration and found no differences, so no changes are needed.
לפרטים על ייבוא משאבי Cloudflare ל-Terraform ועל שימוש בכלי cf-terraforming, ראו את המשאבים הבאים:
#משאבים נוספים
למידע נוסף על המימוש החדש של הגבלת הקצב, כולל התכונות הזמינות בכל תוכנית של Cloudflare, עיינו בכללי הגבלת קצב.
Cloudflare מציעה גם גרסה מתקדמת של Rate Limiting, הזמינה ללקוחות Enterprise. למידע נוסף, עיינו בפוסט בבלוג Introducing Advanced Rate Limiting ↗︎.
כדי ללמוד עוד על מה שאפשר לעשות עם הגבלת הקצב החדשה, עיינו בשיטות עבודה מומלצות להגבלת קצב.