Cloudflare パージ API の制限、プラン別
Cloudflare は Free・Pro・Business で1リクエストあたり最大100件、Enterprise の URL 指定パージでは500件まで受け付けます。リクエストの頻度はアカウント単位で上限があり、Free は毎分5回、Pro は毎秒5回、Business は毎秒10回、Enterprise は毎秒50回です。
最終更新:
URL を数件消すだけなら制限には触れません。1000件になると触れますが、失敗の仕方がわかりにくい。線を越えたリクエストだけがエラーを返し、それ以前は成功しているため、中途半端に消えたキャッシュと、はっきりしない状況だけが残ります。
1リクエストあたりの件数
| プラン | 1リクエストの件数 | URL 指定パージ |
|---|---|---|
| Free | 100 | 100 |
| Pro | 100 | 100 |
| Business | 100 | 100 |
| Enterprise | 100 | 500 |
「件数」は方法によって URL、ホスト名、タグ、プレフィックスのいずれかを指します。数を超えるとリクエストごと拒否されます。最初の100件を処理して残りを捨てる、という動きはしないので、300件の URL を素直に投げるスクリプトは1件も消せません。
リクエストの回数
| プラン | パージのリクエスト | URL 指定のスループット |
|---|---|---|
| Free | 毎分5回 | 800 URL/秒 |
| Pro | 毎秒5回 | 1,500 URL/秒 |
| Business | 毎秒10回 | 1,500 URL/秒 |
| Enterprise | 毎秒50回 | 3,000 URL/秒 |
単位に注意してください。Free は毎分5回であって毎秒ではありません。Pro とは60倍の差があり、このページでいちばん驚く数字です。1リクエスト100 URL として、Free のゾーンは毎分500 URL が上限です。
この制限はアカウント単位で、ゾーン単位ではありません。ループで30ゾーンを消せば同じ枠に対する30リクエストで、それはまさに一括パージの形です。
実際にどうなるか
ループを書く前に頭に入れておきたい計算です。
- Free で1,000 URL:10リクエストですが毎分5回までなので、途中に待ちを挟んで最低2分。
- Pro で1,000 URL:10リクエストを毎秒5回で、およそ2秒。
- Free で50ゾーンを全削除:50リクエストを毎分5回で10分。一括パージが壊れて見えて、実は順番待ちなだけ、という典型です。
実際に出会うエラー
| レスポンス | 意味 | 対処 |
|---|---|---|
429 Too Many Requests | プランの上限を超えた | 間隔を空けて再試行する。詰めたループで叩き直さない |
Invalid API Token | トークンが誤り、途中で切れている、または失効済み | トークンを確認する。多くはコピーが不完全 |
Authentication error (10000) | トークンは有効だが Cache Purge:Purge がない | 権限を足して再発行する |
Too many URLs | 1リクエストの上限を超える件数 | 100件以下のバッチに分ける |
FlarePurge が制限内に収める方法
FlarePurge は URL 指定のパージを30件ずつまとめます。Cloudflare の上限100より意図的に低くしてあります。この上限は過去に動いたことがあり、余裕のあるバッチなら次に動いても壊れないからです。
多数のゾーンにまたがる一括操作は、全リクエストを一度に投げずに同時実行数を抑えて走り、バッチごとに結果を報告します。1つのゾーンが失敗したらどれかがわかります。半分だけ成功した操作に赤い帯が1本出るのとは違います。
どのパージ方法を選ぶかは全削除と選択削除を参照してください。