AWS CloudFrontのキャッシュを消して変更を即反映する方法

■ AWS管理画面からキャッシュを削除する方法

AWS CloudFrontとAWS S3とを用いて静的コンテンツだけでWEBサイトを作っている場合、S3の静的コンテンツを更新してもWEBサイトの表示が変わらない場合があります。これはCloudFrontにキャッシュされている情報が古いため発生しています。ただサイトの開発時や修正時には変更内容をすぐに確認したい時があります。そんなときには、キャッシュを消して変更を即反映して表示確認するといった方法があります。

https://blog.trident-capital-symbiosis.com/survey/survey-0001/

AWS CloudFrontのキャッシュを消して変更を即反映する方法

静的コンテンツの変更をその都度リアルタイムで自動取得しているとCDNは大きな負荷を負うため、一定の間隔で取得する構造になっています。この間隔がタイムラグとなり、静的コンテンツの変更がWEBサイトの表示に即反映されないといった現象に至っています。

それではキャッシュを削除する方法を下記に説明します。

CloudFrontの設定画面

  1. ログイン後管理画面を開き、CloudFrontの設定画面へ移動します。
  2. 管理画面の「Invalidations」タブを選択すると、下記のようリスト画面が表示されます。

ここで「Create Invalidations」が新規登録みたいなもので、キャッシュ削除リクエストを作るみたいな感じです。キャッシュ削除リクエストを作ると即時反映されて、キャッシュが削除されます。

Invalidationsタブ

「Create Invalidations」ボタンからキャッシュ削除リクエストを新規作成する以外に、前回のリクエストをコピーする方法もあります。上記のように前回使ったリクエストのチェックボックスにチェックし、「コピー」ボタンを押します。そうすると「Create Invalidations」ポップアップが表示されます。ここは新規作成の時も同じポップアップですが、「Object Paths」が前回削除したものと同じになっています。新規作成の時はデフォルトのObject Pathsになっています。

Create Invalidationsポップアップ

「Create Invalidations」ポップアップが表示されたら、「Object Paths」に削除するキャッシュのパスを入力して「Invalidate」ボタンを押します。上記の「/*」はキャッシュを全削除したい時のパス指定方法です。これでキャッシュクリアができました。

タイトルとURLをコピーしました