AWS EBS Volume Types
- AWS provides the following EBS volume types, which differ in performance characteristics and price which can be tailored for storage performance and cost to the needs of the applications:
- General Purpose SSD Volumes (gp2)
- Provisioned IOPS SSD Volumes (io1)
- Magnetic Volumes (standard)
General Purpose SSD Volumes (gp2)
- 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 volumes has a maximum throughput of 160 MiB/s (at 214 GiB and larger).
- GP2 provides a baseline performance of 3 IOPS/GiB
- GP2 provides the ability to burst to 3,000 IOPS for extended periods of time for volume size less then 1 TiB and up to a maximum of 10,000 IOPS (at 3,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 10,000 IOPS.
I/O Credits and Burst Performance
- I/O credits represent the available bandwidth that your General Purpose SSD volume can use to burst large amounts of I/O when more than the baseline performance is needed.
- General Purpose SSD 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 an above its baseline performance
- Volumes larger than 1 TiB have a baseline performance that is already equal 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
- 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-250) = 2400 secs
Time to fill the 5400000 I/O credit balance
- Formula – 5400000/Baseline performance
- 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 Volumes
- Provisioned IOPS SSD 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 percent of the provisioned IOPS performance 99.9 percent of the time over a given year.
- Provisioned IOPS SSD volume can range in size from 4 GiB to 16 TiB
- Provisioned IOPS SSD volumes have a throughput limit range of 256 KiB for each IOPS provisioned, up to a maximum of 320 MiB/s (at 1,280 IOPS).
- Provisioned IOPS SSD volume can be provision up to 20,000 IOPS per volume. The ratio of IOPS provisioned to the volume size requested can be a maximum of 30; for example, a volume with 3,000 IOPS must be at least 100 GiB.
- Provisioned IOPS SSD volumes can be striped together in a RAID configuration for larger size and greater performance over 20000 IOPS
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 TiB
- These volumes deliver approximately 100 IOPS on average, with burst capability of up to hundreds of IOPS
- Magnetic volumes can be striped together in a RAID configuration for larger size and greater performance.
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?
- standard (Standard or Magnetic volumes are suited for cold workloads where data is infrequently accessed, or scenarios where the lowest storage cost is important)
- 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.)
- Provisioned IOPS Costs: you are charged for the IOPS and storage whether or not you use them in a given month.
- A user is trying to create a PIOPS EBS volume with 8 GB size and 200 IOPS. Will AWS create the volume?
- Yes, since the ratio between EBS and IOPS is less than 30
- No, since the PIOPS and EBS size ratio is less than 30
- 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 less 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 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
- The maximum IOPS supported by EBS is 3000
- The ratio between IOPS and the EBS volume is lower than 50
- PIOPS is supported for EBS higher than 500 GB size