【Next.js】Next.js 14をAmplify V6でデプロイ・ホスティングする方法【Amplify】

さて、今回はNext.jsのプロジェクトをAWS Amplifyでデプロイする方法について解説していきます。

Next.jsのデプロイ先と言えばVercelですが、実はAWSのAmplifyを使用することも可能です。

Amplifyを使用するとその他のAWSサービス活用した迅速な開発が出来る他、CI/CDの導入、サーバーレスでスケーリングの容易性やビジネスニーズに合わせた変化の容易性など様々なメリットがあります。

詳しくはこちらをご覧ください。

はじめに

AWS Amplifyを使用するためにAmplify CLIの設定が必要です。

Set up Amplify CLIを参考にセットアップを行ってください。

なお、普段AWS CLIを使用している方は少し注意が必要で、コマンドの末尾に–profile {プロファイル名} などとプロファイルを指定することができないのでご注意ください。

また、AWS SSOログインを導入している方はManually configure the Amplify CLIをご覧いただき、

を「~/.aws/config」に追加しないと使用できないのでこちらも注意が必要です。

環境情報

今回使用している環境情報は以下になります。

OS: MacOS

シェル: Bash

Amplify初期設定

Amplify CLIの準備ができたらAmplifyの初期設定を行います。

Next.jsのプロジェクトがすでにある場合はそちらを使用してください。

ない場合は以下のコマンド

でNext.jsのプロジェクトを立ち上げてください。

以下コマンドを実行し、amplifyコマンドが実行できるか確認してください。

バージョンが表示されればOKですが、エラーを吐いた場合今一度Amplify CLIの設定ができているか確認してください

amplify initコマンドを実行するとプロジェクト名を入力するように言われますので入力してください。

入力したプロジェクト名でAmplify上で構築されます。

最後にプロファイル名を選びしばらく待つとプロジェクト直下にamplifyフォルダが自動生成されます。

AWSアカウントを開き、Amplifyコンソールまで行くと先ほど設定したプロジェクト名のリソースが生成されていると思います。

Amplify ホスティング

生成されたAmplifyプロジェクトを開き、Hosting environmentsタブを開くとGithubリポジトリとのブランチ接続ページに遷移すると思います。

事前にソースコードをgithub上に上げ、ブランチ接続をしましょう。

このようにリポジトリを追加し次へを押下します。

その後このように設定し保存してデプロイまで進んでください。

フルスタックのCI/CDを有効化をチェックすると設定しているGitブランチに変更があった際に自動でデプロイしてくれるようになります。

するとデプロイが始まります。

ビルド設定を変更する

Next 14のアプリケーションではデフォルトのままだとデプロイに失敗してしまいます。

そのためサイドメニューのアプリの設定からビルドの設定ページに行き、Build image settingsを編集します。

デフォルトではLinux:2が設定されていますが、Linux:2023に変更し先程のページに戻り再度デプロイをしなおしますと、デプロイが成功します。

私もデプロイに失敗し少し詰まりましたが、こちらのissueページから解決できました。

ドメインのURLを表示すると、

このようにNext.jsのプロジェクトが表示されます。

このドメインはAmplifyから割り当てられる仮ドメインなので、ドメインを変更したい場合はRoute53やアプリの設定のドメイン管理から設定することができます。

終わりに

Next14をAmplify V6でデプロイ・ホスティングすることができました。

今回作成したリソースは削除済みですのでアクセスすることはできません。

 

他にも技術ブログをあげているのでそちらもよろしければ見ていってださい。

私のブログ記事一覧

 

株式会社ギークフィードでは開発エンジニアなどの職種で一緒に働く仲間を募集しています。

弊社に興味を持っていただいたり、会社のことをカジュアルに聞いてみたいという場合でも、ご気軽にフォームからお問い合わせください。その場合はコメント欄に、カジュアルにお話したいです、と記載ください!

採用情報はコチラ

この記事が気に入ったら
いいね ! しよう

Twitter で

【採用情報】一緒に働く仲間を募集しています

採用情報
ページトップへ