DEV Community

Sh Raj
Sh Raj

Posted on

How to Deploy a Next.js Application on AWS Amplify for Free

How to Deploy a Next.js Application on AWS Amplify for Free

Deploying a Next.js application on AWS Amplify is a powerful way to leverage AWS's infrastructure to host your app with ease. In this article, we'll walk through the process step-by-step, allowing you to follow along and get your Next.js app up and running quickly. This guide complements the video tutorial found here.

Prerequisites

Before we start, make sure you have the following:

  1. AWS Account: If you don't have one, you can create a free account at aws.amazon.com.
  2. Next.js Application: If you don't have a Next.js project, you can create one by following the official Next.js documentation.
  3. GitHub Repository: Your Next.js project should be pushed to a GitHub repository.

Step-by-Step Guide

Step 1: Set Up AWS Amplify

  1. Sign In to AWS Amplify Console

  2. Create a New App

    • Click on the "Get Started" button under the "Deploy" section.
    • Choose "Host web app".
  3. Connect Your GitHub Repository

    • Select GitHub as your repository service.
    • Click on "Continue" and authorize AWS Amplify to access your GitHub account.
    • Select the repository that contains your Next.js application.
    • Choose the branch you want to deploy (e.g., main or master).
  4. Configure Build Settings

    • Amplify will detect your framework automatically. For a Next.js app, the default settings should be appropriate:
     version: 1
     frontend:
       phases:
         preBuild:
           commands:
             - npm ci
         build:
           commands:
             - npm run build
       artifacts:
         baseDirectory: .next
         files:
           - '**/*'
       cache:
         paths:
           - node_modules/**/*
    
    
  • You can customize these settings if necessary.

Step 2: Deploy the Application

  1. Save and Deploy

    • Review the settings and click on "Save and deploy".
  2. Monitor the Build Process

    • Amplify will start the build process. You can monitor the progress in the Amplify Console.
    • The build process includes installing dependencies, building the application, and deploying it to a hosting environment.
  3. Access Your Deployed Application

    • Once the deployment is complete, you will see a URL provided by AWS Amplify where your Next.js application is hosted.
    • You can visit this URL to see your live application.

Step 3: Configure Custom Domain (Optional)

  1. Add a Custom Domain

    • If you have a custom domain, you can configure it in the Amplify Console.
    • Go to the "Domain management" section and click on "Add domain".
    • Follow the instructions to link your domain to the Amplify app.
  2. Update DNS Settings

    • Update your DNS settings with your domain registrar to point to the AWS Amplify hosting environment.

Step 4: Continuous Deployment

  1. Automatic Deployments
    • AWS Amplify supports continuous deployment, which means any changes pushed to your GitHub repository will automatically trigger a new build and deployment.
    • This ensures your application is always up to date with the latest changes.

Conclusion

Deploying a Next.js application on AWS Amplify is straightforward and leverages the powerful AWS infrastructure to ensure your application is scalable and reliable. By following the steps outlined above, you can get your Next.js app deployed quickly and efficiently. For a more visual guide, be sure to check out the video tutorial here.

Top comments (1)

Collapse
 
duncan_true profile image
Dun

This walkthrough was really clear and helpful! Do you plan to cover more advanced deployment techniques in future posts?