If you’re familiar with Amazon EC2, you’ve likely come across Amazon Elastic Block Store (EBS), a core storage service within AWS, alongside S3 and EFS. EBS provides block-level storage that can be attached to EC2 instances, offering persistent storage beyond the instance’s lifecycle.
Unlike the temporary instance store that comes with EC2, EBS volumes preserve data even when an instance is stopped or terminated, and can be reattached to other instances as needed. This makes EBS a reliable choice for long-term data storage and flexible infrastructure.
EBS volumes come in different types, but the most common general-purpose options are SSD-backed GP2 and GP3 volumes. GP3, introduced in December 2020, is the newer generation, promising better performance and cost efficiency. But is it always the best choice over GP2?
In this article, we’ll explore the key differences in performance and pricing between GP2 vs GP3, and guide you through the process of migrating existing GP2 volumes to GP3, if you decide to upgrade. Understanding EBS’s advantages—persistent storage, high availability, encryption, and suitability for high-IOPS workloads—will help you optimize your cloud infrastructure.
What Are GP2 and GP3 Volumes?
Before diving into the comparison, it’s essential to understand what GP2 and GP3 volumes are and what they’re designed for.
- GP2 Volumes: Introduced in 2014, GP2 (General Purpose SSD) volumes have been a staple for AWS users looking for a balance between performance and cost. GP2 volumes provide baseline performance with a burst capability. The performance scales linearly with the size of the volume, meaning that larger volumes offer higher IOPS (Input/Output Operations Per Second) and throughput.
- GP3 Volumes: Launched in December 2020, GP3 is the next generation of general-purpose SSD volumes. The most significant upgrade with GP3 is that performance—IOPS and throughput—can be provisioned independently of storage capacity. This change allows users to achieve higher performance without having to increase the volume size, offering both flexibility and cost savings.
IOPS, Throughput, Latency explanation
Before diving into the specific differences between GP2 and GP3, it’s important to understand the three key metrics that define storage performance: IOPS, throughput, and latency.
- IOPS (Input/Output Operations Per Second): IOPS is a measure of the number of read and write operations a storage volume can handle per second. Higher IOPS means better performance for applications that require frequent data access, such as databases or transactional systems. IOPS is particularly critical for workloads with a high volume of small, random I/O operations, such as NoSQL databases or virtual desktop infrastructure (VDI).
- Throughput: Throughput measures the amount of data that can be read from or written to a storage volume per second, typically measured in MiB/s (megabytes per second). Throughput is an important metric for workloads that require moving large amounts of data sequentially, such as data analytics, streaming, and backup operations. High throughput ensures faster data processing for these types of applications.
- Latency: Latency refers to the time it takes for a single data request to be completed, from the moment it is initiated until it is fulfilled. Lower latency results in faster response times, which is crucial for applications that require real-time data access, such as e-commerce websites, financial trading platforms, or interactive gaming.
For further illustrated explanation, refer to this video: https://www.youtube.com/watch?v=HovW_gov6Qc&ab_channel=JohnSavill%27sTechnicalTraining
Comparing GP2 vs GP3 table
Here is a comparison table between GP2 and GP3 volumes. All the rows will be explained later in the blog post.
Feature | GP2 (General Purpose SSD) | GP3 (General Purpose SSD) |
---|---|---|
Pricing (depend of regions) | $0.10 per GiB per month | $0.08 per GiB per month |
IOPS | 3 IOPS per GiB (minimum 100 IOPS, maximum 16,000 IOPS) | Baseline 3,000 IOPS; up to 16,000 IOPS can be provisioned independently |
Volume Size for Max IOPS | Minimum 5.33 TiB for 16,000 IOPS | Minimum 32 GiB for 16,000 IOPS |
Throughput | Up to 250 MiB/s | Baseline 125 MiB/s. Up to 1,000 MiB/s |
Volume Size for Max Throughput | Minimum 334 GiB for 250 MiB/s | Minimum 8 GiB for 1,000 MiB/s |
Performance Scaling | Performance scales with volume size | Performance (IOPS and throughput) can be provisioned independently of volume size |
Burst Capability | Can burst up to 3,000 IOPS for volumes under 1 TiB | No burst; consistent IOPS and throughput based on provisioning |
Use Cases | General-purpose workloads, development environments, boot volumes | High-performance databases, big data analytics, machine learning, cost-sensitive workloads |
Cost Efficiency | Higher cost due to volume size requirements for high performance | More cost-effective for high-performance workloads due to decoupled performance and storage |
Migration to GP3 | N/A | Simple migration from GP2 using the “Modify Volume” option in AWS Management Console |
This table provides a clear and concise comparison of GP2 and GP3, highlighting key differences in performance, pricing, and use cases.
Performance Differences: GP2 vs GP3
Performance is often the deciding factor when choosing between GP2 and GP3 volumes. Here’s how they stack up:
IOPS Comparison:
- GP2: Offers baseline performance of 3 IOPS per GiB with a minimum of 100 IOPS and a maximum of 16,000 IOPS for volumes up to 5,334 GiB. Larger volumes will provide higher IOPS. Burst performance is possible, but it is dependent on the size of the volume.
- GP3: Provides a consistent baseline performance of 3,000 IOPS, which can be provisioned up to 16,000 IOPS independently of the volume size. This means even a smaller GP3 volume can offer the same high performance as a much larger GP2 volume.
Throughput Differences:
- GP2: Throughput scales with the size of the volume, with a maximum of 250 MiB/s. To reach the maximum throughput of 250 MiB/s, a volume size of 334 GiB or more is required.
- GP3: Offers up to 1,000 MiB/s of throughput, which, like IOPS, can be provisioned independently of volume size. This flexibility allows for high throughput on smaller volumes.
Latency Considerations:
- Both GP2 and GP3 provide low latency, suitable for most general-purpose workloads. However, GP3’s ability to provision performance separately from capacity often leads to more predictable and optimized performance outcomes.
In a nutshell, with GP3, you can achieve maximum performance (16,000 IOPS) with a volume size of just 32 GiB. In contrast, reaching the same performance with GP2 requires a much larger volume of at least 5.33 TiB. For maximum throughput, GP3 delivers up to 1,000 MiB/s with a volume size of just 8 GiB, while GP2 provides a maximum throughput of 250 MiB/s, requiring a minimum volume size of 334 GiB.
GP3 enables you to maintain high performance without the need to provision larger volumes.
Cost Differences: GP2 vs. GP3
Prices vary by region and there are certain regions that don’t offer GP3. However, even if prices are different the margin between GP2 and GP3 across regions is equivalent (20%).
Cost is a significant factor in choosing between GP2 and GP3 volumes. Let’s break down the pricing structures:
- GP2 Pricing:
- Priced at $0.10 per GiB per month.
- IOPS and throughput are included in the storage cost, but you need to increase the volume size to improve performance.
- GP3 Pricing:
- Priced at $0.08 per GiB per month—20% less than GP2.
- Provisioned IOPS above 3,000 and additional throughput above 125 MiB/s are charged separately, but the overall cost is still often lower than GP2 when considering high-performance needs.
- Cost Efficiency:
- For workloads requiring high IOPS and throughput, GP3 offers significant cost savings. Since you don’t need to scale the volume size to achieve higher performance, you’re only paying for the resources you need.
If you want a very detail explanation of the pricing comparison between GP2 and GP3, I highly recommend this blog post that goes deep into the details: https://www.saisci.com/aws/gp2-vs-gp3-cost-comparison-ebs-volumes/
Key Benefits of Switching from GP2 to GP3
Switching from GP2 to GP3 can offer several advantages, particularly for users looking to optimize both performance and cost:
- Increased Performance at a Lower Cost: With GP3, users get 20% lower storage costs and can provision IOPS and throughput independently. This flexibility allows for tailored performance without unnecessary costs.
- Provisioning Flexibility: Unlike GP2, where performance is tied to volume size, GP3 lets users scale IOPS and throughput independently. This feature is especially beneficial for dynamic workloads that need scalable performance without increased storage.
- Enhanced Cost Management: With GP3, companies have more granular control over performance provisioning, which can lead to better cost management. This capability is ideal for teams looking to optimize their AWS spend.
- Improved Scalability: As workloads evolve, GP3’s decoupled performance metrics allow for easier scaling. You can adjust IOPS and throughput based on real-time needs without downtime or volume resizing.
Limitations and Considerations
While GP3 generally offers superior performance and cost benefits, there are scenarios where GP2 may still be a viable option:
- Simple, Low-Performance Workloads: If your workload has minimal performance requirements and you don’t need to provision high IOPS or throughput, GP2 might still be cost-effective.
- Burst Requirements: GP2 offers burst capabilities based on volume size that may be advantageous for short, intense workloads where you don’t want to pay for consistently high performance.
- Existing Infrastructure and Inertia: Organizations already deeply invested in GP2 with optimized workloads and cost management practices may not find immediate benefits from switching.
Migration Tips: Moving from GP2 to GP3
Migrating from GP2 to GP3 is straightforward, but there are a few steps to consider:
1- Find and identify your GP2 volumes: For this we recommend that you use an infrastructure discovery and cost visibility platform such as Holori. It lets you identify all your GP2 volumes at a glance across accounts and regions.
2- Evaluate Your Current Workloads: Before migrating, assess your workloads to determine the appropriate IOPS and throughput requirements. Use AWS Cost Explorer or third party tooling like Holori to understand your current costs and forecast savings with GP3.
3- Modify Volume Types: In the AWS Management Console, navigate to the “Elastic Block Store” section, select the GP2 volume you wish to modify, and choose “Modify Volume.” From here, select “GP3” as the volume type and configure the desired IOPS and throughput settings.
4- Monitor and Adjust: After migrating, monitor your new GP3 volumes to ensure they’re meeting cost and performance expectations. Adjust IOPS and throughput as needed without resizing volumes.
5- Use AWS Tools for Automation: Consider using AWS CloudFormation, or the CLI to automate volume modifications, especially if you are migrating a large number of volumes.
Conclusion
Choosing between GP2 and GP3 volumes on AWS depends on your workload requirements, performance needs, and budget. GP2 volumes are a reliable choice for low to moderate performance needs, but GP3 volumes clearly offer more flexibility, better performance, and cost efficiency for most scenarios. With GP3’s decoupled performance from storage capacity, users can fine-tune their environments to achieve optimal performance without overpaying for unnecessary storage. For most enterprises, especially those seeking to reduce costs while maximizing performance, switching from GP2 to GP3 is a wise move.
With Holori we are happy to help you in migrating from GP2 to GP3. We offer a 14 days free trial to get you started. Signup now!