Cloudflareは、CDN(コンテンツデリバリーネットワーク)やWAF(Webアプリケーションファイアウォール)、DDoS対策などを提供するクラウドサービスです。
Web サイトのパフォーマンスを向上させるために Cloudflare を活用している場合、適切なタイミングでキャッシュをパージすることが重要です。
本記事では、Cloudflare API を使用してキャッシュを削除する方法を詳しく解説します。
APIでキャッシュパージする方法
1.APIキーの取得
APIを使うには、Cloudflareの「APIトークン」が必要です。
Cloudflare ダッシュボードにログイン後、右上のプロファイルを開き以下をクリックしてください。

ユーザーAPIトークンからトークンの作成をクリックします。

ページを下までスクロールし、カスタムトークンを作成する欄の始めるをクリックします。

カスタムトークンの設定は下記の通り設定します。
・トークン名:任意で名前を設定
・権限:ゾーン、キャッシュパージ、パージに設定
・ゾーンリスト:ドメイン指定がある場合に設定

設定後、下部の「概要に進む」をクリックしてトークンを作成してください。
以下の画面が表示されたら成功です。

2.キャッシュパージのAPIリクエスト
curlコマンドでAPIリクエストを送りパージを実行する方法を例示します。
①ドメイン全体のキャッシュをパージする場合
curl -X POST "https://api.cloudflare.com/client/v4/zones/YOUR_ZONE_ID/purge_cache" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
--data '{"purge_everything":true}'
・YOUR_API_TOKENは、保管したAPIトークンになります。
・YOUR_ZONE_ID(ゾーンID)は、Cloudflareのダッシュボード概要の画面の右メニューの下に表示されています。

②特定のURLだけキャッシュパージする場合
※特定のURLだけキャッシュをクリアするので負荷を最小限にできます。
curl -X POST "https://api.cloudflare.com/client/v4/zones/YOUR_ZONE_ID/purge_cache" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
--data '{"files":["https://example.com/image.jpg", "https://example.com/style.css"]}
実行対象のパスは任意で変更してください。
③ディレクトリ単位で指定してパージする場合
※Enterpriseプランのみ可
curl -X POST "https://api.cloudflare.com/client/v4/zones/YOUR_ZONE_ID/purge_cache" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
--data '{"files":["https://example.com/images/*"]}'
“https://example.com/images/” のように ワイルドカードを使うと、ディレクトリ以下の全キャッシュを削除します。
3.APIのレスポンス確認
成功すると、以下のようなレスポンスが返ってきます。
{
"result": {
"id": "some-unique-id"
},
"success": true,
"errors": [],
"messages": []
}
success: true なら、キャッシュパージが成功です。
success: true にならない場合(エラーが発生する場合)、APIのリクエストが正しく処理されなかったことを意味します。失敗の場合、APIのトークンが間違っている、ゾーンIDが間違っている、コマンドの入力ミスなどがあり得ますので、ご確認ください。
Web表示スピード改善・セキュリティ対策のCloudflare
導入に関するご相談だけでなく、運用についてもお気軽にご相談ください。
DDoS攻撃対策を早急に行いたい方、WAFなどのセキュリティ機能やプランの詳細を知りたい方、
国内エンジニアによる運用サポートをご希望の方も、ぜひお問い合わせください。