CloudFrontとS3の連携はよく使われるパターンであるが、今回は構築直後のみ発生したトラブル。
CloudFrontからS3へのアクセスはOrigin Access Identityを利用していて、S3のURLを直接打ち込んでもエラー403となるようにしてある。
CloudFrontからアクセスすると、一瞬CloudFrontのURLなのだが、403。よくよくみるとS3のURLにリダイレクトされている。
調べてみると、これはCloudFrontがグローバルなのに対し、S3は東京リージョンにあるため、そのS3 Bucketの認識までに時間がかかるため307でリダイレクトしているらしい。
対応方法は2つあって、24時間程度待つ。
またはS3のURLをリージョン込みのものにするということ。
バケット名.s3.amazonaws.comではなくて、
バケット名.s3-ap-northeast-1.amazonaws.comにするというもの
今回は後者の方法をとった!