【AWS】S3のリダイレクトが効かない


■発生した事象

AWSにて、S3 静的ウェブサイトホスティング + Cloud Frontを利用してWebページを公開していました。
そのWebページにてリダイレクト処理が必要になったので、以下を参考にS3へリダイレクト設定を仕込みました。
AWS公式S3ドキュメント

しかし、実際にブラウザからアクセスするとリダイレクトされませんでした。
Cloud Frontのキャッシュクリアも無意味で、リダイレクト設定を見直しても正しそうでした。

試しにバケットウェブサイトエンドポイントのURLを直接開くとリダイレクトされました。
なので、被疑はCloud Frontとの連携部分にありそうです。

■原因

Cloud Frontにてオリジンドメインを指定する際に選択肢からS3を選択してしまうと、S3で設定したリダイレクトが効かなくなってしまうようでした。
リダイレクト設定を効かせるにはS3を「選択」するのではなく、バケットウェブサイトエンドポイントのドメインをそのまま入力する必要があるようです。

上記のようにすることでブラウザからアクセスしてもリダイレクトが効くようになりました。