良くあるこのパターンですが、自分なりに辿り着いたプラクティスを紹介しておきます。 先に結論 SPA: Cloudfront Functionsを使って拡張子付きのパスを/index.htmlに変更する API: Behaviorで/apiをAPI Gatewayに向ける 背景 今まで、Cloudfront + S3 でVueやAngular等のSPAアプリケーションを公開する場合、 存在しないパスにリクエストすることで、S3が403もしくは404を返す。 そのため、Cloudfront側でカスタムエラーページを作成し、/index.htmlにリダイレクトするような設定をしていた。 よくある悩み1(SPAのパス問題) 本来キャッチすべき404があった場合でも気にせずリダイレクトされてしまう。 例えばCSSやJSのアップロードミスがあった場合は気づきにくい。 よくある悩み2(Cloudfron