If you do not manage it correctly, the cost of Amazon Elastic Block Store (Amazon EBS) can have a significant impact on your AWS spend. This high-performance block storage service is designed for use with Amazon Elastic Compute Cloud (Amazon EC2) for both throughput- and transaction-intensive workloads at any scale. It’s essential to manage Amazon EC2 instances effectively to avoid the cost of unused or overprovisioned Amazon EBS volumes.

There are three critical signs that you’re overspending on Amazon EBS due to unused and overprovisioned Amazon EBS volumes:

  1. Low utilization of I/O when Provisioned IOPS is the option being used.
  2. An Amazon EBS volume left running when you stop an Amazon EC2 instance for a long time.
  3. An Amazon EBS volume running on its own, not attached to an Amazon EC2 instance.

When talking with our nOps customers, we’ve noticed that some of them do not pay attention to the hidden cost of unused and overprovisioned Amazon EBS volumes. This cost can initially look insignificant, but over time the amount can ramp up to hundreds or thousands of dollars a month. We help our customers use nOps rules to identify unused and overprovisioned Amazon EBS volumes and take action to eliminate this overspending before it happens.

Amazon EBS volumes are at the core of Amazon EC2 instances because this is where all the information of an operating system is stored. Without an Amazon EBS volume, an Amazon EC2 instance cannot perform its functions effectively.

Choosing the right Amazon EBS volume for your workload

There are four types of Amazon EBS volumes. To determine the right type, consider your workload requirements, such as low-latency and throughput performance. There are two volume types for solid-state drives (SSDs) and two types for hard disk drives (HDDs):

  • For SSDs:

    • EBS General Purpose SSD (gp2) – The default volume type, designed for basic usage across a wide variety of transactional workloads, like boot volumes, low-latency interactive apps, dev, and test.
    • Provisioned IOPS (io1) – A high-performance volume designed for latency-sensitive transactional workloads such as I/O-intensive NoSQL and relational databases like MongoDB, Cassandra, Microsoft SQL Server, MySQL, PostgreSQL, and Oracle. Io1 volumes (at $0.125/GB-month plus $0.065/provisioned IOPS) cost more than gp2 volumes (at $0.10/GB-month) because the IOPS (Input Output Per Second) of the volume can be configured and IOPS is allocated based on the size of the Amazon EBS volume that is being provisioned.
  • For HDDs:

    • Throughput Optimized HDD (st1) – A low-cost volume designed for frequently accessed throughput-intensive workloads, such as streaming workloads, big data, log processing, and data warehousing solutions. HDDs are less expensive than SDDs in terms of dollar per gigabyte.
    • Cold HDD volume (sc1) – It is the lowest-cost HDD volume, designed for less frequently accessed workloads and systems where latency is not a problem in terms of retrieval time. It is ideal for archiving solutions where the application and the files reside in one server.

In many cases, our customers attach more than one Amazon EBS volume to an Amazon EC2 instance for architectural purposes. Sometimes they use a combination of the different types of Amazon EBS volumes mentioned above, such as using gp2 for the boot volume and io2 for the database data directory, or using gp2 as a boot volume and sc1 for archiving solutions that store files used by the archiving software.

Beware of this “gotcha:” Having multiple volumes can be a problem when managing cost if you don’t know which volumes are in use and which are overprovisioned. Both Amazon EC2 instances and Amazon EBS volumes have a cost attached to them.

nOps helps you detect the three signs that you’re overspending on Amazon EBS volumes

Using the nOps volumes rules, you can identify the Amazon EBS volumes that are driving up costs without bringing direct value to your infrastructure and then take action to right-size your infrastructure.

To use nOps to detect the three signs that you are incurring unnecessary Amazon EBS volumes costs, take the following steps:

  1. Low utilization of I/O when Provisioned IOPS is the option being used.

    1. Sign up to get an nOps account.
    2. Integrate your nOps account with your AWS account, so that you can obtain data for insights.
    3. On the main dashboard, click on Rules > nOps Rules.
    4. Click on the Cost tab to view information on your AWS Account.
    5. Under the list of resources, you will find a line item that states the number of Amazon EC2 instances that have very low traffic.
    6. That line item shows the EBS Volume with underutilized IOPs. Click on that line item to see the resources and more details.
    7. You will then see the Name, IP Address, and the instance types of the EC2 instances that have low network utilization. This table also shows you the estimated cost that can be saved from shutting down these resources.
  2. An Amazon EBS volume left running when you stop an Amazon EC2 instance for a long time.

    1. To avoid this situation, I recommend creating a snapshot of the Amazon EC2 instance and terminating the Amazon EBS volumes.
    2. If you already have your account integrated, click on Rules > nOps Rules on the main dashboard.
    3. Click on the Cost tab to view information on your AWS Account.
    4. Under the list of resources, you will find a line item that indicates the EBS volumes left running.
    5. Click on that line item to see details on unused resources. You will have an option to view Unattached EBS or Stopped. Click on the Stopped tab to see stopped instances.
  3. An Amazon EBS volume running on its own, not attached to an Amazon EC2 instance.

    1. If you already have your account integrated, click on Rules > nOps Rules on the main dashboard.
    2. Click on the Cost tab to view information on your AWS Account.
    3. Under the list of resources, you will find a line item that indicates the EBS volumes left running.
    4. Click on that line item to see details on unused resources. You will have an option to view Unattached EBS or Stopped. Click on the Stopped tab to see stopped instances. Click Unattached EBS and you will see the instances that are not attached.

Frequently Asked Questions

Q: What is an Amazon EBS volume?

A: An Amazon EBS volume is a durable, block-level storage device that you can attach to one or more instances, commonly used as primary storage for data that requires frequent updates or for throughput-intensive applications that perform continuous disk scans.

Q: What are the benefits of Amazon EBS volumes?

A: The benefits are data availability, data persistence (it can persist independently from the life of an instance), data encryption, the ability to create snapshots (backups) of any EBS volume and write a copy of the data in the volume to Amazon S3, and the ability to modify volume type, volume size, and IOPS capacity without service interruptions.

Q: What causes unattached (orphaned) Amazon EBS volumes?

A: When an Amazon EC2 instance associated with an Amazon EBS volume is terminated, the Amazon EBS volume persists unless you select the Delete on Termination option at launch. Instances spun up and down as part of dev and test cycles may leave orphaned Amazon EBS volumes if there are no workflows in use to delete them automatically. Orphaned EBS volumes accrue charges while unattached.

In conclusion

To better manage your AWS costs, it’s critical to monitor and eliminate unused or overprovisioned Amazon EBS volumes. nOps cloud management platform provides you with visibility to CPU utilization patterns and will send you real-time notifications to help you right-size your infrastructure to better manage costs.

Want to start gaining sharper visibility to unused or overprovisioned Amazon EBS volumes and see how much you can save? Click here to get started with a free 14-day trial of nOps (or click here to sign into nOps if you’re already a user) and review unused or overprovisioned Amazon EBS volumes in your account.