aws-spa-deploylisted
Install: claude install-skill ziniman/ai-instruct
# Deploying a Static SPA on AWS
> Applies to: React/Vite SPAs on AWS (Amplify + CDK) | Updated: February 2026
A focused guide for deploying a React/Vite single-page app on AWS with optional API backend using CDK (Cloud Development Kit). Covers Amplify hosting, Lambda + API Gateway, and SES email.
## Contents
1. [Before you start](#before-you-start)
2. [Architecture](#architecture)
3. [Costs at a glance](#costs-at-a-glance)
4. [Amplify Hosting](#amplify-hosting)
5. [CDK Backend](#cdk-backend)
6. [SES Email](#ses-email)
7. [Common problems](#common-problems)
---
## Before you start
Answer these questions before generating any code. Each has a default assumption - confirm or override before proceeding.
**Q: Do you need a backend API, or is this a static site with no server logic?**
Default: static only - if yes, skip the entire CDK section.
**Q: Do you have a custom domain name you want to use?**
Default: no - skip the domain and SSL subsections.
**Q: What is your target AWS region, and does it match your default AWS CLI region?**
Default: us-east-1. Check with `aws configure get region`. If they differ, pass `--region` explicitly to every CLI command and use the explicit bootstrap form (see CDK section).
**Q: Do you need to send emails from the site (contact forms, notifications)?**
Default: no - skip the SES section entirely.
**Q: Is this a brand new AWS account?**
Default: no (existing account). If new: SES starts in sandbox mode (can only send to verified