-
Notifications
You must be signed in to change notification settings - Fork 4.3k
Description
Describe the bug
As of August 2025, Amazon OpenSearch Service now supports I8g instances which use local NVMe storage instead of EBS. However, the CDK construct for an OpenSearch Domain has not been updated to account for such.
Regression Issue
- Select this option if this issue appears to be a regression.
Last Known Working CDK Library Version
No response
Expected Behavior
Expect to be able to use CDK to define an OpenSearch Domain with I8g instances as data nodes (not using EBS)
If EBS is not disabled, I would expect validation to fail similar to for I4g
ValidationError: I3, R6GD, I4G, I4I, IM4GN and R7GD instance types do not support EBS storage volumes.
Current Behavior
When disabling EBS, the construct fails to initialize with a validation error
ValidationError: EBS volumes are required when using instance types other than R3, I3, R6GD, I4G, I4I, IM4GN or R7GD.
When not disabling EBS, I think CloudFormation deployment fails?
Reproduction Steps
Attempt to create a domain using I8g instances for the data nodes and EBS disabled
class OpensearchSandboxStack extends Stack {
constructor(scope: Construct, id: string) {
super(scope, id);
new Domain(this, "MyDomain", {
version: EngineVersion.OPENSEARCH_2_19,
ebs: { enabled: false },
capacity: {
dataNodeInstanceType: "i8g.4xlarge.search",
},
});
}
}
Possible Solution
Update unSupportEbsInstanceType
to include InstanceClass.I8g
aws-cdk/packages/aws-cdk-lib/aws-opensearchservice/lib/domain.ts
Lines 1647 to 1654 in a02c656
const unSupportEbsInstanceType = [ | |
ec2.InstanceClass.I3, | |
ec2.InstanceClass.R6GD, | |
ec2.InstanceClass.I4G, | |
ec2.InstanceClass.I4I, | |
ec2.InstanceClass.IM4GN, | |
ec2.InstanceClass.R7GD, | |
]; |
Additional Information/Context
No response
AWS CDK Library version (aws-cdk-lib)
2.215.0
AWS CDK CLI version
2.1029.4
Node.js Version
N/A
OS
N/A
Language
TypeScript
Language Version
No response
Other information
No response