S3でCloudFrontを経由して静的ウェブホスティングを行う場合は、CloudFrontのキャッシュ機能に気をつける必要があります。 CloudFrontのデフォルトの設定ではキャッシュが24時間残るように設定されているからです。
起きた事象
S3にブログを更新するが、反映されない。ブラウザの更新を押してもキャッシュを消しても変わらず。
ちなみにS3側にはログは存在しますがキャッシュ機能は存在しないので、S3とCloudFrontを連携させている人はまずこの設定を疑ったほうが良いです。
キャッシュの時間はTTLと呼ばれる値を変更することで変えることができます。
よくよく見ると公式ページに記載されていますが、非常にルールが複雑で分かりにくいですよね。。
TTLを変更したのに改善されない場合
TTLを変更しただけでは恐らく最後の24時間分のキャッシュが残っているので、最後のキャッシュが切れるまで変更前の設定が有効になっているようです。
CloudFrontにはキャッシュクリアの機能があるのでこちらの処理を行うことですぐに変更した設定値を確認することができます。