Watching AWS Instance Types Evolution in 2025
2025-10-11
Git history for AWS Metadata
I have been experimenting with using CUE for defining my cloud infrastructure.
Due to these experiments I happened to commit some of the AWS metadata
(like the types of VMs you can provision there or what availability zones are available in different regions)
into a git repository, sometimes updating it.
Recently I realized that this metadata (in CUE format) grew from ~1.5 MB
to ~2.6 MB
over ~1 year. I got curious about what changed and caused such growth in the number of bytes:
git diff
should be helpful in reviewing this.
Retrieving the metadata
We are looking into the metadata related to the AWS EC2 instance types. Let's first clarify how this metadata is retrieved. AWS provides API to get the EC2 instance types they support in a particular data center. The easiest way to use it is via their CLI:
aws --region "us-east-1" ec2 describe-instance-types \
| cue import -f -o itypes_gen.cue -p useast1 json: -
cat itypes_gen.cue
package useast1
InstanceTypes: [{
InstanceType: "m6gd.4xlarge"
CurrentGeneration: true
FreeTierEligible: false
MemoryInfo: SizeInMiB: 65536
// ...
}]
The result is a list (JSON array in the API response) of instance types. I committed the result of this import into a git repo several times between October 2024 and October 2025.
To facilitate analyzing the differences in the versions of this array, we should also sort it to maintain a stable order:
InstaceTypesSort: {
_sortFields: {InstanceType: string, ...}
input: [..._sortFields]
output: list.Sort(input, {x: _sortFields, y: _sortFields, less: x.InstanceType < y.InstanceType})
}
At first, this sorting was not done before making commits, so to analyze, we need to check out the versions in the history, sort the array, and then review the changes. With CUE, we can try to unify a previous version with a new one, and when this fails, show what fields are different.
The full script to do this is in the cuetf repo, and the result of the analysis can be found in the GitHub Actions logs.
Let's now dive into what this report means.
Increase in the number of the supported instance types
The analysis summary begins with the number of instance types we see in the API responses on different days. We have these numbers for us-east-1 (US, North Virginia) and eu-central-1 (Germany, Frankfurt). The first one is the biggest AWS data center with the highest diversity of instance types. In both data centers the number of supported machines grows over time.
count: {
"2024-10-13": 842
"2025-08-03": 927
"2025-08-04": 927
"2025-09-17": 993
"2025-09-21": 993
"2025-09-28": 1003
}
count: {
"2024-10-13": 765
"2025-08-03": 834
"2025-08-04": 834
"2025-09-17": 878
"2025-09-21": 878
"2025-09-28": 889
}
Many new instance types were added. Examples include
- Larger configurations of compute-optimized C7i were added in the US,
and these machines got support in Frankfurt (they were not available there in October 2024).
In the US,
c7i-flex
even got into the free tier.
newTypes: "2025-08-04": "c7i-flex.12xlarge": {
cpuClock: 3.2
mem: 98304 // 96 GB
cpuCnt: 48
}
diffs: "2024-10-13..2025-08-04": "FreeTierEligible:false->true": "c7i-flex.large": true
- The second generation of FPGA instances (F2) appearing in the US.
newTypes: "2025-08-04": "f2.6xlarge": {
cpuClock: 3.4
mem: 262144 // 256 GB
cpuCnt: 24
}
- Appearance of 2 new variants of the latest compute-optimized instances with the Graviton CPU (C8g):
c8gd
(with the NVMe SSD disks) andc8gn
(providing extra network bandwidth with AWS Nitro cards, up to 600 Gbps). It's also worth noting thatc6gn
were marked asCurrentGeneraton: false
.
newTypes: "2025-08-04": {
"c8gd.xlarge": {
cpuClock: 2.8
mem: 8192
cpuCnt: 4
}
"c8gn.12xlarge": {
cpuClock: 2.8
mem: 98304
cpuCnt: 48
}
}
diffs: "2024-10-13..2025-08-04": "CurrentGeneration:true->false": {
"c6gn.large": false
"c6gn.medium": false
// ...
}
- Adding support of G6e (GPU-based machines with NVIDIA L40S) in Europe.
While the total number of the instance types has a monotonic growth, support for some types is removed over time. Particularly, between Oct 13, 2024 and Aug 4, 2025, in both data centers, they stopped supporting
- G3 machines (with NVIDIA Tesla M60, the web links for G3 now redirect to G4, using Tesla T4),
- P2 machines (for ML and HPC use cases, now redirecting to P4),
- U-1 instances (high-memory type, replaced by U7i),
- and the bare metal variant for I3 (storage optimized machines).
removed: {
"g3.16xlarge": true
"g3.4xlarge": true
"g3.8xlarge": true
"g3s.xlarge": true
"i3.metal": true
"p2.16xlarge": true
"p2.8xlarge": true
"p2.xlarge": true
"u-12tb1.112xlarge": true
"u-18tb1.112xlarge": true
"u-24tb1.112xlarge": true
"u-9tb1.112xlarge": true
}
Hibernation support
Hibernation is a feature supported by AWS EC2 for particular machine types and operating systems that allows you to persist the state of your machine's RAM and not pay for the CPU time, keeping (and paying for) this state on a disk. It's very similar to closing the lead of your laptop and putting it into the sleep mode.
So between October 2024 and October 2025, hibernation support was extended to a few different instance types.
diffs: "2024-10-13..2025-08-04": {
"HibernationSupported:false->true": {
"c6a.large": true
"c7a.medium": true
"c6in.large": true
"i4g.large": true
"m6in.large": true
"x2gd.large": true
// ...
}
}
Extended metadata
Another non-negligible source of metadata size increase is an extension of the API response structure with new metadata fields. Particularly, in 2025, AWS started exposing new data about the instance types. Examples include
- Manufacturers of the CPU. At the end of September, the following CPU and GPU vendors are represented in AWS:
"2025-09-28": {
cpu: {
AWS: true
Intel: true
AMD: true
Apple: true
}
gpu: {
Habana: true
AMD: true
NVIDIA: true
}
}
- Network card bandwidth parameters.
{
InstanceType: "dl1.24xlarge"
NetworkInfo: {
NetworkCards: [
{
// ...
BaselineBandwidthInGbps: 100.0
PeakBandwidthInGbps: 100.0
DefaultEnaQueueCountPerInterface: 32
}, // ...
]
}
}
- Elastic Network Adapter support (e.g., if ENA Express is supported)
EnaSrdSupported: false
FlexibleEnaQueuesSupport: "unsupported"
Side effects
In general, it's interesting to observe how an exercise of doing recursive transformations with CUE resulted in getting the data for the analysis of AWS Compute abilities.