A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | AA | AB | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | ||||||||||||||||||||||||||||
2 | ||||||||||||||||||||||||||||
3 | https://www.prosperops.com | |||||||||||||||||||||||||||
4 | ||||||||||||||||||||||||||||
5 | AWS Compute (EC2, Lambda, Fargate) Effective Savings Rate | |||||||||||||||||||||||||||
6 | ||||||||||||||||||||||||||||
7 | PLEASE MAKE A COPY OF THIS SHEET IN ORDER TO POPULATE | |||||||||||||||||||||||||||
8 | ||||||||||||||||||||||||||||
9 | Formula | |||||||||||||||||||||||||||
10 | ||||||||||||||||||||||||||||
11 | Effective Savings Rate (ESR) = What you saved / What you would have spent with no discounts | |||||||||||||||||||||||||||
12 | Learn more at effectivesavingsrate.com | |||||||||||||||||||||||||||
13 | ||||||||||||||||||||||||||||
14 | STEP 1: CONFIGURE TIME PERIOD OVER WHICH TO MEASURE ESR | |||||||||||||||||||||||||||
15 | ||||||||||||||||||||||||||||
16 | Time Period | |||||||||||||||||||||||||||
17 | ||||||||||||||||||||||||||||
18 | Start Date | 2024-07-01 | ||||||||||||||||||||||||||
19 | End Date ** | 2024-08-01 | ||||||||||||||||||||||||||
20 | ||||||||||||||||||||||||||||
21 | ** End Date is non-inclusive, i.e. data is pulled through 23:59:59 up to, but not including, the date specified | |||||||||||||||||||||||||||
22 | ||||||||||||||||||||||||||||
23 | ||||||||||||||||||||||||||||
24 | STEP 2: EXECUTE THE FOLLOWING AWS CLI COMMANDS FROM THE AWS MANAGEMENT ACCOUNT | |||||||||||||||||||||||||||
25 | ||||||||||||||||||||||||||||
26 | AWS CLI Commands (Select your command line environment) | macOS, Linux, Unix | ||||||||||||||||||||||||||
27 | ||||||||||||||||||||||||||||
28 | aws ce get-savings-plans-utilization --time-period Start=2024-07-01,End=2024-08-01 --filter '{ "Dimensions": { "Key": "SAVINGS_PLANS_TYPE", "Values": [ "ComputeSavingsPlans", "EC2InstanceSavingsPlans" ] } }' --query 'Total.Savings.[{OnDemandCostOfSPHoursUsed: OnDemandCostEquivalent}, {NetSPSavings: NetSavings}]' | |||||||||||||||||||||||||||
29 | aws ce get-reservation-utilization --time-period Start=2024-07-01,End=2024-08-01 --filter '{ "Dimensions": { "Key": "SERVICE", "Values": [ "Amazon Elastic Compute Cloud - Compute" ] } }' --query 'Total.[{OnDemandCostOfRIHoursUsed: OnDemandCostOfRIHoursUsed}, {NetRISavings: NetRISavings}]' | |||||||||||||||||||||||||||
30 | aws ce get-savings-plans-coverage --time-period Start=2024-07-01,End=2024-08-01 --filter '{ "Dimensions": { "Key": "SERVICE", "Values": [ "Amazon Elastic Compute Cloud - Compute", "Amazon EC2 Container Service", "Amazon Elastic Container Service", "Amazon Elastic Container Service for Kubernetes", "AWS Lambda" ] } }' --query 'SavingsPlansCoverages[].Coverage.{OnDemandCost: OnDemandCost}' | |||||||||||||||||||||||||||
31 | ||||||||||||||||||||||||||||
32 | ||||||||||||||||||||||||||||
33 | STEP 3: ENTER DATA AS SHOWN, USING THE VALUES GENERATED IN STEP 2 | |||||||||||||||||||||||||||
34 | ||||||||||||||||||||||||||||
35 | Calculations | Command → Value | ||||||||||||||||||||||||||
36 | ||||||||||||||||||||||||||||
37 | A. Savings Plan On-Demand Equivalent Spend (EC2, Fargate, Lambda) | get-savings-plan-utilization → OnDemandCostOfSPHoursUsed | ||||||||||||||||||||||||||
38 | B. Reserved Instance On-Demand Equivalent Spend (EC2) | get-reservation-utilization → OnDemandCostOfRIHoursUsed | ||||||||||||||||||||||||||
39 | C. On-Demand Spend (EC2, Fargate, Lambda) | get-savings-plan-coverage → OnDemandCost | ||||||||||||||||||||||||||
40 | D. Compute On-Demand Equivalent Spend (A + B + C) | $0.00 | ||||||||||||||||||||||||||
41 | ||||||||||||||||||||||||||||
42 | E. Savings from Compute related Savings Plans | get-savings-plan-utilization → NetSPSavings | ||||||||||||||||||||||||||
43 | F. Savings from Compute related Reserved Instances | get-reservation-utilization → NetRISavings | ||||||||||||||||||||||||||
44 | G. Compute RI & SP Savings (E + F) | $0.00 | ||||||||||||||||||||||||||
45 | ||||||||||||||||||||||||||||
46 | ||||||||||||||||||||||||||||
47 | STEP 4: ENTER COST TO ACHIEVE SAVINGS OUTCOME, IF ANY | |||||||||||||||||||||||||||
48 | ||||||||||||||||||||||||||||
49 | H. Cost to Achieve Savings (CMP, service, time, tooling, etc. cost) | |||||||||||||||||||||||||||
50 | ||||||||||||||||||||||||||||
51 | ||||||||||||||||||||||||||||
52 | STEP 5: SEE YOUR EFFECTIVE SAVINGS RATE | |||||||||||||||||||||||||||
53 | ||||||||||||||||||||||||||||
54 | AWS Compute ESR (G - H) / D | |||||||||||||||||||||||||||
55 | ||||||||||||||||||||||||||||
56 | ||||||||||||||||||||||||||||
57 | ||||||||||||||||||||||||||||
58 | Notes | |||||||||||||||||||||||||||
59 | * This ESR calculation is scoped to AWS Discountable Compute (i.e., EC2, Fargate, and Lambda, exclusive of Spot) savings from Reserved Instances and Savings Plans. It does not measure additional discounts from EDPs and/or Private Pricing Agreements which would deliver incremental savings and a higher ESR. | |||||||||||||||||||||||||||
60 | ||||||||||||||||||||||||||||
61 | ||||||||||||||||||||||||||||
62 | Last Updated: 2024-08-22 | |||||||||||||||||||||||||||
63 |