getstrake / aws-pricing-sheets-addon

Google Sheets add-on for AWS Pricing
https://workspace.google.com/marketplace/app/aws_pricing_by_strake/378787760903
33 stars 0 forks source link

Support for AWS Pricing in Normalised Units #31

Open thomas0376 opened 1 year ago

thomas0376 commented 1 year ago

AWS supports the concept of "normalised units", which is effectively the small instance size for EC2 or the small Single-AZ instance size for RDS. Personally I would find very helpful to quote pricing in normalised unit, especially for those resources which are size flexible.

So the price for regular linux t2 us-east-1, for example, is effectively the price for regular linux t2.small us-east-1. However, the price for a regular linux m5 us-east-1 is less obvious as the corresponding small instance size is NOT being made available by AWS.

This can be derived by taking the price of a different instance size and applying the corresponding normalisation factor, e.g. regular linux m5 us-east-1 is effectively the price for regular linux m5.large us-east-1 divided by 4 (4 x small = 1 x large). Note AWS pricing doesn't always scale up perfectly with size, so it's important to follow a convention as to which instance size should be used to derive such normalised price when small is NOT available. My preference would be to use the size which is closest to small.

Example 1: For regular linux g3 us-west-2, the closest instance size to small is 4xlarge: let's take the 1Y NUF STD price for regular linux g3.4xlarge us-west-2 which is $0.778. This means that the corresponding price for regular linux g3 us-west-2 would be $0.778/32 = $0.0243125.

Example 2: For postgresql db.r4 us-west-2, the closest instance size to small is large: let's take the 1Y NUF STD price for postgresql db.r4.large us-west-2SingleAZ which is $0.144. This means that the price for 1Y NUF STD postgresql db.r4 us-west-2 would be $0.144/4 = $0.036.