Amazon AWS provides a range of options for data storage. In this article, we’ll talk about the block storage service offered by Amazon. We will see its pricing method, and show how to control its costs.
What Is AWS EBS?
Amazon Elastic Block Store (EBS) is a block storage service designed for use with Amazon Elastic Compute Cloud (EC2). A block storage unit is also referred to as a volume or a hard drive. Amazon Elastic Compute Cloud is an Amazon service that provides computing capacity in the Amazon Web Services (AWS) cloud through virtual machines, known as instances. You can store any data on a block storage volume, and it is used similarly to a hard drive.
There are four types of volumes, differ in performance and cost. Here they are:
- EBS Provisioned IOPS SSD (io1)—the fastest and most expensive EBS volume. Io1 are SSD volumes with size ranges from 4GB up to 16TB. They are designed for I/O intensive applications, with a throughput of up to 1000MB per second. Such applications include NoSQL and relational databases.
- EBS General Purpose SSD (gp2)—this is the default volume type. Gp2 are SSD volumes that can be used for applications that are not I/O intensive, making a good balance between performance and cost. Gp2 can be used as boot volumes for AWS instances. Gp2 volume size ranges from 1GB up to 16TB with a throughput of up to 250MB per second.
- Throughput Optimized HDD (st1)—st1 is a low-cost HDD volume with size ranges from 500GB up to 16TB. It is designed for throughput intensive workloads that are frequently accessed. Typical use cases of st1 volumes include big data and data warehouses. St1 throughput is up to 500MB per second.
- Cold HDD (sc1)—sc1 is the lowest cost HDD volume. They are designed for infrequently accessed workloads, such as file servers. Sc1 size ranges from 500 GB up to 16TB, with a throughput of up to 250 MB per second.
The storage and performance are the key factors that determine EBS volumes price. Storage is charged per GB stored with a rate based on the location and volume type. For performance, the better it is, whether in terms of IOPS or throughput, the more expensive it is.
The price of Amazon EBS volumes varies according to their size, type and the region they are located in. Each of the four EBS types has its GB-per-month price. For example, let us assume you have provisioned a gp2 volume of 3000 MB for 10 days, and that gp2 price is $0.12 GB-per-month. If the month has 31 days, the cost will be (10/31)*3000*0.12 which is $116.13.
In the case you use io1 EBS volume, there will additional IOPS fee, calculated according to the IOPS-per-month price.
For more pricing information, please visit the Amazon EBS Pricing page.
5 Tips to Control AWS EBS Costs
Here are five tips to control and reduce your AWS EBS costs:
- Set higher priority to your EBS costs—EBS volumes costs are often considered with low priority when companies make an effort to reduce Amazon AWS costs. Although EBS volumes are attached to EC2 instances, the tendency is to concentrate on tuning the EC2 instances. You should pay more attention to selecting the right EBS volume type, and choosing the appropriate IOPS setting. Devoting the time to manage your EBS volumes can save you a lot of your AWS costs.
- Terminate unused volumes—you should always keep in mind that a volume persists even after the EBS instance it was attached to is gone. These EBS volumes are called unattached or orphaned volumes. They are useless since you can’t access them. You should identify the unattached volumes, and then terminate them. If the data on the unattached volume should be kept, you can use Amazon EBS snapshots to save it before it is terminated. This will save you money since EBS snapshots are cheaper than EBS volumes.
- Select the right volume size—EBS volume throughput is dependent on the volume size. You should monitor periodically the maximum throughput of each volume. If you can downgrade the volume size and still have the required throughput, you will save EBS costs.
- Look for inactive volumes—it is possible that a volume that is attached to an EBS instance is not used. You can look at a volume report for throughput and IOPS in the last couple of weeks. If the volume has not been accessed during this period, it can be a good candidate for termination.
- Reduce the number of io1 volumes—io1 volumes are the most expensive volumes. You should use them only if your application needs a high-performance volume. You can generate a report to show the maximum IOPS that hit your volume. This will give you an indication if you really need this io1 volume. Whenever you can switch to gp2 volume. This will save the IOPS-per-month cost, and gp2 has a lower GB-per-month cost. Anyway, it would be simple to get back to io1 in case the volume traffic increases.
Amazon AWS EBS is a popular and high-performance storage option. It may be challenging to fine-tune EBS to find the right balance between performance and costs. In this article, you have learned the details about EBS service that will help you better manage its costs.