AWS compute savings plan commitment calculation


I am trying to understand how the commitment per hour calculation has been done for AWS Savings plan recommendation for past 30 days. There is no document on how to calculate it, how is the calculation done for leaving the on-demand spend?

As per the below usage of the services mentioned in below table, AWS cost explorer is recommending below commitment...

"You could save an estimated $315 monthly by purchasing the recommended Compute Savings Plan.

Based on your past 30 days of usage, we recommend purchasing 1 Savings Plan with a total commitment of $1.390/hour for a 1-year term. With this commitment, we project that you could save an average of $0.43/hour - representing a 17% savings compared to On-Demand. To account for variable usage patterns, this recommendation maximizes your savings by leaving an average $0.65/hour of On-Demand spend. Recommendations require up to 24 hours to update after a purchase."

So we came to a conclusion that we should spend 0.65/hour of On-demand and 1.390/hour of commitment? Please suggest and share how we can calculate all this information if I need to do that with a different set of data.

ServiceIntance familyinstance typeNo. of instancesRegionOn-demand Spend ($)On-demand UsageOn-demand rateSP rateSP Spend% discount
EC2t2micro1US East (N. Virginia)8.3527200.01160.00785.61633%
EC2t2nano1EU (Ireland)4.5367200.00630.00483.45624%
EC2t2micro6EU (Ireland)53.8376584,272.830.01260000000.009540.59188525%
EC2t2large1EU (Ireland)72.5767200.10080.076154.79225%
EC2c6alarge1EU (Ireland)38.4495552468.440.082080.0585427.422477629%
EC2c44xlarge1EU (Ireland)421.734660.9050.667310.82226%
FargateGB-HoursEU (Ireland)224.987275550615.810.00444500000.0034671175.490074922%
FargatevCPU-HoursEU (Ireland)916.932315222651.490.04048000000.0315744715.207205922%
LambdaEU-Lambda-GB-Second (Second)EU (Ireland)28.2500591695000.150.00001666670.000013823.3910020717%
LambdaEU-Request (Requests)EU (Ireland)0.944688540.20.200.940%
**Total **1770.5908631.3633216671.05879531357.728645
1 Answer

First thing to remember is that the billing works hourly. It means that the system evaluates your usage for each hour in the last 7/30/60 days (depending on the recommendations term you select in Cost Explorer), and recommendations engine finds the most optimal $ commitment that would provide you the highest discount based on your past usage.

Let's say you had some resources running on schedule. The system looks at your hourly on-demand spend for the recommendations term, which resources were running, and which discount % you would get for that usage if you had Savings Plans. SP discount applies to your usage each hour. If during some hours you run more resources than you reserved, any remaining usage will be charged on-demand. If during other hours you runn less, then some of the SP discount will be not utilized and cannot be used later in the month. Which means that depending on your usage patterns, you can either purchase SP to cover ALL your usage, but end up losing some of the discount, or you can purchase less SP but still pay some on-demand charges for spiky usage.

If you wanted to calculate the same for a different set of data, there's no exactly easy native feature for that, but you would need to look at the SP pricing for resources that you want to reserve. For example, if you look at resources worth $0.5 hourly on-demand spend, then the amount of SP you have you reserve will depend on the % discount each of those resources get from SP.

profile pictureAWS
answered a year ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions