- Newest
- Most votes
- Most comments
TL; DR - there is no SLA for IOPS. The EBS SLA is for availability, and the SLA is not relevant for a single EBS volume.
Please refer to the Compute SLA https://aws.amazon.com/compute/sla/ which states that..
“Unavailable” and “Unavailability” mean:
For the Region-Level SLA applicable to Amazon EBS, when all of your attached volumes deployed in two or more AZs in the same AWS region (or, if there is only one AZ in the AWS region, that AZ and an AZ in another AWS region) perform zero read write IO, with pending IO in the queue.
This document https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volume-types.html states that..
AWS designs gp2 volumes to deliver their provisioned performance 99% of the time.
and
Provisioned IOPS SSD volumes use a consistent IOPS rate, which you specify when you create the volume, and Amazon EBS delivers the provisioned performance 99.9 percent of the time.
Practically speaking, a gp2 volume can provide 1 IOPS (by definition still available, since the definition of unavailable is "zero read write IO") for up to 7 hours in a month (1% of 730 hours) and still meet design parameters. An io1 volume, meanwhile, could display IOPS reduction for up to 0.73 hours in a month and still meet the design parameters.
Also note that the statement on ".. provisioned performance 99% of the time" is with respect to the 3 IOPS per GB. The 3000 IOPS burst has no such statement.
If you need better IOPS consistency then io1 is an option, you must weigh the cost of this versus the IOPS that your application requires.
A cheaper work-around is to over-provision your gp2 storage, giving you more provisioned IOPS (and generally the cost would still be lower than using io1). You may want to provision 500GB of storage.
Relevant content
- Accepted Answerasked 2 years ago
- asked 2 years ago
- asked a year ago
- asked 10 months ago
- AWS OFFICIALUpdated 8 months ago
- AWS OFFICIALUpdated 2 years ago
- AWS OFFICIALUpdated 2 years ago
- AWS OFFICIALUpdated 2 years ago