AWS EBS Volume Types
- AWS provides the following EBS volume types, which differ in performance characteristics and price and can be tailored for storage performance and cost to the needs of the applications.
- Solid state drives (SSD-backed) volumes optimized for transactional workloads involving frequent read/write operations with small I/O size, where the dominant performance attribute is IOPS
- General Purpose SSD (gp2/gp3)
- Provisioned IOPS SSD (io1/io2/io2 block express)
- Hard disk drives (HDD-backed) volumes optimized for large streaming workloads where throughput (measured in MiB/s) is a better performance measure than IOPS
- Throughput Optimized HDD (st1)
- Cold HDD (sc1)
Magnetic Volumes (standard)(Previous Generation)
EBS Volume Types (New Generation)
Solid state drives (SSD-backed) volumes
General Purpose SSD Volumes (gp2/gp3)
- General Purpose SSD volumes offer cost-effective storage that is ideal for a broad range of workloads.
- General Purpose SSD volumes deliver single-digit millisecond latencies
- General Purpose SSD volumes can range in size from 1 GiB to 16 TiB.
- General Purpose SSD (
gp2
) volumes- has a maximum throughput of 160 MiB/s (at 214 GiB and larger).
- provides a baseline performance of 3 IOPS/GiB
- provides the ability to burst to 3,000 IOPS for extended periods of time for volume size less than 1 TiB and up to a maximum of 16,000 IOPS (at 5,334 GiB).
- If the volume performance is frequently limited to the baseline level (due to an empty I/O credit balance),
- consider using a larger General Purpose SSD volume (with a higher baseline performance level) or
- switching to a Provisioned IOPS SSD volume for workloads that require sustained IOPS performance greater than 16,000 IOPS.
- General Purpose SSD (
gp3
) volumes- deliver a consistent baseline rate of 3,000 IOPS and 125 MiB/s, included with the price of storage.
- additional IOPS (up to 16,000) and throughput (up to 1,000 MiB/s) can be provisioned for an additional cost.
- the maximum ratio of provisioned IOPS to provisioned volume size is 500 IOPS per GiB
- the maximum ratio of provisioned throughput to provisioned IOPS is .25 MiB/s per IOPS.
I/O Credits and Burst Performance
- I/O credits represent the available bandwidth that the General Purpose SSD volume can use to burst large amounts of I/O when more than the baseline performance is needed.
- General Purpose SSD
(gp2)
volume performance is governed by volume size, which dictates the baseline performance level of the volume for e.g. 100 GiB volume has a 300 IOPS @ 3 IOPS/GiB - General Purpose SSD volume size also determines how quickly it accumulates I/O credits for e.g. 100 GiB with a performance of 300 IOPS can accumulate 180K IOPS/10 mins (300 * 60 * 10).
- Larger volumes have higher baseline performance levels and accumulate I/O credits faster for e.g. 1 TiB has a baseline performance of 3000 IOPS
- More credits the volume has for I/O, the more time it can burst beyond its baseline performance level and the better it performs when more performance is needed for e.g. 300 GiB volume with 180K I/O credit can burst @ 3000 IOPS for 1 minute (180K/3000)
- Each volume receives an initial I/O credit balance of 5,400,000 I/O credits, which is enough to sustain the maximum burst performance of 3,000 IOPS for 30 minutes.
- Initial credit balance is designed to provide a fast initial boot cycle for boot volumes and a good bootstrapping experience for other applications.
- Each volume can accumulate I/O credits over a period of time which can be to burst to the required performance level, up to a max of 3,000 IOPS
- Unused I/O credit cannot go beyond 54,00,000 I/O credits.
- Volumes till 1 TiB can burst up to 3000 IOPS over and above its baseline performance
- Volumes larger than 1 TiB have a baseline performance that is already equal to or greater than the maximum burst performance, and their I/O credit balance never depletes.
- Baseline performance cannot be beyond 10000 IOPS for General Purpose SSD volumes and this limit is reached @ 3333 GiB
Baseline Performance
- Formula – 3 IOPS i.e. GiB * 3
- Calculation example
- 1 GiB volume size = 3 IOPS (1 * 3 IOPS)
- 250 GiB volume size = 750 IOPS (250* 3 IOPS)
Maximum burst duration @ 3000 IOPS
- How much time can 5400000 IO credit be sustained @ the burst performance of 3000 IOPS. Subtract the baseline performance from 3000 IOPS which would be contributed by the volume size
- Formula – 5400000/(3000 – Baseline performance)
- Calculation example
- 1 GiB volume size @ 3000 IOPS with 5400000 the burst performance can be maintained for 5400000/(3000-3) = 1802 secs
- 250 GiB volume size @ 3000 IOPS with 5400000 the burst performance can be maintained for 5400000/(3000-3*250) = 2400 secs
Time to fill the 5400000 I/O credit balance
- Formula – 5400000/Baseline performance
- Calculation
- 1 GiB volume size @ 3 IOPS would require 5400000/3 = 1800000 secs
- 250 GiB volume size @ 750 IOPS would require 5400000/750 = 7200 secs
Provisioned IOPS SSD (io1/io2) Volumes
- are designed to meet the needs of I/O intensive workloads, particularly database workloads, that are sensitive to storage performance and consistency in random access I/O throughput.
- IOPS rate can be specified when the volume is created, and EBS delivers within 10% of the provisioned IOPS performance 99.9% of the time over a given year.
- can range in size from 4 GiB to 16 TiB
- have a throughput limit range of 256 KiB for each IOPS provisioned, up to a maximum of
320500 MiB/s (at 32000 IOPS) - can be provision up to
20,00032,00064,000 IOPS per volume. - Ratio of IOPS provisioned to the volume size requested can be a maximum of
3050; e.g., a volume with 5,000 IOPS must be at least 100 GiB. - can be striped together in a RAID configuration for larger size and greater performance over 20000 IOPS
Hard disk drives (HDD-backed) volumes
Throughput Optimized HDD (st1) Volumes
- provide low-cost magnetic storage that defines performance in terms of throughput rather than IOPS.
- is a good fit for large, sequential workloads such as EMR, ETL, data warehouses, and log processing
- do not support Bootable sc1 volumes
- are designed to support frequently accessed data
- uses a burst-bucket model for performance similar to
gp2
. Volume size determines the baseline throughput of the volume, which is the rate at which the volume accumulates throughput credits. Volume size also determines the burst throughput of your volume, which is the rate at which you can spend credits when they are available.
Cold HDD (sc1) Volumes
- provide low-cost magnetic storage that defines performance in terms of throughput rather than IOPS.
- With a lower throughput limit than st1, sc1 is a good fit ideal for large, sequential cold-data workloads.
- ideal for infrequent access to data and are looking to save costs, sc1 provides inexpensive block storage
- do not support Bootable sc1 volumes
- though are similar to Throughput Optimized HDD (st1) volumes, are designed to support infrequently accessed data.
- uses a burst-bucket model for performance similar to gp2. Volume size determines the baseline throughput of the volume, which is the rate at which the volume accumulates throughput credits. Volume size also determines the burst throughput of your volume, which is the rate at which you can spend credits when they are available.
Magnetic Volumes (standard)
Magnetic volumes provide the lowest cost per gigabyte of all EBS volume types. Magnetic volumes are backed by magnetic drives and are ideal for workloads performing sequential reads, workloads where data is accessed infrequently, and scenarios where the lowest storage cost is important.
Magnetic volumes can range in size from1 GiB to 1 TiBThese volumes deliver approximately 100 IOPS on average, with burst capability of up to hundreds of IOPSMagnetic volumes can be striped together in a RAID configuration for larger size and greater performance.
EBS Volume Types (Previous Generation – Reference Only)
AWS Certification Exam Practice Questions
- Questions are collected from Internet and the answers are marked as per my knowledge and understanding (which might differ with yours).
- AWS services are updated everyday and both the answers and questions might be outdated soon, so research accordingly.
- AWS exam questions are not updated to keep up the pace with AWS updates, so even if the underlying feature has changed the question might not be updated
- Open to further feedback, discussion and correction.
- You are designing an enterprise data storage system. Your data management software system requires mountable disks and a real filesystem, so you cannot use S3 for storage. You need persistence, so you will be using AWS EBS Volumes for your system. The system needs as low-cost storage as possible, and access is not frequent or high throughput, and is mostly sequential reads. Which is the most appropriate EBS Volume Type for this scenario?
- gp1
- io1
- standard (Standard or Magnetic volumes are suited for cold workloads where data is infrequently accessed, or scenarios where the lowest storage cost is important)
- gp2
- Which EBS volume type is best for high performance NoSQL cluster deployments?
- io1 (io1 volumes, or Provisioned IOPS (PIOPS) SSDs, are best for: Critical business applications that require sustained IOPS performance, or more than 10,000 IOPS or 160 MiB/s of throughput per volume, like large database workloads, such as MongoDB.)
- gp1
- standard
- gp2
- Provisioned IOPS Costs: you are charged for the IOPS and storage whether or not you use them in a given month.
- FALSE
- TRUE
- A user is trying to create a PIOPS EBS volume with 8 GB size and 450 IOPS. Will AWS create the volume?
- Yes, since the ratio between EBS and IOPS is less than 50
- No, since the PIOPS and EBS size ratio is less than 50
- No, the EBS size is less than 10 GB
- Yes, since PIOPS is higher than 100
- A user has provisioned 2000 IOPS to the EBS volume. The application hosted on that EBS is experiencing fewer IOPS than provisioned. Which of the below mentioned options does not affect the IOPS of the volume?
- The application does not have enough IO for the volume
- Instance is EBS optimized
- The EC2 instance has 10 Gigabit Network connectivity
- Volume size is too large
- A user is trying to create a PIOPS EBS volume with 6000 IOPS and 100 GB size. AWS does not allow the user to create this volume. What is the possible root cause for this?
- The ratio between IOPS and the EBS volume is higher than 50
- The maximum IOPS supported by EBS is 3000
- The ratio between IOPS and the EBS volume is lower than 100
- PIOPS is supported for EBS higher than 500 GB size
Hi
Thanks for your wonderful website.
Please fix this typo :
250 GiB volume size @ 750 IOPS would require 54000000/3 = 7200 secs
It should be 750 in denominator.
Thanks Reza for the feedback, fixed the typo
Hi Jayendra,
The maximum ratio of provisioned IOPS to requested volume size (in GiB) is 50:1
(Ref : http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
Kindly update.
Thanks Bhuvana, will check and update 🙂
Hi Jayendra,
The 50:1 ratio is yet to be updated in 2 questions.
hi Jay ,
Appreciate all your efforts on sharing all these knowledge.
I believe few thing has to be updated in this page,
Provisioned IOPS SSD volume can be provision up to 32,000 IOPS per volume. The ratio of IOPS provisioned to the volume size requested can be a maximum of 50;
Also there are other volume types ST1 and SC1
Hi Naveen, thats right … the limits do change quite frequently for AWS.
It is 64000 now.
Limits are being changed really frequently – We cannot keep our knowledge up to date 🙂
There is a correction here:
It is like this:
Unused I/O credit cannot go beyond 54,00,000 I/O credits.
Should have been:
Unused I/O credit cannot go beyond 5,400,000 I/O credits.
The max limit is the same the initial I/O credit.
difference in the comma, its the same number ?
Current Line:
250 GiB volume size @ 3000 IOPS with 5400000 the burst performance can be maintained for 5400000/(3000-250) = 2400 secs
Should have been:
250 GiB volume size @ 3000 IOPS with 5400000 the burst performance can be maintained for 5400000/(3000-3*250) = 2400 secs
Answer 2400 is correct.
Instead of 250 it is 3*250 or 750.
thanks Pradeep, corrected the same.
Are these calculations really required when goin for the exam CSAA ? ..
not really … but the credits is a good concept to understand with the numbers ….
Hi Jeyandra,
Your blog really good..Recently they updated The ratio between IOPS and the EBS volume is 50 from 30. Is this effect in Feb 2018 released CSAA exam. Else i should go with 30. Please confirm soon…I have scheduled exam on coming monday..
Haven’t seem questions for IOPS calculation is Feb 2018. But anyways you should go for 50.
Is the question number 6 correct. User will be allowed rite as 4000/100 =40 IOPS/GB is allowed.
The old limit was 30 which has been increased to 50 now. So the questions is a bit outdated.
Just wanted to thank for the efforts you are taking to share the knowledge and keep it up-to-date. Concept of I/O Credit and burst duration is explained quite succinctly!!
Thanks AV, glad it helped.
How important understanding this number very well for Sys-Ops Associate exam updated?
Is Sys-Ops associate exam tough for novice to AWS?
Planning on taking exam in month with dedicated study.
The numbers don’t come in the exam.
You need to have good preparation for all the associate exams. If you have the concepts clear, it should be easy to clear the exam.
For SysOps refer https://jayendrapatil.com/aws-certified-sysops-administrator-associate-soa-c01-exam-learning-path/
Thank you!
Concepts are understandable. But remembering all the specification IOPs and throughput is hard.
With the help of your blogs I could understand what is special about each service and type of that service. And why should we use that specific one.
I think the only key here is 10000 IOPS which is the limit for General Purpose SSD and it can’t scale beyond it.
Jayendra, Question 6 still holds true with ratio = 30? Somewhere i read the Provisioned IOPS ratio = IOPS/Volume <= 50. So higher than 30 but less than 50
A user is trying to create a PIOPS EBS volume with 4000 IOPS and 100 GB size. AWS does not allow the user to create this volume. What is the possible root cause for this?
The ratio between IOPS and the EBS volume is higher than 30
Yup the limits are a bit old now. The current ratio is 50
Jayendra,
I am still not very clear about above Burst concept, what it is and why it’s needed?
Can you please elaborate on it?
thanks
Burst helps you handle workloads which have constant workload mostly but need to handle spike load. With burst, you earn credits for the period you do not use them, till a max is reached. The accumulated credit can be used when the peak load comes.
Q1.What happens when AWS provisioned IOPS volume crosses its limit?
Q2.Do aws provisioned IOPS volume also refills credits like gp2, when it is running below baseline performance?
It is throttled and cannot exceed max. Only GP2 T2 provides credit accumulation.
Baseline performance cannot be beyond 10000 IOPS for General Purpose SSD volumes and this limit is reached @ 3333 GiB.
This has been increased to 16000 IOPS limited # 5334 GiB.
Could you please check and update the content.
Thanks Sivag, would be updating the content as the limits have increased.
Hi,
The Max IOPS per volume needs to be updated as per https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volume-types.html.
For e.g. gp2 has max IOPS of 16,000 now.
Regards
Thanks Pinaki, the limits have been updated. Will update the post.
You link this in SAA-C02 path, but you don’t keep the information up to date – please update the numbers to reflect current values (e.g. IOPS) https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volume-types.html
thanks tymik, AWS upgrades it services and limits quite frequently. Also, with the newer exams you will never be tested on the limits.
Hi,
For Q6, 100 GB EBS Volume Size with 4000 IOPS is possible and allowed by AWS, if we use provisioned IO1 EBS type we can get maximum of 5000 IOPS for 100 GB volume size as for IO1 50 IOPS/GB are allowed.
Hi Akshay, the max IOPS has been increased from 30 to 50 IOPS/GB now. I have updated the question.