Think about instance reservations
Spot instances can be provisioned at 10-20% price of on-demand pricing. Spot instances can be used to do batch tasks convert media or do stateless jobs in general
If machines are running at good utilisation for a long time consider reserving instance. They can give you around 25-40% savings depending on payment options and tenure.
Note – Instances can be reserved by region only , so make sure you decide the right region for you.
Use only what you need
Stopping servers which need not be up the whole time can lead to large savings. Dev servers at off-time or autoscaling for tasks which have a very varying usage pattern.
Simple python scripts and good tagging on instances can make this task of stopping and bringing them up very easy.
Take Care of Resource Leakages
These are typically small savings but it can help to maintain these so they dont add up.
- Unused Elastic Ips
- Unused EBS Volumes
- Redundant Snapshots
I made a simple script to find these out here.
If you would rather just have the relevant script
Checks on AWS Console
Trusted advisor gives recommendation about your resources on aws. These includes cost saving tips, increasing performance and security. You can also register alarms on budgets console.