ディストリビューションで特定の URL パスパターンに対してカスタムのキャッシュ動作を作成しましたが、Amazon CloudFront がキャッシュ動作に従いません。
解決策
作成したキャッシュ動作に CloudFront ディストリビューションが追従しない場合は、以下を確認してください。
- ご使用のディストリビューション動作に、ご希望のパスパターンを定義したキャッシュ動作があることを確認します。キャッシュ動作の中に要求されたパスパターンが正しく定義されていない場合、CloudFront ではデフォルトのキャッシュ動作が使用されます。たとえば、キャッシュ動作のパスパターンが test/ に設定されていると、example.com/test/file1.jpg へのリクエストはデフォルトのキャッシュ動作に従います。このリクエストは test/ に指定された動作には従いません。末尾のワイルドカード (test/*) が含めれていないパスパターンだからです。
- キャッシュ動作で指定されているパスパターンにおいて、大文字と小文字の使用が正しいことを確認してください。CloudFront で指定するパスパターンでは、大文字と小文字が区別されます。Amazon Simple Storage Service (Amazon S3) のバケットまたはオブジェクトへの参照においても、大文字と小文字が区別されます。パスパターンでの大文字と小文字が正しく使われておらず、デフォルトのキャッシュ動作がリクエストされたコンテンツをキャッシュしない場合、ユーザーには「404 Not Found」エラーが表示されることがあります。
- キャッシュ動作を最近変更した場合、既存のコンテンツがキャッシュから期限切れになった後に、更新されたコンテンツが表示されます。既存のコンテンツがキャッシュから期限切れになる前に更新されたコンテンツを提供したい場合は、無効化を実行することを検討してください。
**注:**CloudFront では 404 レスポンスは生成しません。リクエストされたオブジェクトが CloudFront キャッシュで見つからない場合、このリクエストはオリジンに送信され、オリジンによって 404 レスポンスが生成されます。
関連情報
パスパターン
CloudFront で HTTP 404 (見つかりません) エラーのトラブルシューティングを行うにはどうすればよいですか?