Rails controller to manage EC2 instances
I see two things wrong with this controller. 


It's too 'fat'. You're doing way too much in one controller.
It's not RESTful. 


In this case, those two problems are much the same. Without reading too much into the code, it looks like you could break that controller up into 3 controllers, UsageController, InstanceController, Instance::PowerController. I'm not certain about the last one, you may find the Instance's power state not to be a RESTful resource.

Here's an example: https://stackoverflow.com/documentation/ruby-on-rails/4373/method-on-a-controller-that-s-not-part-of-the-default-five#t=201608110000585779419

As well though, I'd say the building of the hashes should be encapsulated by a model.