Skip to main content

Next.js on AWS

This example lives in the pulumi/examples repository. Check out just this directory to use it:

Get started with this example
git clone --filter=blob:none --sparse https://github.com/pulumi/examples pulumi-examples
git -C pulumi-examples sparse-checkout set aws-ts-nextjs
cd pulumi-examples/aws-ts-nextjs

This example deploys a Next.js site on AWS using OpenNext.

Deploying the App#

To deploy your app, follow the below steps.

Prerequisites#

  1. Install Pulumi
  2. Install Node.js
  3. Configure AWS Credentials

Steps#

After cloning this repo, from this working directory, run these commands:

  1. Install the required Node.js packages:

    Terminal window
    npm install
  2. Create a new stack, which is an isolated deployment target for this example:

    Terminal window
    pulumi stack init
  3. Set the required configuration variables for this program:

    Terminal window
    pulumi config set aws:region us-west-2

    You can select any AWS region you would like to use.

  4. Deploy your application to it’s own dedicated serving infrastructure in AWS.

    Terminal window
    pulumi up
  5. Most of the infrastructure will deploy within about 30s, but the CloudFront CDN can take 4-5 minutes. After this is complete, a CloudFront URL where your application is served will be shown.

    Terminal window
    Outputs:
    url: "https://d119mwdwutz4hu.cloudfront.net"
    Resources:
    + 45 created
    Duration: 4m14s
  6. You can open that URL in your browser to see your Next.js demo app.

    Screenshot of demo app

  7. Make changes to the Next.js app in the demoapp folder, or bring your own Next.js app and point the Pulumi component at it instead.

  8. Once you’ve finished experimenting, tear down your stack’s resources by destroying and removing it:

    Terminal window
    pulumi destroy --yes
    pulumi stack rm --yes

Related

The infrastructure as code platform for any cloud.