-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Description
What feature/behavior/change do you want?
Add support for the new AWS M9g instance types when they become generally available.
The M9g instances are the latest generation of general-purpose instances powered by AWS Graviton5 processors. Currently in preview, these instances will provide the best price-performance in Amazon EC2 for general-purpose workloads once they are GA. These instances should be added to the instance types supported by eksctl when they become generally available.
Reference: https://aws.amazon.com/ec2/instance-types/m9g/
According to AWS documentation, the M9g instance family includes the following sizes:
- m9g.medium
- m9g.large
- m9g.xlarge
- m9g.2xlarge
- m9g.4xlarge
- m9g.8xlarge
- m9g.12xlarge
- m9g.16xlarge
- m9g.24xlarge
- m9g.48xlarge
Why do you want this feature?
Currently, eksctl supports up to M8g instances (Graviton4-based). Once M9g instances (Graviton5-based) become generally available, users will want to use them for their EKS node groups.
Benefits of M9g instances:
- Powered by the latest AWS Graviton5 processor technology
- Up to 25% better compute performance compared to M8g (Graviton4) instances
- Up to 30% faster for databases compared to M8g instances
- Up to 35% faster for web applications and machine learning workloads compared to M8g instances
- Higher networking and Amazon EBS bandwidth
- Best price-performance for general-purpose workloads in Amazon EC2
- Enhanced security with always-on memory encryption and AWS Nitro Isolation Engine
- Ideal for application servers, microservices, gaming servers, midsize data stores, and caching fleets
Use case:
When M9g instances become generally available, users will want to leverage these instance types for their EKS node groups. Without eksctl support, users will not be able to specify M9g instances in their cluster configuration files or create node groups with these instance types.
Additional Context
Current Status: M9g instances are currently in preview (as of December 2025) and not yet generally available. This issue is to track adding support once they are GA.
The instance types are defined in pkg/utils/instance/instance_types.go, which is generated by the ec2geninfo tool.
Implementation steps would include:
- Monitor AWS announcements for M9g general availability
- Once GA, run
make generate-ec2-instancesto fetch the latest instance types from AWS - Verify the M9g instances are correctly identified with:
- CPU Architecture:
arm64 - Instance storage support (if applicable)
- Other relevant features (EFA, CBR, etc.)
- CPU Architecture:
- Test that the new instance types can be used in cluster configurations
The M9g instances should follow the same pattern as the existing M7g and M8g instances in terms of configuration and support.