Open1

NEXT.jsをAmplifyモノレポでデプロイする際のあれこれ

mikana0918@InterfaceXmikana0918@InterfaceX
  • AmplifyデプロイにplatformというUIから見えないオプションがあって、12以降はプラットフォームがWEB_COMPUTEになっていないとダメ
  • モノレポ指定せずにPJを始めるとデフォルトで 別のものになっていたりするので注意が必要なポイント

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

NEXT.js11まではAmplifyプラットフォームがWEB_DYNAMICになっているが、12以降もしくはSSRアプリの場合はWEB_COMPUTEに設定が必須。

Reverting an SSR migration
When you deploy a Next.js app, Amplify Hosting detects the settings in your app and sets the internal platform value for the app. There are three valid platform values. An SSG app is set to the platform value WEB. An SSR app using Next.js version 11 is set to the platform value WEB_DYNAMIC. A Next.js 12 or later SSR app is set to the platform value WEB_COMPUTE.

When you migrate an app using the instructions in the previous section, Amplify changes the platform value of your app from WEB_DYNAMIC to WEB_COMPUTE. After the migration to Amplify Hosting compute is complete, you can't revert the migration in the console. To revert the migration, you must use the AWS Command Line Interface to change the app's platform back to WEB_DYNAMIC. Open a terminal window and enter the following command, updating the app ID and Region with your unique information.

これでプラットフォームオプションを変更

aws amplify update-app --app-id ここにappID --platform 'WEB_COMPUTE' --region ap-northeast-1

で、さらにブランチレベルではダッシュボードからもみえるNEXT.js - SSRにする必要がある(ややこしい)

aws amplify update-branch --app-id ここにappID --branch-name main --framework 'Next.js - SSR' --region ap-northeast-1