Commit c6881e9
authored
chore(ec2): increase gp3 ebs volume iops and throughput limits (#36074)
### 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
- [x] My code adheres to the [CONTRIBUTING GUIDE](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) and [DESIGN GUIDELINES](https://github.com/aws/aws-cdk/blob/main/docs/DESIGN_GUIDELINES.md)
- [x] Unit tests updated and passing
- [x] Integration test created
- [x] Documentation updated
- [x] JSDoc comments updated
---
*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*1 parent 21fd959 commit c6881e9
File tree
10 files changed
+40
-62
lines changed- packages/aws-cdk-lib
- aws-autoscaling
- lib
- test
- aws-ec2
- lib
- private
- test
- aws-ecs
- lib/base
- test/fargate
10 files changed
+40
-62
lines changedLines changed: 1 addition & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
2 | 1 | | |
3 | 2 | | |
4 | 3 | | |
| |||
2610 | 2609 | | |
2611 | 2610 | | |
2612 | 2611 | | |
2613 | | - | |
| 2612 | + | |
2614 | 2613 | | |
2615 | 2614 | | |
2616 | 2615 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
71 | 71 | | |
72 | 72 | | |
73 | 73 | | |
74 | | - | |
| 74 | + | |
75 | 75 | | |
76 | 76 | | |
77 | 77 | | |
| |||
Lines changed: 2 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1170 | 1170 | | |
1171 | 1171 | | |
1172 | 1172 | | |
1173 | | - | |
| 1173 | + | |
1174 | 1174 | | |
1175 | 1175 | | |
1176 | 1176 | | |
| |||
1188 | 1188 | | |
1189 | 1189 | | |
1190 | 1190 | | |
1191 | | - | |
| 1191 | + | |
1192 | 1192 | | |
1193 | 1193 | | |
1194 | 1194 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1907 | 1907 | | |
1908 | 1908 | | |
1909 | 1909 | | |
1910 | | - | |
| 1910 | + | |
1911 | 1911 | | |
1912 | 1912 | | |
1913 | 1913 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
43 | 43 | | |
44 | 44 | | |
45 | 45 | | |
46 | | - | |
47 | | - | |
| 46 | + | |
| 47 | + | |
48 | 48 | | |
49 | 49 | | |
50 | 50 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
88 | 88 | | |
89 | 89 | | |
90 | 90 | | |
91 | | - | |
| 91 | + | |
92 | 92 | | |
93 | 93 | | |
94 | 94 | | |
| |||
475 | 475 | | |
476 | 476 | | |
477 | 477 | | |
478 | | - | |
| 478 | + | |
479 | 479 | | |
480 | 480 | | |
481 | 481 | | |
| |||
756 | 756 | | |
757 | 757 | | |
758 | 758 | | |
759 | | - | |
| 759 | + | |
760 | 760 | | |
761 | 761 | | |
762 | 762 | | |
| |||
818 | 818 | | |
819 | 819 | | |
820 | 820 | | |
821 | | - | |
| 821 | + | |
822 | 822 | | |
823 | 823 | | |
824 | 824 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
408 | 408 | | |
409 | 409 | | |
410 | 410 | | |
411 | | - | |
| 411 | + | |
412 | 412 | | |
413 | 413 | | |
414 | 414 | | |
| |||
419 | 419 | | |
420 | 420 | | |
421 | 421 | | |
422 | | - | |
| 422 | + | |
423 | 423 | | |
424 | 424 | | |
425 | 425 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1297 | 1297 | | |
1298 | 1298 | | |
1299 | 1299 | | |
1300 | | - | |
| 1300 | + | |
1301 | 1301 | | |
1302 | 1302 | | |
1303 | 1303 | | |
| |||
1475 | 1475 | | |
1476 | 1476 | | |
1477 | 1477 | | |
1478 | | - | |
| 1478 | + | |
1479 | 1479 | | |
1480 | 1480 | | |
1481 | 1481 | | |
| |||
1484 | 1484 | | |
1485 | 1485 | | |
1486 | 1486 | | |
1487 | | - | |
| 1487 | + | |
1488 | 1488 | | |
1489 | 1489 | | |
1490 | 1490 | | |
| |||
Lines changed: 3 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
301 | 301 | | |
302 | 302 | | |
303 | 303 | | |
304 | | - | |
305 | | - | |
| 304 | + | |
| 305 | + | |
306 | 306 | | |
307 | 307 | | |
308 | 308 | | |
| |||
320 | 320 | | |
321 | 321 | | |
322 | 322 | | |
323 | | - | |
| 323 | + | |
324 | 324 | | |
325 | 325 | | |
326 | 326 | | |
| |||
Lines changed: 21 additions & 42 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2328 | 2328 | | |
2329 | 2329 | | |
2330 | 2330 | | |
2331 | | - | |
2332 | | - | |
2333 | | - | |
2334 | | - | |
2335 | | - | |
2336 | | - | |
2337 | | - | |
2338 | | - | |
2339 | | - | |
2340 | | - | |
2341 | | - | |
2342 | | - | |
2343 | | - | |
2344 | | - | |
2345 | | - | |
2346 | | - | |
2347 | | - | |
2348 | | - | |
2349 | | - | |
2350 | | - | |
2351 | | - | |
2352 | | - | |
2353 | | - | |
2354 | | - | |
2355 | | - | |
2356 | | - | |
2357 | | - | |
2358 | | - | |
2359 | | - | |
2360 | | - | |
2361 | | - | |
2362 | | - | |
2363 | | - | |
2364 | | - | |
2365 | | - | |
2366 | | - | |
2367 | | - | |
2368 | | - | |
2369 | | - | |
2370 | | - | |
2371 | | - | |
2372 | | - | |
2373 | 2331 | | |
2374 | 2332 | | |
2375 | 2333 | | |
| |||
2580 | 2538 | | |
2581 | 2539 | | |
2582 | 2540 | | |
| 2541 | + | |
| 2542 | + | |
| 2543 | + | |
| 2544 | + | |
| 2545 | + | |
| 2546 | + | |
| 2547 | + | |
| 2548 | + | |
| 2549 | + | |
| 2550 | + | |
| 2551 | + | |
| 2552 | + | |
| 2553 | + | |
| 2554 | + | |
| 2555 | + | |
| 2556 | + | |
| 2557 | + | |
| 2558 | + | |
| 2559 | + | |
| 2560 | + | |
| 2561 | + | |
2583 | 2562 | | |
2584 | 2563 | | |
2585 | 2564 | | |
| |||
0 commit comments