| Switch stable ECS Fargate tasks to Compute Savings Plans | 30–35% of Fargate spend | Low — Savings Plan purchase | None — same infrastructure |
| Switch RDS to Reserved Instances (1-year, no upfront) | 30–40% of RDS spend | Low — RI purchase | None — same RDS instance |
| Right-size ECS task CPU/memory (oversized common) | 15–25% of Fargate spend | Medium — load test before reducing | None if load tested properly |
| Delete unused snapshots, AMIs, and old ECR images | £50–£500/month | Low — AWS Config rule + Lambda cleanup | None — clean up orphaned resources |
| Move S3 infrequent access to S3 Intelligent-Tiering | 20–40% of S3 storage cost | Low — S3 lifecycle policy | None — same data, different tier |
| Shut down non-production environments at night/weekends | 40–60% of non-prod compute | Medium — schedule Lambda or Instance Scheduler | None — dev/staging only |
| CloudFront caching for repeat API calls | 20–40% of data transfer cost | Medium — CloudFront cache policy | None if response cache-safe |
| Aurora Serverless v2 for variable workloads | 20–40% vs provisioned Aurora | Medium — migration from provisioned | Test carefully — Aurora Serverless cold start |