INTEGRITY Dokumentace

Upgrade rate limitingu (předchozí verze)

Cloudflare převedl všechna pravidla rate limitingu vytvořená v předchozí verze do nová verze pravidel rate limitingu.

Dashboard Cloudflare nyní zobrazuje všechna vaše pravidla rate limitingu v jediném seznamu.

Hlavní rozdíly

Další podrobnosti o rozdílech mezi starými a novými pravidly rate limitingu najdete v náš blogový příspěvek.

Důležité poznámky k upgradu


Relevantní změny v dashboardu

Pokud jste měli přístup k předchozí verzi Cloudflare Rate Limitingu, nyní najdete všechna pravidla rate limitingu ve stejném seznamu v Security > WAF > Pravidla rate limitingu. Pravidla rate limitingu vytvořená v předchozí verzi jsou označena tagem Previous version v Cloudflare dashboardu.

Uživatelské rozhraní pravidel rate limitingu se dvěma pravidly vytvořenými v předchozí verzi.

Pokud používáte nový dashboard zabezpečení aplikací, zobrazí se pouze pravidla rate limitingu, která byla upgradována na novou verzi, a to v Security > Bezpečnostní pravidla.

Pokud pravidlo s tímto tagem upravíte v dashboardu, nebudete jej již moci upravovat pomocí API a Terraform resource pro předchozí verzi pravidel rate limitingu. V takovém případě budete muset začít používat Rulesets API nebo cloudflare_ruleset Terraform resource pro tento účel. Viz Relevantní změny pro uživatele API a Relevantní změny pro uživatele Terraformu pro více informací.

Relevantní změny pro uživatele API

Předchozí Rate Limiting API je zastaralé. Toto API již není od 2025-06-15 podporováno. Musíte aktualizovat veškerou automatizaci založenou na předchozí Rate Limiting API do Rulesets API abyste předešli problémům.

Nová pravidla rate limitingu jsou založena na Ruleset Engine. Ke konfiguraci těchto pravidel rate limitingu přes API musíte použít Rulesets API. Protože pravidla rate limitingu vytvořená v předchozí verzi byla upgradována na novou verzi, toto API vrátí i tato pravidla vytvořená v nové verzi.

The Rulesets API je jediné API, které umožňuje vytvářet, upravovat a mazat jakékoli pravidlo rate limitingu, bez ohledu na verzi implementace, ve které jste pravidlo vytvořili. předchozí Rate Limiting API bude fungovat pouze s pravidly rate limitingu vytvořenými v předchozí verzi, která jste od jejich upgradu na novou verzi neupravili v dashboardu ani nezměnili přes nové API / Terraform resource.

Do data ukončení API můžete používat předchozí Rate Limiting API k vytváření, úpravám a mazání pravidel rate limitingu vytvořených v předchozí verzi (kterou Cloudflare povýšil na novou verzi). Pokud však pomocí Rulesets API upravíte pravidlo vytvořené v předchozí verzi, nebo takové pravidlo změníte v Cloudflare dashboardu – včetně změny pořadí pravidel – nebudete již moci toto pravidlo (povýšené z předchozí verze a poté aktualizované přes Rulesets API) spravovat starými API operacemi. V takovém případě budete muset zcela přejít na Rulesets API pro správu tohoto konkrétního pravidla.

Relevantní změny pro uživatele Terraformu

The cloudflare_rate_limit Terraform resource je zastaralý. Tento zdroj již není od 2025-06-15 podporován. Konfiguraci rate limitingu v Terraformu musíte ručně aktualizovat z cloudflare_rate_limit resources na cloudflare_ruleset resources, abyste předešli problémům.

Nová pravidla rate limitingu jsou založena na Ruleset Engine. Pro konfiguraci těchto pravidel rate limitingu pomocí Terraformu musíte použít cloudflare_ruleset Terraform resource.

The cloudflare_ruleset Terraform resource je jediný resource, který umožňuje vytvářet, upravovat a mazat jakékoli pravidlo rate limitingu bez ohledu na verzi implementace, ve které jste pravidlo vytvořili. cloudflare_rate_limit Terraform resource bude fungovat pouze s pravidly rate limitingu vytvořenými v předchozí verzi, která jste od jejich převedení na novou verzi neupravovali v dashboardu ani prostřednictvím nového API/Terraform resource.

Do data ukončení podpory cloudflare_rate_limit Terraform resource, můžete tento resource používat k vytváření, úpravám a mazání pravidel rate limitingu vytvořených v předchozí verzi (která Cloudflare převedl na novou verzi). Pokud však začnete používat cloudflare_ruleset Terraform resource ke správě pravidla vytvořeného v předchozí verzi, nebo pokud takové pravidlo upravíte v dashboardu Cloudflare – včetně změny pořadí pravidel – nebudete již moci toto pravidlo (upgradované z předchozí verze a poté aktualizované novým resource) spravovat starým Terraform resource. V takovém případě budete muset zcela přejít na cloudflare_ruleset Terraform zdroj pro správu tohoto konkrétního pravidla.

Viz dokumentace Terraformu pro příklady konfigurace nových pravidel rate limitingu pomocí Terraformu.

Nahrazení konfigurace pomocí cf-terraforming

Můžete použít cf-terraforming nástroj k vygenerování nové Terraform konfigurace pro pravidla rate limitingu vytvořená v předchozí verzi. Poté můžete nové resources importovat do Terraform state.

Doporučené kroky pro nahrazení staré konfigurace rate limitingu v Terraformu novou konfigurací sady pravidel jsou následující.

  1. Spuštěním následujícího příkazu vygenerujete všechny konfigurace sad pravidel pro zónu:

    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 {
        # (...)
      }
      # (...)
    }
    # (...)
  2. Předchozí příkaz může vrátit další konfigurace sad pravidel pro jiné produkty Cloudflare, které jsou také založeny na Ruleset Engine. Protože aktualizujete konfiguraci svých pravidel rate limitingu, ponechte pouze Terraform resource pro http_ratelimit fáze a uložte jej do .tf konfiguračním souboru. Úplný název resource budete potřebovat v dalším kroku.

  3. Importujte cloudflare_ruleset resource, který jste dříve identifikovali, do Terraform state pomocí terraform import příkaz. Například:

    terraform import cloudflare_ruleset.terraform_managed_resource_3c0b456bc2aa443089c5f40f45f51b31 zone/<ZONE_ID>/3c0b456bc2aa443089c5f40f45f51b31
    cloudflare_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.
  4. Spusťte terraform plan k ověření, že Terraform nyní kontroluje stav nových cloudflare_ruleset resource, vedle dalších existujících resources již spravovaných Terraformem. Například:

    terraform plan
    cloudflare_ruleset.terraform_managed_resource_3c0b456bc2aa443089c5f40f45f51b31: Refreshing state... [id=3c0b456bc2aa443089c5f40f45f51b31]
    [...]
    cloudflare_rate_limit.my_rate_limiting_rules: Refreshing state... [id=0580eb5d92e344ddb2374979f74c3ddf]
    [...]
  5. Odstraňte veškerý stav související s pravidly rate limitingu nakonfigurovanými přes staré cloudflare_rate_limit resource ze svého stavu Terraformu:

    1. Spuštěním následujícího příkazu najdete všechny resources související s pravidly rate limitingu (předchozí verze):

      terraform state list | grep -E '^cloudflare_rate_limit\.'
      cloudflare_rate_limit.my_rate_limiting_rules
    2. Spusťte terraform state rm ... příkaz v režimu dry-run, abyste pochopili dopad odstranění těchto resources bez provedení jakýchkoli změn:

      terraform state rm -dry-run cloudflare_rate_limit.my_rate_limiting_rules
      Would remove cloudflare_rate_limit.my_rate_limiting_rules
    3. Pokud dopad vypadá správně, spusťte stejný příkaz bez -dry-run parametr ke skutečnému odstranění resources ze stavu Terraformu:

      terraform state rm cloudflare_rate_limit.my_rate_limiting_rules
      Removed cloudflare_rate_limit.my_rate_limiting_rules
      Successfully removed 1 resource instance(s).
  6. Po odstranění cloudflare_rate_limit resources ze stavu Terraformu, odstraňte všechny tyto resources z .tf konfigurační soubory.

  7. Spusťte terraform plan k ověření, že se resources smazané z konfiguračních souborů již nezobrazují. Neměli byste mít žádné čekající změny.

    terraform plan
    cloudflare_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.

Podrobnosti o importu zdrojů Cloudflare do Terraformu a použití cf-terraforming nástroj, podívejte se na následující zdroje:

Další zdroje

Více informací o nové implementaci rate limitingu, včetně dostupných funkcí v jednotlivých plánech Cloudflare, najdete v Pravidla rate limitingu.

Cloudflare nabízí také pokročilou verzi Rate Limitingu (Advanced Rate Limiting), která je dostupná zákazníkům Enterprise. Více informací najdete v Představení Advanced Rate Limitingu na blogu.

Více o tom, co s novým rate limitingem můžete dělat, najdete v Osvědčené postupy pro rate limiting.