Skip to content

chore(ec2): increase gp3 ebs volume iops and throughput limits#36074

Merged
mergify[bot] merged 4 commits intoaws:mainfrom
newlinedeveloper:feat/ec2-gp3-volume-limit-updates
Nov 18, 2025
Merged

chore(ec2): increase gp3 ebs volume iops and throughput limits#36074
mergify[bot] merged 4 commits intoaws:mainfrom
newlinedeveloper:feat/ec2-gp3-volume-limit-updates

Conversation

@newlinedeveloper
Copy link
Copy Markdown
Contributor

Issue

Closes #36014

Reason for this change

AWS recently announced increased limits for GP3 EBS volumes:

  • IOPS: increased from 16,000 to 80,000
  • Throughput: increased from 1,000 MiB/s to 2,000 MiB/s

The CDK currently has hardcoded validation limits that prevent users from configuring GP3 volumes with these new higher limits, even though AWS now supports them.

Description of changes

Updated hardcoded validation limits for GP3 EBS volumes across the CDK codebase:

Core validation updates:

  • packages/aws-cdk-lib/aws-ec2/lib/volume.ts: Updated IOPS range (16,000 → 80,000) and throughput range (1,000 → 2,000)
  • packages/aws-cdk-lib/aws-ec2/lib/private/ebs-util.ts: Updated throughput validation (1,000 → 2,000)
  • packages/aws-cdk-lib/aws-ecs/lib/base/service-managed-volume.ts: Updated IOPS and throughput limits for ECS service-managed volumes
  • packages/aws-cdk-lib/aws-autoscaling/lib/auto-scaling-group.ts: Updated throughput range for Auto Scaling Group block devices
  • packages/aws-cdk-lib/aws-autoscaling/lib/volume.ts: Updated JSDoc comments

Documentation updates:

  • packages/aws-cdk-lib/aws-ec2/README.md: Updated throughput range documentation

Test updates:

  • Updated unit tests in volume.test.ts, launch-template.test.ts, fargate-service.test.ts, and auto-scaling-group.test.ts to reflect new limits
  • Created integration test integ.volume-gp3-max-limits.ts to validate the new maximum limits

Describe any new or updated permissions being added

No new permissions required. This change only updates validation limits and does not introduce new functionality or IAM permissions.

Description of how you validated changes

Unit Tests:

  • Updated all existing unit tests to validate the new limits (80,000 IOPS, 2,000 MiB/s throughput)
  • Verified error messages correctly reflect the new maximum values
  • All unit tests pass successfully

Integration Test:

  • Created integration test integ.volume-gp3-max-limits.ts that tests:
    • GP3 volume with maximum throughput (2,000 MiB/s) and minimum required IOPS (8,000)
    • GP3 volume with maximum IOPS (80,000) and default throughput
    • GP3 volume with both maximum throughput and IOPS combined

Manual Verification:

  • Verified that volumes can be synthesized with the new maximum values
  • Confirmed validation correctly rejects values above the new limits
  • Tested that existing volumes with lower values continue to work

Checklist


By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license

@github-actions github-actions bot added effort/small Small work item – less than a day of effort feature-request A feature should be added or improved. beginning-contributor [Pilot] contributed between 0-2 PRs to the CDK p2 labels Nov 15, 2025
@aws-cdk-automation aws-cdk-automation requested a review from a team November 15, 2025 10:39
Copy link
Copy Markdown
Collaborator

@aws-cdk-automation aws-cdk-automation left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(This review is outdated)

@newlinedeveloper
Copy link
Copy Markdown
Contributor Author

Exemption Request

This PR updates hardcoded validation limits for GP3 EBS volumes to match AWS's
recently announced higher limits (IOPS: 16,000→80,000, Throughput: 1,000→2,000).
This is a simple constant update that doesn't change functionality, only allows
higher values that AWS now supports. The change is straightforward and has been
thoroughly tested with unit tests.

@ozelalisen ozelalisen self-assigned this Nov 17, 2025
@ozelalisen ozelalisen removed the pr-linter/exemption-requested The contributor has requested an exemption to the PR Linter feedback. label Nov 17, 2025
@ozelalisen ozelalisen changed the title feat(ec2): increase gp3 ebs volume iops and throughput limits chore(ec2): increase gp3 ebs volume iops and throughput limits Nov 17, 2025
@aws-cdk-automation aws-cdk-automation dismissed their stale review November 17, 2025 16:25

✅ Updated pull request passes all PRLinter validations. Dismissing previous PRLinter review.

@mergify mergify bot dismissed ozelalisen’s stale review November 18, 2025 02:04

Pull request has been modified.

@aws-cdk-automation aws-cdk-automation added the pr/needs-community-review This PR needs a review from a Trusted Community Member or Core Team Member. label Nov 18, 2025
@newlinedeveloper
Copy link
Copy Markdown
Contributor Author

Hi @ozelalisen and @pahud , Please review this PR. Thanks

@mergify
Copy link
Copy Markdown
Contributor

mergify bot commented Nov 18, 2025

Thank you for contributing! Your pull request will be updated from main and then merged automatically (do not update manually, and be sure to allow changes to be pushed to your fork).

@mergify mergify bot merged commit c6881e9 into aws:main Nov 18, 2025
29 of 30 checks passed
@github-actions
Copy link
Copy Markdown
Contributor

Comments on closed issues and PRs are hard for our team to see.
If you need help, please open a new issue that references this one.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Nov 18, 2025
@aws-cdk-automation aws-cdk-automation removed the pr/needs-community-review This PR needs a review from a Trusted Community Member or Core Team Member. label Nov 18, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

beginning-contributor [Pilot] contributed between 0-2 PRs to the CDK effort/small Small work item – less than a day of effort feature-request A feature should be added or improved. p2

Projects

None yet

Development

Successfully merging this pull request may close these issues.

aws-ec2: update ebs gp3 iops and throughput limits

3 participants