What's missing
AWS raised gp3 limits last September — throughput goes up to 2000 MiB/s now (was 1000), IOPS to 80k (was 16k), size to 64 TiB. OpenSearch Service picked these up, but the CDK validation in aws-opensearchservice didn't.
#36074 fixed this for aws-ec2, aws-ecs, and aws-autoscaling after #36014 was filed — aws-opensearchservice just wasn't part of that PR. So today, anything above 1000 MiB/s still throws ThroughputOutOfRange at synth time even though the API would accept it.
The fix
One line in domain.ts:1813:
```ts
const throughputRange = { Min: 125, Max: 2000 }; // was 1000
```
Nothing else in that file needs to change:
- No hardcoded IOPS max — it's ratio-based (500 IOPS/GiB), already permits 80k at ≥160 GiB.
- Throughput/IOPS ratio stays at 0.25 (2000/8000 still checks out).
- Volume size isn't bound here.
Not a breaking change — every value that's valid today stays valid.
Other Information
Happy to send the PR — same shape as #36074 (constant bump, unit test boundary update, small integ test).
Acknowledgements
What's missing
AWS raised gp3 limits last September — throughput goes up to 2000 MiB/s now (was 1000), IOPS to 80k (was 16k), size to 64 TiB. OpenSearch Service picked these up, but the CDK validation in
aws-opensearchservicedidn't.#36074 fixed this for
aws-ec2,aws-ecs, andaws-autoscalingafter #36014 was filed —aws-opensearchservicejust wasn't part of that PR. So today, anything above 1000 MiB/s still throwsThroughputOutOfRangeat synth time even though the API would accept it.The fix
One line in
domain.ts:1813:```ts
const throughputRange = { Min: 125, Max: 2000 }; // was 1000
```
Nothing else in that file needs to change:
Not a breaking change — every value that's valid today stays valid.
Other Information
Happy to send the PR — same shape as #36074 (constant bump, unit test boundary update, small integ test).
Acknowledgements