【AWS】CDNサービス「CloudFront」のキャッシュ削除方法

AWSのCDNサービスである「CloudFront」を使い始めたのですが、データを変更しても、なかなかその内容に変更されないものがありました。
これはキャッシュが悪さしているな、、、と思い削除したところ、無事にすぐに反映されました。

キャッシュの削除方法をメモしておきます。

CDNって?

このページを参照されている方には釈迦に説法かもしれませんが、簡単に解説いたします。

CDNとは「Content Delivery Network」の略で、ウェブのコンテンツを効率的かつスピーディーに配信するために使われる仕組みです。
このCDNを実現するサービスの一つに、AWSの「CloudFront」があるわけです。

例えば、とある動画をサーバーに配置して配信するとしましょう。
動画の再生は、容量も大きいためネットワーク負荷がかかります。
そのため、1台のサーバーで多数の接続を受けることはできません。
利用者からすると重い(もしくはつながらない)、サーバーからすると他の処理ができなくなる、落ちる、といったことにつながります。

そこで「CDN」の出番です。

「CDN」は、サーバーのデータ(この例だと動画データ)を、多数のキャッシュサーバーにコピーし、
利用者からのリクエストをそちらに振り分けるような動きをします。

また、キャッシュサーバーは利用者の(物理的に)近いロケーションが選ばれることが多いため、
サーバーに直接アクセスするよりもレスポンスの向上が見込めます。

「サーバー+(多数の)キャッシュサーバー+分散できるような仕組み」が必要となるため、
自前で用意するのは至難の業です。

が、お手軽に利用できるCDNとして、AWSの「CloudFront」といったサービスがあるわけですね。

ただし、キャッシュサーバーへの反映にタイムラグがあり、直近のデータが取得できていないかも、といった欠点もあります。
今回も、この事象に該当したと思われます。

「CloudFront」キャッシュ削除方法

当然ですが、手順は準備されておりますので、ごくごく簡単です。

「CloudFront」を開き、該当のDistributionを選択

Invalidations > Create Invalidation

削除するパスを指定して実行

ワイルドカードの指定もできますので、
/*
などで全てのキャッシュを削除することも可能です。

補足

「Invalidation」は、あくまで「都度の指示」を出すだけです。
(今あるキャッシュを消して!というだけ。)

「キャッシュしない」といった設定となるわけではありませんので、ご注意ください。

    メルマガ 登録フォーム

    最後までお読みいただき、まことにありがとうございます。

    Gloria, Limitedでは、「ITお役立ち情報」をお伝えするメルマガ『Professional's eye』を発行しております。

    • こんなセキュリティを気にすべきと分かり、助かった!
    • こんな便利なものがあることを知った!
    • クライアント様との会話が盛り上がった!

    など、大変好評をいただいております。

    無料でご購読できますので、ぜひご登録ください。

    お名前(ハンドルネーム可)*
    メールアドレス*
    個人情報の取扱いについて* Privacy Policy

    ご入力頂いたメールアドレス宛に、広告を含むご案内のメールをお送りする場合があります。
    また、ご入力いただいた個人情報は「Privacy Policy」の記載に基づいて適切に管理します。

    バックナンバーを見る

    関連リンク