Decreasing AWS bill through reserved instances

This message is extracted from a ticket originally emailed to support@gruntwork.io. Names and URLs have been removed where appropriate.

We recently ran out of credits and had to start paying our AWS bill. Now that the gravy train is over, we would like to at least control some of the costs of our 10-12k monthly spend. More than half of that spend is on our GPU instances, and we understand that buying reserved instances could be a cheap way to shave of a couple thousand. However, I’m not sure how well reserved instances play with terraform. Can you help us understand what converting our ecs-cluster-cuda to reserved instances might end up looking like in the terraform? How much effort do you imagine it would take and how would that interact with adding capacity should we need it?

Also interested in any other obvious and low-effort ways to decrease our AWS spend…

AWS reserved instances are actually just a billing commitment on your part to use a certain instance type for one year or three years, with additional discounts available for partial or full payment upfront. To read more about how it works, you can check out: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-reserved-instances.html. The good news here, is that there aren’t any code changes necessary to make this work.

We’ve also considered writing a module that would use scheduled lambda jobs (or maybe ECS tasks) to shutdown non-production RDS instances on nights and weekends. If you’d be interested in backing that module using our new “poor man’s Kickstarter”, check out https://docs.google.com/spreadsheets/d/1z-daOtgJomvpQq9SPf6VUznAhe7pz_TZQJ6XRxHw_Q4/edit#gid=0 and add yourself to the list.