Cloudflareキャッシュクリアチュートリアル:WebおよびDevOps管理者向け総合ガイド
ベストプラクティスに従ってCloudflareのキャッシュをクリアする方法。この記事には、完全なチュートリアル、セキュリティに関するヒント、およびLinuxスクリプトが含まれています。.

Cloudflareキャッシュクリアチュートリアル:WebおよびDevOps管理者向け総合ガイド

Cloudflareのキャッシュをクリアすることは、ウェブサイトやアプリケーションの最適化において重要なステップです。このガイドでは、さまざまなクリア方法、セキュリティに関するヒント、そしてcurlを使ったAPIの利用方法などの実践的な例を紹介します。.
0 株式
0
0
0
0

Cloudflareのキャッシュをクリアすると、デプロイやトラブルシューティングにどのような影響がありますか?

Cloudflare キャッシュのクリアは、ウェブサイトやアプリケーションのリリースおよびトラブルシューティングサイクルにおける重要なステップです。この実践的で専門的なガイドでは、クリーンアップ方法、セキュリティに関するヒント、コマンドラインコマンド、CI/CD における自動化、Nginx/Apache および WordPress の設定について解説し、サイト管理者、DevOps 担当者、開発チーム、トレーダー、ゲーマーが、アップデートやバグ修正後に変更をエッジ (世界 85 ヶ所以上の拠点) に迅速かつ安全にプッシュできるようにします。.

Cloudflareのキャッシュをクリアする必要があるのはなぜですか?

キャッシュをクリア これは、古いバージョンのコンテンツ(EdgeにキャッシュされたCSS、JS、画像、HTMLなど)が、表示の誤りやパフォーマンスの問題を引き起こしている場合に必要となります。.

  • Edgeでキャッシュされた静的ファイルまたはHTMLコンテンツを更新した後。.
  • アプリケーションのデプロイまたは移行後、新しいバージョンはEdgesに即座に表示される必要があります。.
  • 古いコンテンツに関連する表示上の問題やエラーを修正するため。.
  • 取引やゲームなど、時間的制約のある状況では、ライブコンテンツは即座に更新される必要がある。.

Cloudflareにおけるキャッシュクリアの種類

1) 全てを処分する

ゾーン内のすべてのキャッシュをクリアします。素早く簡単ですが 高価 そして、場合によってはオリジンサーバーへの負荷が増加することもあります。.

curl -X POST "https://api.cloudflare.com/client/v4/zones/<ZONE_ID>/purge_cache" \
-H "Authorization: Bearer <API_TOKEN>" \
-H "Content-Type: application/json" \
--data '{"purge_everything":true}'

2) URLによる削除(URLによる選択的削除)

特定のファイルやページを削除する。完全な削除による副作用を避けるため、特定のアセットやページを更新する際の最適なオプションです。.

curl -X POST "https://api.cloudflare.com/client/v4/zones/<ZONE_ID>/purge_cache" \
-H "Authorization: Bearer <API_TOKEN>" \
-H "Content-Type: application/json" \
--data '{"files":["https://example.com/css/app.css","https://example.com/js/app.js"]}'

3) タグによるパージ - 詳細設定

タグによるクリーンアップ タグが付けられたリソース群を無効化するのに適しており、複雑なアプリケーションやマイクロサービスで役立ちます。.

注記: この機能は、プランやエンタープライズアカウントによっては異なる場合があります。.

curl -X POST "https://api.cloudflare.com/client/v4/zones/<ZONE_ID>/purge_cache" \
-H "Authorization: Bearer <API_TOKEN>" \
-H "Content-Type: application/json" \
--data '{"tags":["product-123","homepage-v2"]}'

4) 開発モードとキャッシュバイパス

ダッシュボードから開発者モードを有効にすると、Edgeのキャッシュが3時間無効になります。これは短期間の開発に最適です。.

APIルートをバイパスするため、またはクッキーに基づいて ページルール または 労働者 使用。.

ゾーンIDを取得し、最小限のアクセス権限でAPIトークンを作成します。

APIを使用してゾーンIDを取得できます。レスポンスフィールドに id ゾーンIDと同じです。.

curl -X GET "https://api.cloudflare.com/client/v4/zones?name=example.com" \
-H "Authorization: Bearer <API_TOKEN>" \
-H "Content-Type: application/json"

APIトークンを作成するには、次のパスに移動してください。 Cloudflare → マイプロフィール → APIトークン → トークンの作成 必要な権限のみを付与してください。通常、権限 ゾーン → キャッシュの消去 特定の地域ではそれで十分です。. トークンを特定のゾーンに制限し、有効期限を設定する セキュリティを大幅に向上させます。.

レスポンスのキャッシュ状態を確認する(cf-cache-status)

ヘッダーからデバッグするには cf-キャッシュステータス 使用例(典型的な値は以下のとおり): 打つ, 逃す, 期限切れ, 動的, バイパス, 再検証済み.

curl -I -s -D - https://example.com | grep -i cf-cache-status

サーバー設定のヒントとヘッダー(Nginx/Apache)

静的ファイル(圧縮され、変更不可能なファイル)の場合

長期的なキャッシュ制御とフィンガープリンティング(ファイル名のハッシュ化)を併用することが、アセットの完全削除の必要性を減らすための最善のアプローチです。.

location ~* \.(js|css|jpg|jpeg|png|svg|woff2?)$ {
    expires 30d;
    add_header Cache-Control "public, max-age=2592000, s-maxage=2592000, immutable";
}

この設定は、以下の設定に追加されます。 すべてをキャッシュ / エッジキャッシュのTTL Cloudflareを使用すると、アセットがエッジに長時間保存されることになります。.

HTMLページ(更新可能)

location / {
    add_header Cache-Control "no-cache, must-revalidate, max-age=0";
}

Cloudflareでは、エッジキャッシュのTTLを低く設定したり、ページルールを使用して重要なページをより詳細に制御したりできます。.

オリジンヘッダーを尊重する

Cloudflareのダッシュボードの「キャッシュ」セクションには、Cloudflareがオリジンヘッダーを尊重するか、独自のキャッシュ設定を使用するかを決定するオプションがあります。より詳細な制御を行うには、このオプションを有効にすることをお勧めします。 オリジンキャッシュコントロール 使用。.

WordPressおよびプラグインとの連携

WordPress 用の公式 Cloudflare プラグインを使用すると、公開後または更新後に自動的にデータを削除できます。.

  • WP RocketやW3 Total Cacheなどのキャッシュプラグインにはローカルパージオプションがあります。Cloudflareと同時にパージを実行することで、エッジサーバーも更新できます。.
  • 重要なサイト(トレーディングVPSやゲームサイトなど)では、TTL設定を短くし、選択的パージを有効にして、レイテンシと安定性を維持してください。.

CI/CDにおけるキャッシュクリーンアップの自動化

自動デプロイ(GitHub Actions / GitLab CI / Jenkins)後に生成されたURLを削除する簡単な手順を追加してください。トークンの保存には必ずシークレット管理を使用してください。.

- name: Purge Cloudflare cache
  run: |
    curl -X POST "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/purge_cache" \
    -H "Authorization: Bearer ${{ secrets.CF_API_TOKEN }}" \
    -H "Content-Type: application/json" \
    --data "{\"files\": [\"https://example.com/path/to/file.js\"]}"

バッチクリーンアップ用のLinuxスクリプト

URLリストを削除するには、ファイルとjqを使用できます。処理速度を向上させるには、バッチを30個に分割し、並列実行してください。.

cat urls.txt | jq -R -s -c 'split("\n")[:-1]' | \
xargs -I{} curl -X POST "https://api.cloudflare.com/client/v4/zones/<ZONE_ID>/purge_cache" \
 -H "Authorization: Bearer <API_TOKEN>" -H "Content-Type: application/json" \
 --data '{"files":'{}'}'

セキュリティに関するヒントと制限事項

最低限の権限 APIトークンの場合:「キャッシュの消去」のみを許可し、必要なゾーンに限定します。有効期限を設定します。.

  • レート制限:パージAPIにはリクエスト制限があります。すべてを連続してパージすることは避け、必要な場合はバッチパージを使用してください。.
  • ログ記録:各パージをCIログまたはシステムログに記録して、原因と時間を確認します。これは監査に役立ちます。.

特殊なケース — ワーカー、KV、レンダリング/GPU

Cloudflare Workers を使用している場合、標準のゾーン キャッシュ パージでは Workers キャッシュがクリアされない可能性があります。Worker コードでは、 キャッシュ削除 そして、特別な解決策を用いる。.

モデルファイルやレンダリングファイルなどの大きなファイルについては、変更不可能なファイルには長期的なキャッシュ制御を、更新時には選択的なパージを使用してください。.

トレーダーやゲーマーのような、データ品質に敏感なユーザーにとっては、ピングを低減するために適切なロケーションとCDN構成を選択することが重要です。また、重要なコンテンツを常に最新の状態に保つために、キャッシュを賢く構成する必要があります。.

ベストプラクティスと実践的なアドバイス

  • 「すべて消去」は最終手段としてのみ使用してください。 使用。.
  • 副作用を最小限に抑えるには、URLまたはタグによるパージ機能を使用してください。.
  • ヘッダー キャッシュ制御 原点を正しく設定してください。.
  • 静的コンテンツの場合は、長期保存キャッシュとフィンガープリンティングを使用して、完全な削除を行わずに新しいファイルを公開します。.
  • 機密性の高いルートやバイパスする必要のあるAPIについては、ページルールまたはCloudflare Workersを使用してください。.
  • 自動化:デプロイごとに、ケースの削除(新規ファイル)とCI(継続的インテグレーション)を組み合わせます。.
  • セキュリティ:制限付きトークンを使用し、アクセス権限を定期的に確認してください。.

速度と安定性のバランスを保つには、オプションのオリジンヘッダーとパージヘッダーを組み合わせるのが最良の結果をもたらします。.

結論

Cloudflareのキャッシュをクリアするのは簡単な作業のように思えるかもしれませんが、パージの種類、ヘッダー、パフォーマンスとセキュリティへの影響を理解する必要があります。Origin Cache-Control、タグ、選択的パージなどの適切な設定を行うことで、特に85以上のグローバル拠点を持つインフラストラクチャや、GPUサーバー、専用VPS、またはDDoS対策サービスを使用している環境において、アプリケーションの速度と安定性の両方を維持できます。.

プランやキャッシュ設定、リリース後の自動化についてさらに詳しく知りたい場合は、関連するリソースやページを参照するか、サポートチームにお問い合わせください。.

よくある質問

あなたも気に入るかもしれない