Steven Develops Icon

Steven Develops

All things engineering

Opinions are my own

BlogPortfolioContactX TwitterLinkedInGitHub

Part 2: Deploying an Apollo GraphQL Odyssey React App with AWS Amplify

Published on · In software-engineeringby

Deploying Apollo GraphQL to AWS Amplify
Deploying Apollo GraphQL to AWS Amplify

Welcome to Part 2 of deploying our Apollo GraphQL Castronaut App with Amazon Web Services. In Part 1, we deployed our Apollo GraphQL server using AWS Lambda. In this article, we’ll deploy the React client using AWS Amplify, completing the full-stack deployment.

Prerequisites

Before continuing, make sure you’ve completed the following:

Configuring AWS Amplify

To get started, log into the AWS Console and navigate to AWS Amplify.

  1. Click Get Started under Amplify Hosting
  2. Choose GitHub as your repository provider
  3. Authorize GitHub access (limit permissions to the required repository)
  4. Select your client repository (odyssey-lift-off-part5-client)
  5. Choose the main branch and continue

AWS Amplify will automatically detect your React application and prepare it for deployment.

⚠️ Important: Ensure your GraphQL backend from Part 1 is still running. If you previously removed it, redeploy it before proceeding:

serverless deploy

Deploying the React Application

Once your repository is connected, AWS Amplify will:

  • Provision hosting infrastructure
  • Install dependencies
  • Build the React application
  • Deploy it to a public URL

This process may take a few minutes. Amplify enables continuous deployment by default, meaning every push to the selected branch triggers a new build.

When deployment completes, Amplify provides a public URL to your live application.

Verifying the Deployment

Visit the Amplify-hosted URL and verify:

  • The application loads successfully
  • Apollo Client connects to the deployed GraphQL endpoint
  • Queries and mutations function as expected

If everything works, your full-stack Apollo GraphQL application is now live.

Cleaning Up AWS Resources

Once you’re finished experimenting or demonstrating the application, it’s important to clean up resources to avoid unexpected costs.

Remove the React app

From the AWS Amplify Console:

  • Select Actions → Delete app
  • Confirm deletion

Remove the GraphQL backend

From your server project root:

npx serverless remove

This removes the Lambda function, CloudFormation stack, and S3 artifacts.

Conclusion

You’ve now completed the Apollo Odyssey by deploying both:

  • A GraphQL server using AWS Lambda
  • A React client using AWS Amplify

This setup replaces Heroku with a scalable, production-ready AWS solution while preserving a clean developer workflow with continuous deployment and managed infrastructure.

Steven Brown in Milan
Steven Brown

Let's Connect

If you've journeyed this deep into my site, you're exactly who I want to connect with — whether it's about a fresh project or just a friendly chat. Feel free to reach out through social media or my contact page.