What exactly is the unit "GB-month" in AWS terminology? - amazon-web-services

Amazon EBS volumes are billed by the gigabyte-month (GB-month). With Amazon Elastic Block Store (EBS), you pay only for what you provision. Volume storage for all EBS volume types is charged by the amount of GB you provision per month until you release the storage.
There is so much confusion in these statements, and I wonder how exactly EBS is billed and what exactly is meant by the unit "GB-Month"? I could see this unit is also associated with Amazon Aurora storage pricing.
Links:-
https://aws.amazon.com/ebs/pricing/
https://aws.amazon.com/rds/aurora/pricing/

A GB-Month is 1GB of storage for 1 month.
100GB stored for 1 month = 100 GB-Months
100GB stored for half a month = 50 GB-Months
It's similar to the electricity concept of Kilowatt-Hours (1kWh = 1kW for 1 hour).

Related

Amazon MSK pricing for EBS storage

In Amazon MSK, the pricing documentation has mentioned that - You pay for the amount of storage you provision in your cluster.
But while creating the msk cluster, we have defined initial volume size per broker is 100gb, And our cluster has utilized only 50gb during a month.
So I have to pay for 100gb as I have defined, or I have to pay for 50gb used by cluster
You pay for the amount of storage you provision, not the amount of storage you use. As is clearly stated in the pricing documentation.
You provisioned 100gb of storage, so you will pay for 100gb of storage.

GCP Filestore pricing and number of shares per instance

I want to create 2 NFS fileshare on GCP and both would consume only 20GB of data. But when creating Filestore instances it seems like only one share can be created under each instance and also the minimum is 1TB storage capacity...
Monthly estimate shows that for 1 TB it would cost around 200 dollars. Is that applicable only if we use full 1TB storage? Is it alright to create 2 instance for 2 file share and use less than 20GB data in a 1TB instance and safely ignore monthly estimate?
You'll be charged for the provisioned capacity whether you use 1% or 99% of it. From the pricing page:
You are charged based on the provisioned capacity, not based on the
capacity used. For example, if you create a 1 TB instance and store
100 GB of data on it, you incur charges for the entire 1 TB.

Do I incur charges when downloading on an EC2 instance?

I use AWS free tier to spin up t2.micro boxes and use it to practice Docker since the download speed is vastly great when pulling large images in mere seconds.
I am assuming download is free and upload -pushing images for example- is chargeable although not sure the exact amount.
How much are the costs here?
You incur upload costs when you exceed more than 1 GB upload per month. Please see: https://aws.amazon.com/ec2/pricing/on-demand/#Data_Transfer
Note that I'm providing a link here rather than providing values because the costs may differ from Region to Region, and from year to year.
For more information on the Free tier limits have a play with: https://aws.amazon.com/free/
Also, remember that it is 750 hours of t2.micro or t3.micro a month. You could spend all these 750 hours with 1 instance and that would take 750 hours. If however you decided to run 750 instances then you would use up your whole months 750 hours in 1 hour.
Lastly remember your EBS limit is 30 GiB. If you launched 4 Ubuntu instances with 4 root volumes of 8 GiB then you would be exceeding your free tier limit by 2 GiB.
Data Transfer IN To Amazon EC2 From Internet: No charge
Data Transfer OUT From Amazon EC2 To Internet is charged at 9c/GB (in US regions).
Also: "As part of AWS’s Free Usage tier, new AWS customers will receive free 15 GB of data transfer out each month aggregated across all AWS services for one year except in the AWS GovCloud region."

AWS Tier Limit Alert

recently I recive this email with an alert from AWS EC2 instance (its an free tier elegible with T2.Micro). I really do not understand this alert since no content that has been uploaded to the server weighs more than several megabytes. Thanks for your help!
The email alert from AWS:
enter image description here
This alert is about Elastic Block Storage. This means it is related to the sum of provisioned disk capacity multiplied by the running time of your instances/volumes. To get more details how it is calculated, see here: https://aws.amazon.com/ebs/pricing/
30GB-Mo under free tier means: You could provision a drive with 30GB and let it run continuously for an entire month.
The warning indicates, that the sum of all provisioned storage of your instances and volumes is higher than 30GB.
Note: The actual data uploaded and/or how much is free, is irrelevant. So for example a micro instance with default settings counts 8GB towards your limit and it does not matter that the fresh Linux without any data is only a couple hundred megabyte.
i asked this in support, this is the answer
When calculating the charges for EBS volume storage, your charges
depend on the size of the volume you've provisioned and the length of
time the volume is provisioned in a month.
1) where that usage comes from? The most important thing to keep in
mind is that you are not billed for actual usage-- instead, you're
billed for the provisioned size of the volume. For example, if you
create a 1 TB volume and only use 1 GB of it in a month, you will be
billed for the full 1 TB.
To take another example, if you had a 31 GB volume that was only
active for 24 hours in the month of December (a 31 day month,
comprised of 744 hours), you'd only be billed for 1 GB-month. If you
had a 1 GB volume active for 744 hours in December, you'd be billed
the same amount.
2) how can i see it? If you'd like to look at a more in-depth report
of your EBS usage, you can download a usage report here:
https://console.aws.amazon.com/billing/home#/reports
The usage reports can be used to help figure out billing for EBS. Make
sure to change the usage value given in the report into GB-months,
since the data is presented in byte-hours. You can convert the data
into GB-months by dividing the figure presented in byte-hours by
1024^3, then divide this figure by the number of hours in the month.
You can also find information on EBS charges here
https://amzn.to/2BqeGlY
3) the 30GB EBS free tier is for each EBS instance or is the sum of
all the EBS that i could create? The EBS free tier limit is calculated
for the total number of volumes provisioned in your account and not
per instance. For example, if you simultaneously run a Windows
instance and a Linux instance with an attached EBS storage of 30GB
volume each, it will intuitively exceed your Free Tier limits, as the
total of the volumes would be 60GB.

Cost of storing AMI

I understand Amazon will charge per GB provisioned EBS storage. If I create AMI of my instance, does this mean my EBS volume will be duplicated, and hence incur additional cost?
Is there other cost charge in creating and storing an AMI (Amazon Machine Image)?
You are only charged for the storage of the bits that make up your AMI, there are no charges for creating an AMI.
EBS-backed AMIs are made up of snapshots of the EBS volumes that form the AMI. You will pay storage fees for those snapshots according to the rates listed here. Your EBS volumes are not "duplicated" until the instance is launched, at which point a volume is created from the stored snapshots and you'll pay regular EBS volume fees and EBS snapshot billing.
S3-backed AMIs have their information stored in S3 and you will pay storage fees for the data being stored in S3 according to the S3 pricing, whether the instance is running or not.
In this case, you will pay for the size of the storage used, instead of the storage provisioned. Snapshots will not store any empty blocks.
In short, yes, you will incur additional charges, but at a less rate, namely, EBS snapshot storage rate. Provisioned EBS is the 'live' HD that will be charged at $0.10 per GB per month if using standard SSD (gp2, USA east pricing for 2022 used throughout). And if you provisioned 50 GB, you will be fully charged for that 50 GB, even if you are only using 5% of it. The charges will incur even if you forget to attach to an EC2 instance. $5 per month in this case.
When you create an AMI, AWS will create a snapshot in the background. This snapshot is viewable under EBS Snapshots and will not be deletable as long as that AMI is in existence. You will get an error if you try to delete this snapshot. Snapshots cost less than 'provisioned' EBS at $0.05 per GB per month, and since snapshots ignore empty blocks, it will be shrunk to used size, so if you are only using 5% of 50GB, the snapshot should only be around 2.5 GB. $0.13 per month in this case. No other charges.
If you are creating a lot of these, it can get expensive very quickly, so some people save these AMIs into S3, which is cheaper than EBS snapshots. This is somewhat advanced and as far as I know, it can only be done via AWS CLI, and not in the console. You use a command called aws ec2 create-store-image-task and you have to specify the destination bucket name, and make sure permissions for S3, EBS and EC2 will all allow it. More detail at the official AWS documentation. This would reduce the cost to about $0.023 per GB per month. There are other changes relating to this method, i.e. EBS Direct API, but it is not much and you can look it up in the documentations.
Recently in November 2021, AWS released archived function for EBS snapshots, which allows you to archive your snapshots for a minimum of 90 days for $0.0125. You do have to pay $0.03 per GB for restoring the data. However, this is designed for EBS backups (e.g. daily backups using snapshots) and you cannot archive an EBS snapshot that is associated with an AMI. You will get an error: Failed to archive snapshot... snap-xyz is in use by ami-123.
Below is an excerpt of an actual AWS bill that will explain it in a visual sense.