EBS Optimizer is designed to save you money, while keeping the throughput and IOPS of the initial volume.
It runs every few minutes in your AWS account, and converts any volumes tagged with the key
optimize and value
true. This is what we call
Conversions are transparent to any EC2 instances using these volumes. These instances can keep running as if nothing happened.
If your volumes are not tagged as expected, EBS Optimizer won’t change them. This is useful if you want to do a controlled rollout.
If you want it to convert certain volumes you already have tagged in certain way, you can configure it to use a different tag.
There’s also a configurable
opt-out mode. This will convert all volumes unless tagged with the key
optimize and value
The opt-out mode can be useful if you want to drive conversions at large scale. (once you’re confident enough about how EBS Optimizer works)
Savings are between 8 and 95%, depending on the configuration of your existing volumes:
When converting GP2 volumes to GP3:
- 20% savings for volumes under 170GB. You also get similar and more predictable IOPs and throughput since GP3 has no burst credits.
- 20% savings for volumes over 170GB, when not compensating for IOPS and throughput to match GP2. This will result in lower I/O performance, so only use it if a decrease in performance is acceptable.
- 8-20% for volumes over 170GB when compensating for IOPS and throughput to match GP2.
For IO1 and IO2 volumes savings are between 80-95%.
In all cases, GP3 will get you lower costs, with same throughput and IOPS as the initial volume.
It might seem strange, but you may get increased I/O latency even with the same IOPS and throughput.
This is especially visible for IO1 and IO2 volumes, which are optimized for I/O latency.
For this reason the default configuration disables conversion of IO1 and IO2 volumes. But the savings are massive, so you may still want to convert them if your application is not sensitive to latency.
You can also disable conversion for GP2 volumes where I/O latency is critical. For that just make sure they’re not matching the expected tag, by default
Keep an eye on your application’s performance before and after conversion. If you notice user impact caused by the latency, you can revert to the initial configuration.
EBS Optimizer uses tags to save the previous configuration of the volumes. You can use this to revert the conversion if you notice any performance issues. For now this is a manual process but we may build automation for it later.
EBS Optimizer charges a month worth of savings, so around 8.33% of the savings over an entire year.
This applies for any volumes, including IO1 and IO2, and whether you match performance or not for GP2.
It won’t charge you if you replace a volume with another one with the same hourly savings. This is what we call
savings coverage, and is reset to zero once a year. After a year you get charged again as much as the total monthly savings you have at that time.
If you need to revert a volume:
- The charge will count to your AWS bill
- But the probable increase in savings coverage will cover you for other volumes.
A 100 GB GP2 volume in Virginia costs $10/month.
When converted by EBS Optimizer to GP3 it costs $8/month, saving you 12 x $2 = $24/year.
You’ll get charged the 2$ difference as a conversion fee, for an effective $22 savings per year. ($24 savings – $2 conversion fee)
You may delete and re-create the volume any number of times.
EBS Optimizer won’t charge you again until after a year, when you get charged again the $2 fee.
If you have any questions or need help, please reach out on Slack, we’ll do our best to help you.