Bug with Provisioned Throughput in Pricing API for AmazonEC2

1

I executed the command below and noticed that the description states the price is $0.04 per provisioned MiBps-month of gp3 but the pricePerUnit is listed as 40.96. I have highlighted the discrepancy in the screenshot.

aws pricing get-products --service-code AmazonEC2 --format-version aws_v1 --max-results 20 \
--filters '[{"Field": "location", "Value": "US East (Ohio)", "Type": "TERM_MATCH"}, {"Field": "volumeApiName", "Value": "gp3", "Type": "TERM_MATCH"}]'

Enter image description here

Lisa
asked 16 days ago75 views
3 Answers
2

Absolutely, you've got it right, the price noted in the description should indeed match the pricePerUnit. The discrepancy might be an error, possibly a glitch in the API's response formatting.

Example

{
  "FormatVersion": "aws_v1",
  "NextToken": "WGDY7ko8fQXdlaUZVdasFQ==:RVSagyIFn770XQOzdUIcO9BY6ucBG9itXAZGZF/zioUzOsUKh6PCcPWaOyPZRiMePb986TeoKYB9l55fw/CyoMq5ymnGmT1Vj39TljbbAlhcqnVfTmPIilx8Uy5bdDaBYy/e/2Ofw9Edzsykbs8LTBuNbiDQ+BBds5yeI9AQkUepruKk3aEahFPxJ55kx/zk",
  "PriceList": [
      "{\"product\":{\"productFamily\":\"Storage\",\"attributes\":{\"storageMedia\":\"SSD-backed\",\"maxThroughputvolume\":\"320 MB/sec\",\"volumeType\":\"Provisioned IOPS\",\"maxIopsvolume\":\"20000\",\"servicecode\":\"AmazonEC2\",\"usagetype\":\"APS1-EBS:VolumeUsage.piops\",\"locationType\":\"AWS Region\",\"location\":\"Asia Pacific (Singapore)\",\"servicename\":\"Amazon Elastic Compute Cloud\",\"maxVolumeSize\":\"16 TiB\",\"operation\":\"\"},\"sku\":\"3MKHN58N7RDDVGKJ\"},\"serviceCode\":\"AmazonEC2\",\"terms\":{\"OnDemand\":{\"3MKHN58N7RDDVGKJ.JRTCKXETXF\":{\"priceDimensions\":{\"3MKHN58N7RDDVGKJ.JRTCKXETXF.6YS6EN2CT7\":{\"unit\":\"GB-Mo\",\"endRange\":\"Inf\",\"description\":\"$0.138 per GB-month of Provisioned IOPS SSD (io1)  provisioned storage - Asia Pacific (Singapore)\",\"appliesTo\":[],\"rateCode\":\"3MKHN58N7RDDVGKJ.JRTCKXETXF.6YS6EN2CT7\",\"beginRange\":\"0\",\"pricePerUnit\":{\"USD\":\"0.1380000000\"}}},\"sku\":\"3MKHN58N7RDDVGKJ\",\"effectiveDate\":\"2018-08-01T00:00:00Z\",\"offerTermCode\":\"JRTCKXETXF\",\"termAttributes\":{}}}},\"version\":\"20180808005701\",\"publicationDate\":\"2018-08-08T00:57:01Z\"}"
  ]
}
profile picture
EXPERT
answered 16 days ago
profile picture
EXPERT
reviewed 16 days ago
1

Hello,

The gp3 volume pricing has two components - capacity pricing and provisioned throughput pricing. The capacity pricing is $0.04 per GiB-month as you mentioned. The provisioned throughput pricing has two parts - $0.005 per provisioned IOPS over 3,000 IOPS and $0.04 per provisioned MiB/s throughput over 125 MiB/s.

In the AWS CLI command output, the pricePerUnit field shows the combined cost of 1 MiBps of provisioned throughput, which works out to $0.04 + $0.005*(IOPS/125) = $0.4096.

profile picture
Julian
answered 16 days ago
profile picture
EXPERT
reviewed 16 days ago
  • EBS volume pricing has 3 parts: Provisioned Throughput, Storage, and System Operation. Each part is separated in the response as shown in the screenshot. I don't understand how Provisioned Throughput is a combined calculation when the others are separated out as shown in this doc: https://aws.amazon.com/ebs/pricing/

1

From Manav G with AWS Support:

The description states the value of provisioned throughout in terms of MiBps-month. However, if you notice the ‘unit’ for the product, it is ‘GiBps-mo’ and accordingly the ‘pricePerUnit’ becomes 40.96 USD.

# Description
"description\":\"$0.04 per provisioned MiBps-month of gp3 - US East (Ohio)\"
.
.
# Unit of the product
"unit\":\"GiBps-mo\"
.
.
# Price per unit of the product
pricePerUnit\":{\"USD\":\"40.9600000000\"

~~~~~~

Hence, the price of provisioned throughput in MiBps-month is 0.04 USD, which equates to 40.96 USD in GiBps-month. Therefore, this is not a bug and the product unit is GiBps-month.
Lisa
answered 15 days ago
profile picture
EXPERT
reviewed 14 days ago
  • Yes, it was the unit! 40.96 GiBps-month = 40.96/1024 MiBps = 0.04 Mbps

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