Amazon Elastic Block Storage is a block-level storage device that can be used as virtual disks attached to EC2 instances to provide local server storage. Databases will also utilise EBS volumes of different types based on capacity and IOPS requirements to provide storage. This article, Monitoring and Metrics Exam Tips for EBS provides an overview of core concepts you need to learn for the AWS Certified SysOps Administrator – Associate Exam
Two types of EBS Volumes available are:
- SSD-Backed volumes which are used for high transactional read/write operations with and the key performance attribute is based on IOPS
- HDD-backed volumes are used for streaming workloads and used where throughput is the primary measure of performance
Available Volumes
Solid State Drives (SSD) – These come in two types, namely General Purpose SSB (gp2) or Provisioned IOPS SSD (io1)
- General Purpose SSD (gp2) are used as volumes for a balance of price and performance and can handle a wide range workloads
- Recommend for system boot volumes, virtual desktops, low latency interactive apps and for Dev/Test environments
- Volume Size can be from 1Gib to 16TiB
- Max IOPS is 10,000 per volume
- Max Throughput per Volume is 160 MiB/s
- Dominant performance attribute is IOPS
- Can Burst to 3,000 IOPS for extended periods of time
- Scales linearly between minimum of 100 IOPS to 10,000 IOPS
- Performance is linked to volume size
- Delivers 3 IOPS per 1 GiB of volume size
- With SSD Storage, you get I/O credits that represent the available bandwidth gp2 volumes can use to burst large amounts of I/O when performance greater than the baseline is needed. Each volume is provided with 5.4 million I/O credits, which gives you a maximum burst performance of 3,000 IOPS for 30 minutes. Given that you have can have 3 IOPS per GiB of volume size, a 100Gib Volume will give you 300 IOPS and a 1000GiB Volume will give you 3000 IOPS, which is the maximum for bursts. If you need higher IOPS, you can get up to 10,000 by increasing volume size. So a 2000GiB volume will give you 6000 IOPS.
- The burst duration of a volume is dependent on the size of the volume, the burst IOPS required, and the credit balance when the burst begins.
- If volume performance is frequently limited to the baseline level (due to an empty I/O credit balance), it is recommended to consider using a larger gp2 volume. Alternatively, it is recommended to switch to Provisioned IOPS SSD Storage for workloads that require sustained IOPS performance greater than 10,000 IOPS.
- Provisioned IOPS SSD (io1) are used for mission critical applications like databases
- Application that requires more than 10000 IOPS or more than 160 MiBs of throughput per volume
- Databases like MS SQL, MySQL etc
- Volume Size from 4Gib to 16 TiB
- Max IOPS is 20,000
- Throughput is 320 MiB/s
- With Provisioned IOPS you specify a consistent IOPS rate when you create a volume and Amazon deliver within 10% of the IOPS performance 99.9% of time per year
- The maximum ratio of provisioned IOPS to requested volume size (in GiB) is 50:1. Thus 100GiB volume will get you 5000 IOPS and volumes of 400Gib or higher will get 20,000 IOPS max.
- Throughput of Provisioned IOPS volumes is 256 KiB for each IOPS provisioned, up to a maximum of 320 MiB/s
Hard Disk Drive (HDD) – come in two flavours namely, Throughput Optimized HSS (st1) and Cold HDD (sc1)
- Throughput Optimized HDD (st1) is designed for frequently accessed, throughput-intensive workloads, involving large, sequential I/O
- Streaming workloads that need fast throughput
- Big Data
- Log Processing
- Note – Cannot be Boot Volume
- Volume Size from 500Gib to 16 TiB
- Max IOPS/Volume is 500
- Max Throughput/Volume is 500 MiB/s
- Uses burst-bucket model for performance
- Volume size determines the baseline throughput of your volume, where your volume will accumulate credits and this will determine burst throughput, i.e. the rate at which you can spend credits available. Large volumes have a higher baseline and burst throughput.
- You get 40MiB/s throughput per TiB as Baseline, which then gives you credits and you get up to 1 TiB worth of credits.
- On volume size ranges from 500GiB to 16TiB, baseline throughput varies from 20MiBs to a cap of 500 MiB/s, which is reached at 12.5 TiB
- Important Note – When taking snapshots of a Throughput Optimized HDD (st1) volume, performance may drop to the volume’s baseline value while the snapshot is in progress.
- Cold HDD (sc1) is low-cost HDD designed for less frequently accessed workloads
- Used for lowest storage cost
- Cannot be Boot Volume
- Volume Size from 500 GiB to 16 TiB
- Max IOPS/Volume is 250
- Baseline is set to 12 MiB/s per TiB
- Bursts of 80 MiB/s is provided per TiB. For 1 TiB Burst are limited to 80 MiB/s and the bucket fills with credits at 12MiB/s holding up to 1 TiB worth of credits
- Burst throughput varies from 40 MiB/s to a cap of 250 MiB/s, which is reached at 3.125 TiB
- Magnetic
- Magnetic volumes are suited for workloads where data is accessed infrequently and where low-cost storage for small volume sizes is important. You get 100 IOPS on average, with burst capability of up to hundreds of IOPS, and they can range in size from 1 GiB to 1 TiB
Use CloudWatch to Monitor
- BurstBalance – to get information about the percentage of I/O credits (for gp2) or throughput credits (for st1 and sc1) remaining in the burst bucket
- VolumeReadBytes and VolumeWriteBytes to get a total number of bytes transferred during the period.
- VolumeReadOps and VolumeWriteOps to get a total number of I/O operations in a specified period of time.
- VolumeTotalReadTime and VolumeTotalWriteTime to get total number of seconds spent by all operations that completed in a specified period of time
- VolumeIdleTime to get total number of seconds in a specified period of time when no read or write operations were submitted
- VolumeQueueLength is the number of reads and write operation requests waiting to be completed in a specified period of time
- VolumeThroughputPercentage for Provisioned IOPS SSDs, this gives a percentage of IOPS delivered of the total IOPS provisioned for an Amazon EBS volume.
- VolumeConsumedReadWriteOps gives the total amount of reading and writes operations in 256K capacity units consumed in a specified period of time. I/O operations, which are smaller than 256K each count as 1 consumed IOPS. I/O operations that are larger than 256K are counted in 256K capacity unit
Monitoring Volumes and Status Checks
- You can use CloudWatch to view, analyse and set alarms on operations of volumes
- Data is available at 5-minute intervals at no charge
- Provisioned IOPS (io1) volumes will send one-minute metrics
- You can set the Period request parameter to specify the granularity of the returned data
Volume Status Check Codes
The following table lists statuses for Amazon EBS volumes.
Volume status | I/O enabled status | I/O performance status – For Provisioned IOPS |
ok | Enabled (I/O Enabled or I/O Auto-Enabled) | Normal |
warning | Enabled (I/O Enabled or I/O Auto-Enabled) | Degraded (Volume performance is below expectations)
Severely Degraded (Volume performance is well below expectations) |
impaired | Enabled (I/O Enabled or I/O Auto-Enabled)
Disabled (Volume is offline, pending recovery, or is waiting for the user to enable I/O) |
Stalled (Volume performance is severely impacted)
Not Available (Unable to determine I/O performance because I/O is disabled) |
insufficient-data | Enabled (I/O Enabled or I/O Auto-Enabled)
Insufficient Data |
Insufficient Data |
Key Points to Note:
- Volume status checks are automated tests that run every 5 minutes. You get a Pass or Fail Response
- If Amazon determines that data is inconsistent, the default action is to disable I/O to volume. If it is determined that the volume status check fails, it states it as ‘Impaired’. The Event will be set to I/O disabled. You can then run check your volumes for consistency and determine the state of data
- You can override the default behaviour by configuring the volume to automatically enable I/O using the AutoEnableIO volume attribute
- The I/O performance status check compares actual volume performance to the expected performance of a volume and alerts you if the volume is performing below expectations. This status check is only available for only Provisioned IOPS Volumes (io1).
Important Note – When you initialize an io1 volume restored from a snapshot, the performance of the volume may drop below 50 percent of its expected level, which causes the volume to display a warning state in the I/O Performance status check. This is normal behaviour, and you can ignore the warning state on io1 volumes while you are initializing them.
180 Practice Exam Questions – Get Prepared for your Exam Day!
Our Exam Simulator with 180 practice exam questions comes with comprehensive explanations that will help you prepare for one of the most sought-after IT Certifications of the year. Register Today and start preparing for your AWS Certified SysOps Administrator – Associate Exam.