Amazon CloudFront に特定のファイルを渡して、エッジロケーションにファイルをキャッシュしないようにしたいと考えています。
解決策
オリジンでの設定
注: レガシーキャッシュ設定を使用する場合は、CloudFront ディストリビューションのキャッシュ動作を更新して、オブジェクトキャッシュを [オリジンキャッシュヘッダーを使用] に設定します。キャッシュポリシーを使用する場合、CloudFront はデフォルトでオリジンの Cache-Control 設定を考慮します。
カスタムオリジンウェブサーバーのアプリケーションで、CloudFront にキャッシュさせたくないオブジェクトに、Cache-Control no-cache、no-store、または private ディレクティブを追加します。または、CloudFront にキャッシュさせたくないオブジェクトに Expires ディレクティブを追加します。
Amazon Simple Storage Service (Amazon S3)オリジンの場合は、オブジェクトメタデータを使用して、CloudFront にキャッシュさせたくないオブジェクトに Cache-Control no-store ディレクティブを追加します。各オブジェクトにオブジェクトメタデータを追加できない場合は、Origin レスポンストリガーに Lambda @Edge 関数を使用します。Lambda @Edge 関数を使用すると、content-type ヘッダーまたはその他の応答パラメーターの値に基づいて Cache-Control ヘッダーの値を更新できます。
ディストリビューションの設定
ディストリビューションの設定を編集するには、次の手順を実行します:
- CloudFront コンソールを開きます。
- 変更するディストリビューションを選択します。
- [動作] タブを選択します。
- CloudFront にキャッシュさせたくないオブジェクトのキャッシュ動作がすでにある場合は、そのキャッシュ動作を選択して [編集] を選択します。新しいキャッシュ動作を作成するには、[動作の作成] を選択します。
- [キャッシュとオリジンリクエストの設定] で、[キャッシュポリシーとオリジンリクエストポリシー (推奨)] を選択します。
- [キャッシュポリシー] で、[Managed - CachingDisabled] を選択します。
- [変更の保存] を選択します。
注: Amazon S3 バケットをオリジンとして使用しない場合は、すべてのヘッダーをオリジンに転送するように特定のキャッシュ動作を設定します。キャッシュ動作を更新し、[選択したリクエストヘッダーに基づいてキャッシュする] を [すべて] に設定します。
関連情報
CloudFront がオブジェクトをキャッシュする時間を指定する
CloudFront が配信するコンテンツの追加、削除、または置き換え