amazon-web-servicesamazon-ec2amazon-emrcalculationaws-reserved-instances

EC2 Reserved Instance Billing in Accounts with Dynamic Capacity


I have a fresh AWS account with Reserved Capacity of 15 EC2 instances of the same instance type in the same region primarily intended for EMR.

The reason why I am confused is that based on my understanding EC2 charges based on capacity consumed (in instance hours) and not on actual instances allocated. Since I'm reserving 15 instances worth of capacity, I would expect it to cost me a total of $0 since my overall monthly average consumption is worth 15 instances.

The Reserved EC2 Pricing documentation and most of the AWS price-calculation related material on the internet don't mention the use-case of dynamic scaling of instances in accounts with reserved capacity.


Solution

  • Reserved instances are applied to running instances in real time, not averaged over any longer period of time. They are baseline, not average.

    For example, if you own three Reserved Instances with the same instance attributes and region (or Availability Zone if applicable), the billing system checks each hour to see how many total instances you have running that match those parameters. If it is three or less, you will be charged the Reserved Instance rate for each matching instance running that hour. If more than three are running, you will be charged the On-Demand rate for the additional instances.

    https://aws.amazon.com/ec2/pricing/reserved-instances/buyer/

    At any instant in time when you lack enough reserved capacity to cover your running workload, you're billed for the excess.