All Templates|🖥️ Single EC2 Serverfree~$15/mo all-in (~$7.50 instance)
🖥️

Single EC2 Server

One t3.micro Amazon Linux 2023 instance in a public subnet, with SSM shell access, the CloudWatch agent, and daily AWS Backup snapshots. No load balancer, no database.

What you can build with this

A single always-on Linux box for a hobby project, bot, cron job, or learning EC2 hands-on. The AMI resolves to the latest Amazon Linux 2023 at deploy time via an SSM public parameter (never a stale hardcoded AMI ID), and the instance gets a public IP from its subnet. You get a shell through SSM Session Manager — the attached instance role includes AmazonSSMManagedInstanceCore, so no key pair, bastion, or working SSH is needed (or created). Also baked in: an encrypted 20 GB gp3 root volume, IMDSv2 enforced, the CloudWatch agent installed at first boot (OS logs + memory/disk metrics), and an AWS Backup plan that snapshots the instance daily.

Deployment timing

After you run the deploy command, resources come online at different times. Check the validation steps in order.

ResourceReady in
VPC, subnet, security group1–2 min
EC2 instance launched2–4 min
Registered with SSM (shell access works)3–5 min
CloudWatch agent logs/metrics flowing5–10 min after boot
First backup snapshotNext 02:00 UTC daily window
DNS / Certificate note: To point a domain at this server, first allocate an Elastic IP and associate it with the instance (EC2 → Elastic IPs → Allocate → Associate), then create an A record to the EIP. The auto-assigned public IP is not stable — it changes on every stop/start. An attached EIP costs the same ~$3.65/mo public-IPv4 charge you're already paying, so the stable address adds nothing.

CloudFormation parameters

These are the values you will fill in when deploying the exported template. Changing these does not break the template — that is the point.

ParameterWhat to provideExample
EnvironmentEnvironment tag applied to resources (does not rename them)dev
CloudStack Canvas