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

最終更新日: 2021 年 9 月 16 日

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] (キャッシュとオリジンリクエストの設定) で、[Cache policy and origin request policy (recommended)] (キャッシュポリシーとオリジンリクエストポリシー (推奨)) を選択します。

6.    [Cache policy] (キャッシュポリシー) で、[Managed - CachingDisabled] (マネージド - CachingDisabled) を選択します。

7.    [Save changes] (変更を保存) を選択して、加えた変更を保存します。

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