CloudFrontのエラーキャッシュ

背景

S3 + CloudFrontな静的Webサイトで、CloudFrontの5xxエラー率が上昇。

結論

CloudFrontのアクセスログを出していたので確認。推測だけど、

  • /favicon.icoとか、/appleなんちゃらへのアクセスがたまたま500エラーになる
    • こいつらたぶん同じタイミングでどばっとアクセスされるからS3が一瞬機嫌悪かっただけで全部500になる???
  • CloudFrontで5xxエラーとしてキャッシュされる
  • CloudFrontのエラーキャッシュはデフォルト5分なので、5分間同アクセスがエラーになる
  • iphoneからとかのアクセスが多かったら/appleなんちゃらへのアクセスも必然的に多くなるのでエラー率が上昇する

ということかな、と。解決策としてはCloudFrontのエラーキャッシュ時間を短くすることくらいか。S3に配置してる静的ページなのでそれで問題ないと思われる。