1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

個人的備忘録:CloudFrontのキャッシュを無効化する方法まとめ(手動・CLI対応)

Last updated at Posted at 2025-04-21

はじめに

CloudFrontは、ウェブサイトやアプリケーションのコンテンツをエッジロケーションにキャッシュして高速配信を実現するCDNサービスです。

しかし、S3などのオリジン側でファイルを更新した際、CloudFrontのキャッシュが残っていると古いファイルが配信されてしまいます。

そこで重要なのが、キャッシュの"無効化"操作です。

書こうと思ったきっかけ

CloudFrontにキャッシュされた古いデータが、S3上での修正を反映せずに表示されて困った経験がありました。その際にAWS CLIを用いたキャッシュ無効化(Invalidation)の方法を調べ、実際に試してみて無事に解決できたため、手順を記録しておこうと思い記事化しました。

CloudFrontキャッシュの削除方法

CloudFrontのキャッシュは、以下の方法で削除(無効化)できます。

方法1:AWSマネジメントコンソールから無効化

  1. AWSマネジメントコンソールにログイン
  2. CloudFrontサービスを開く
  3. 対象のディストリビューションIDをクリック
  4. 左メニューの「Invalidations(無効化)」を選択
  5. 「Create Invalidation」をクリック
  6. パスを入力(例:/* で全削除)
  7. 「Invalidate」ボタンで作成

数分以内に無効化が完了します。

Screenshot 2025-04-21 at 16.24.42.png

方法2:AWS CLIから無効化(自動化向き)

aws cloudfront create-invalidation \
  --distribution-id xxx \
  --paths "/*"

出力例:

{
  "Location": "https://cloudfront.amazonaws.com/...",
  "Invalidation": {
    "Id": "xxx",
    "Status": "InProgress",
    "CreateTime": "2025-04-21T01:38:14.503000+00:00",
    "InvalidationBatch": {
      "Paths": {
        "Quantity": 1,
        "Items": ["/*"]
      },
      "CallerReference": "cli-..."
    }
  }
}

ステータスの確認

aws cloudfront get-invalidation \
  --distribution-id xxx \
  --id xxx

StatusCompleted になっていればキャッシュ削除完了です。

まとめ

CloudFrontは強力なCDNですが、キャッシュが原因で最新データが反映されないケースもあります。

そうした場合は、CLIやコンソールからのキャッシュ無効化操作が非常に有効です。

特に頻繁にコンテンツが更新されるサイトでは、S3側のファイル名にバージョンを持たせる運用(例: style-v2.css)や、TTL設定の見直しも検討してみてください...!

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?