Guide 1
Complete deployment guide
Provision the whole stack by hand in the AWS console: VPC, security groups, private RDS PostgreSQL, a private EC2 API behind an Application Load Balancer, and a public S3 website for the React frontend.
- Time
- 2–3 hours
- Level
- Beginner friendly
- Before you start
- Everyone. Start here.
- 1Start hereWhat you will build, what it costs, and what to prepare before you touch the console.10 min
- 2Fork the repositoryWhy you must work from your own fork, and how to fork, clone and test it.15 min
- 3Build the networkCreate the VPC, public and private subnets, NAT gateway and S3 endpoint.20 min
- 4Create security groupsThree chained firewalls so only the load balancer reaches the API and only the API reaches the database.15 min
- 5Create the databaseA private PostgreSQL instance on RDS, reachable only from the API.25 min
- 6Create the server's IAM roleGive the EC2 instance an identity so you can open a shell with Session Manager and no SSH keys.8 min
- 7Create the load balancerA target group with a health check, and an internet-facing Application Load Balancer in front of the API.20 min
- 8Create the website bucketAn S3 bucket configured as a public static website for the React app.15 min
- 9Launch the API serverAn Ubuntu EC2 instance in a private subnet with no public IP, reachable with Session Manager.20 min
- 10Install and start the APIInstall Node.js on the server, clone your fork, connect to the database and run the API as a systemd service.35 min
- 11Deploy the websiteBuild the React app with your API address baked in and upload it to the S3 bucket.20 min
- 12Verify and hardenAn end-to-end checklist, the security checks that matter, and what to change before real users.15 min
- 13TroubleshootingSymptoms, causes and fixes for the problems people actually hit, plus the commands to find the cause yourself.15 min
- 14Clean upDelete everything in the right order so you stop paying, and check that nothing was left behind.20 min