🙌

【AWS】TerraformでNext.js 13 SSRアプリをAmplifyにデプロイすると404エラーが発生する(解決済)

2023/05/04に公開

以下のスクラップで行った試行錯誤の中で気づいたことのメモです。

https://zenn.dev/ninjin_umigame/scraps/6ad286180b6b20

やりたいこと

Terraformを使って、Next.js 13で作成したSSRアプリをAWS Amplifyにデプロイしたい。

問題

デプロイは成功するが、アプリのURLにアクセスすると404 Not FoundまたはToo many redirectsが発生する

原因

AWS Amplifyにはplatformというオプションがあり、WEBWEB_COMPUTEの2種類から選べる。デフォルトはWEBだがSSRアプリをデプロイするときはWEB_COMPUTEを選ぶ必要がある。

AWSの公式リファレンスによればNext.js 12以降はWEB_COMPUTEを使ってね、とのことらしい。

https://aws.amazon.com/jp/blogs/news/deploy-a-nextjs-13-application-to-amplify-with-the-aws-cdk/

https://docs.aws.amazon.com/amplify/latest/userguide/update-app-nextjs-version.html

対策

以下のようにaws_amplify_appブロックに1行追加する。

resource "aws_amplify_app" "アプリ名" {
+  platform = "WEB_COMPUTE"
}

宣伝

先日、本を書きました!200円で販売中です(無料部分あり)。

https://zenn.dev/ninjin_umigame/books/2619c009c452b6

T3 Stack(Next.js, tRPC, Prisma, NextAuth.js, TailindCSS)を使ったSNSのWebアプリケーション開発について、ユーザーとユースケースの定義から作ったWebアプリのデプロイまで、一通り説明しています。よかったら読んでみてください!

Discussion