CloudFront が特定のファイルをキャッシュしないようにする方法を教えてください。

最終更新日 : 2019 年 5 月 7 日

Amazon CloudFront がファイルをエッジロケーションにキャッシュするのではなく、特定のファイルを渡すようにしたいです。どうすればできますか?

解決方法

CloudFront が特定のファイルをキャッシュしないようにするには、次のいずれかの設定を使用します。

オリジンでの設定

注 : 必ず CloudFront の配信のキャッシュ動作を更新し、オブジェクトキャッシングオリジンキャッシュヘッダーの使用に設定してください。

カスタムオリジンウェブサーバーアプリケーションで、CloudFront にキャッシュさせたくないオブジェクトに Cache-Control no-cacheno-store、または private ディレクティブを追加します。または、CloudFront にキャッシュさせたくないオブジェクトに Expires ディレクティブを追加します。

オリジンとして Amazon Simple Storage Service (Amazon S3) を使用している場合は、オブジェクトメタデータを使用して特定の Cache-Control ヘッダーを追加できます。

配信の設定

  1. CloudFront コンソールを開きます。
  2. CloudFront ディストリビューションのリストから、変更したいディストリビューションを選択します。
  3. [動作] タブを選択します。
  4. CloudFront にキャッシュさせたくないオブジェクトのキャッシュ動作がすでにある場合は、キャッシュ動作を選択して [編集] を選択します。新しいキャッシュ動作を作成するには、[動作の作成] を選択します。
  5. キャッシュ動作を設定するには、キャッシュを防ぐために次のように入力します。
    オブジェクトキャッシングには、[カスタマイズ] を選択します。
    最小 TTL には、0 と入力します。
    最大 TTL には、0と入力します。
  6. 行った変更を保存するには、[作成] を選択します。

注 : オリジンとして Amazon S3 バケットを使用していない場合は、特定のキャッシュ動作を設定してすべてのヘッダーをオリジンに転送できます。これを行うには、キャッシュの動作を更新して [選択したリクエストヘッダーに基づくキャッシュ] を All に設定します。