CloudFront が特定のファイルをキャッシュしないようにするには、どうしたらよいですか?

最終更新日: 2021 年 1 月 19 日

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

解決方法

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

オリジンでの設定

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

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

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

配信の設定

  1. CloudFront コンソールを開きます。
  2. CloudFront ディストリビューションのリストから、変更したいディストリビューションを選択します。
  3. [Behaviors] (動作) タブを選択します。
  4. CloudFront にキャッシュさせたくないオブジェクトのキャッシュ動作がすでにある場合は、キャッシュ動作を選択して [Edit] (編集) を選択します。新しいキャッシュ動作を作成するには、[Create Behavior] (動作の作成) を選択します。
  5. [Cache and origin request settings] (キャッシュとオリジンリクエストの設定) で、[Use legacy cache settings] (従来のキャッシュ設定を使用) を選択します。
  6. キャッシュ動作を設定するには、キャッシュを防ぐために次のように入力します。
    [Object Caching] (オブジェクトキャッシング) には、[Customize] (カスタマイズ) を選択します。
    [Minimum TTL] (最小 TTL) には、0 と入力します。
    [Maximum TTL] (最大 TTL) には、0と入力します。
  7. 行った変更を保存するには、[Yes, Edit] (はい、編集します) を選択します。

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