Reducing ECS cost with resource over-provisioning

Blog banner image


AWS Fargate can be expensive for multi-container workloads, but over-provisioning with EC2 backed ECS isn’t as simple as you’d expect



When we run containers on AWS, we have a few options. In fact, one of AWS biggest advantages is the staggering scale and options of its services. You could run your own Docker instance on AWS EC2, a Kubernetes cluster on EC2, or even a fully-managed Kubernetes cluster with EKS. If we imagine a scale that balances the reliability of the application, with the complexity of managing it, these services fall at either end. Running your own docker instance on EC2 is very easy to do, but implementing reliability is really hard. Running your own Kubernetes cluster can be a real mountain to climb, but your application can be extremely reliable.

ECS allows you to deploy reliable services, with less complexity

With the exception of a few negative aspects (cost and the requirement for AWS specific domain knowledge), ECS solves this problem for most use cases. You can take an application, whether that’s 1 container or 10, and have AWS run and manage it. You can then utilise other AWS services to make it reliable. AWS EFS storage, AWS networking, load balancing, IAM roles, and security groups.

… But it comes at a cost!

AWS Fargate costs more than EC2-backed ECS

There are 2 options for containers running on ECS. Fargate or EC2 backed. Fargate is a bit more restrictive, and more expensive, but is fully-managed. AWS will run your container, attach it to your AWS VPC and that’s it. If you want a container with 1 CPU and 2GB of memory, you’ll get charged a little bit more than an EC2 of the same spec. Unfortunately you’ll pay that cost even if you’re using very little of those resources.

This is where the issue really bites. With containers, we typically break an application into multiple components which can be managed and scaled seperately. A lot of these components will use very little resources 99% of the time, but that 1% of the time they’ll need still need some capable memory and CPU. With Fargate, we pay for those resources all the time.

EC2-backed ECS allows us to over-provision

Amongst other things, such as privileged containers, EC2-backed ECS gives us the ability to over-provision our containers again. This means I can fit hundreds of containers on a single, poorly resourced EC2 and only pay the EC2 cost. This brings our pricing back to pretty much the same as our unreliable Docker instance.

Why do this rather than just setup Docker on EC2

ECS gives us much more than running our own Docker. Some big wins are:

  • Container health is tracked in Cloudwatch
  • Container logs are shipped to Cloudwatch
  • We can easily connected our EFS/EBS volumes
  • Load balancers can be connected to containers
  • Env variables can be retrieved from SSM

But we also have portability. You can delete the EC2 running all your containers and AWS will magically self-heal and have it all working again in around 5 minutes.

Setting up our task-definitions for over-provisioning

In order to over-provision our EC2 with lots of containers, we need to stop ECS from scheduling our containers with reserved resources.

By default, ECS will keep track of the CPU and Memory of an EC2 host and then deduct the container sizes from it. This means that if we provision 2 x 1 CPU containers onto a 2 CPU EC2, we run out of space. This is even though the EC2 is likely running at 5-10% CPU utilisation!

When writing your ECS task definitions, do not provide a CPU and memory value in the task definition at all. Instead, provide a “memory reservation” in the container specification. Now ECS won’t deduct those resources from the EC2 hosts it’s tracking.

Hitting network limits

Using vpc mode networking in ECS allows our containers to behave just like an EC2 host or Fargate task. They can assume their own IAM roles, and make use of AWS security groups. They can also talk between each other, and other aws services. The problem is that they require an ENI per task, and there are strict limits on the number of ENIs per EC2!

ENI Trunking allows us to over-provision vpc mode tasks

AWS has a solution for this too. Some AWS EC2 instance types support ENI trunking, a technology which allows an EC2 to get additional ENIs. Unfortunately, not all instance types support EC2 trunking. AWS provides a page with the EC2 instance types which support trunking, but this isn’t enough to make an informed choice. The cheapest EC2s are all ARM, and its not obvious which are going to be the best for over-provisioning. In our case, we found c7a.medium to be the best fit with 1 core, 2GB of memory, room for 4 tasks and it’s current generation!

Our full comparison table (correct as of August 2024) sits at the bottom of this article, including us-east-02 pricing.

Conclusion

With a little forethought, we can use ECS to provide cost-effective but reliable hosting of containerised services in AWS with all the benefits of ECS but at a fraction of the cost.

The full instance type table!

Instance Type Task limit Instance Class Cost (USD) Current Gen Memory (GB) CPUs Architecture Cost per Task Cost per GB Cost per CPU
a1.medium 10 General purpose 0.025 no 2 1 arm64 0.002 0.012 0.025
c6g.medium 4 Compute optimized 0.034 yes 2 1 arm64 0.008 0.017 0.034
c7g.medium 4 Compute optimized 0.036 yes 2 1 arm64 0.009 0.018 0.036
c6gd.medium 4 Compute optimized 0.038 yes 2 1 arm64 0.009 0.019 0.038
m6g.medium 4 General purpose 0.038 yes 4 1 arm64 0.009 0.009 0.038
m7g.medium 4 General purpose 0.040 yes 4 1 arm64 0.010 0.010 0.040
c6gn.medium 4 Compute optimized 0.043 yes 2 1 arm64 0.010 0.021 0.043
m6gd.medium 4 General purpose 0.045 yes 4 1 arm64 0.011 0.011 0.045
c7gd.medium 4 Compute optimized 0.045 yes 2 1 arm64 0.011 0.022 0.045
r6g.medium 4 Memory optimized 0.050 yes 8 1 arm64 0.012 0.006 0.050
a1.large 10 General purpose 0.051 no 4 2 arm64 0.005 0.012 0.025
c7a.medium 4 Compute optimized 0.051 yes 2 1 x86_64 0.012 0.025 0.051
m7gd.medium 4 General purpose 0.053 yes 4 1 arm64 0.013 0.013 0.053
r7g.medium 4 Memory optimized 0.053 yes 8 1 arm64 0.013 0.006 0.053
r6gd.medium 4 Memory optimized 0.057 yes 8 1 arm64 0.014 0.007 0.057
m7a.medium 4 General purpose 0.057 yes 4 1 x86_64 0.014 0.014 0.057
r8g.medium 4 Memory optimized 0.058 yes 8 1 arm64 0.014 0.007 0.058
c7gn.medium 4 Compute optimized 0.062 yes 2 1 arm64 0.015 0.031 0.062
c6g.large 10 Compute optimized 0.068 yes 4 2 arm64 0.006 0.017 0.034
r7gd.medium 4 Memory optimized 0.068 yes 8 1 arm64 0.017 0.008 0.068
c7g.large 10 Compute optimized 0.072 yes 4 2 arm64 0.007 0.018 0.036
r7a.medium 4 Memory optimized 0.076 yes 8 1 x86_64 0.019 0.009 0.076
c6a.large 10 Compute optimized 0.076 yes 4 2 x86_64 0.007 0.019 0.038
c6gd.large 10 Compute optimized 0.076 yes 4 2 arm64 0.007 0.019 0.038
m6g.large 10 General purpose 0.077 yes 8 2 arm64 0.007 0.009 0.038
c5a.large 10 Compute optimized 0.077 yes 4 2 x86_64 0.007 0.019 0.038
m7g.large 10 General purpose 0.081 yes 8 2 arm64 0.008 0.010 0.040
x2gd.medium 10 Memory optimized 0.083 yes 16 1 arm64 0.008 0.005 0.083
c7i-flex.large 4 Compute optimized 0.084 yes 4 2 x86_64 0.021 0.021 0.042
c5.large 10 Compute optimized 0.085 yes 4 2 x86_64 0.008 0.021 0.042
c6i.large 10 Compute optimized 0.085 yes 4 2 x86_64 0.008 0.021 0.042
m5a.large 10 General purpose 0.086 yes 8 2 x86_64 0.008 0.010 0.043
c5ad.large 10 Compute optimized 0.086 yes 4 2 x86_64 0.008 0.021 0.043
m6a.large 10 General purpose 0.086 yes 8 2 x86_64 0.008 0.010 0.043
c6gn.large 10 Compute optimized 0.086 yes 4 2 arm64 0.008 0.021 0.043
c7i.large 10 Compute optimized 0.089 yes 4 2 x86_64 0.008 0.022 0.044
m6gd.large 10 General purpose 0.090 yes 8 2 arm64 0.009 0.011 0.045
c7gd.large 10 Compute optimized 0.090 yes 4 2 arm64 0.009 0.022 0.045
m7i-flex.large 4 General purpose 0.095 yes 8 2 x86_64 0.023 0.011 0.047
m5.large 10 General purpose 0.096 yes 8 2 x86_64 0.009 0.012 0.048
m6i.large 10 General purpose 0.096 yes 8 2 x86_64 0.009 0.012 0.048
c5d.large 10 Compute optimized 0.096 yes 4 2 x86_64 0.009 0.024 0.048
m7i.large 10 General purpose 0.100 yes 8 2 x86_64 0.010 0.012 0.050
c6id.large 10 Compute optimized 0.100 yes 4 2 x86_64 0.010 0.025 0.050
r6g.large 10 Memory optimized 0.100 yes 16 2 arm64 0.010 0.006 0.050
a1.xlarge 20 General purpose 0.102 no 8 4 arm64 0.005 0.012 0.025
c7a.large 10 Compute optimized 0.102 yes 4 2 x86_64 0.010 0.025 0.051
m5ad.large 10 General purpose 0.103 yes 8 2 x86_64 0.010 0.012 0.051
m7gd.large 10 General purpose 0.106 yes 8 2 arm64 0.010 0.013 0.053
r7g.large 10 Memory optimized 0.107 yes 16 2 arm64 0.010 0.006 0.053
m5d.large 10 General purpose 0.113 yes 8 2 x86_64 0.011 0.014 0.056
r5a.large 10 Memory optimized 0.113 yes 16 2 x86_64 0.011 0.007 0.056
c6in.large 10 Compute optimized 0.113 yes 4 2 x86_64 0.011 0.028 0.056
r6a.large 10 Memory optimized 0.113 yes 16 2 x86_64 0.011 0.007 0.056
r6gd.large 10 Memory optimized 0.115 yes 16 2 arm64 0.011 0.007 0.057
m7a.large 10 General purpose 0.115 yes 8 2 x86_64 0.011 0.014 0.057
r8g.large 10 Memory optimized 0.117 yes 16 2 arm64 0.011 0.007 0.058
m6id.large 10 General purpose 0.118 yes 8 2 x86_64 0.011 0.014 0.059
c7gn.large 10 Compute optimized 0.124 yes 4 2 arm64 0.012 0.031 0.062
r5.large 10 Memory optimized 0.126 yes 16 2 x86_64 0.012 0.007 0.063
r6i.large 10 Memory optimized 0.126 yes 16 2 x86_64 0.012 0.007 0.063
r5ad.large 10 Memory optimized 0.131 yes 16 2 x86_64 0.013 0.008 0.065
r7i.large 10 Memory optimized 0.132 yes 16 2 x86_64 0.013 0.008 0.066
c6g.xlarge 20 Compute optimized 0.136 yes 8 4 arm64 0.006 0.017 0.034
r7gd.large 10 Memory optimized 0.136 yes 16 2 arm64 0.013 0.008 0.068
m6in.large 10 General purpose 0.139 yes 8 2 x86_64 0.013 0.017 0.069
r5d.large 10 Memory optimized 0.144 yes 16 2 x86_64 0.014 0.009 0.072
is4gen.medium 4 Storage Optimized 0.144 yes 6 1 arm64 0.036 0.024 0.144
c7g.xlarge 20 Compute optimized 0.144 yes 8 4 arm64 0.007 0.018 0.036
r6id.large 10 Memory optimized 0.151 yes 16 2 x86_64 0.015 0.009 0.075
r7a.large 10 Memory optimized 0.152 yes 16 2 x86_64 0.015 0.009 0.076
c6a.xlarge 20 Compute optimized 0.153 yes 8 4 x86_64 0.007 0.019 0.038
c6gd.xlarge 20 Compute optimized 0.153 yes 8 4 arm64 0.007 0.019 0.038
m6g.xlarge 20 General purpose 0.154 yes 16 4 arm64 0.007 0.009 0.038
c5a.xlarge 20 Compute optimized 0.154 yes 8 4 x86_64 0.007 0.019 0.038
i4g.large 10 Storage Optimized 0.154 yes 16 2 arm64 0.015 0.009 0.077
m6idn.large 10 General purpose 0.159 yes 8 2 x86_64 0.015 0.019 0.079
m7g.xlarge 20 General purpose 0.163 yes 16 4 arm64 0.008 0.010 0.040
x2gd.large 10 Memory optimized 0.167 yes 32 2 arm64 0.016 0.005 0.083
c7i-flex.xlarge 10 Compute optimized 0.169 yes 8 4 x86_64 0.016 0.021 0.042
c5.xlarge 20 Compute optimized 0.17 yes 8 4 x86_64 0.008 0.021 0.042
c6i.xlarge 20 Compute optimized 0.17 yes 8 4 x86_64 0.008 0.021 0.042
m5a.xlarge 20 General purpose 0.172 yes 16 4 x86_64 0.008 0.010 0.043
c5ad.xlarge 20 Compute optimized 0.172 yes 8 4 x86_64 0.008 0.021 0.043
m6a.xlarge 20 General purpose 0.172 yes 16 4 x86_64 0.008 0.010 0.043
c6gn.xlarge 20 Compute optimized 0.172 yes 8 4 arm64 0.008 0.021 0.043
r6in.large 10 Memory optimized 0.174 yes 16 2 x86_64 0.017 0.010 0.087
c7i.xlarge 20 Compute optimized 0.178 yes 8 4 x86_64 0.008 0.022 0.044
m6gd.xlarge 20 General purpose 0.180 yes 16 4 arm64 0.009 0.011 0.045
c7gd.xlarge 20 Compute optimized 0.181 yes 8 4 arm64 0.009 0.022 0.045
im4gn.large 10 Storage Optimized 0.181 yes 8 2 arm64 0.018 0.022 0.090
r7iz.large 10 Memory optimized 0.186 yes 16 2 x86_64 0.018 0.011 0.093
m7i-flex.xlarge 10 General purpose 0.191 yes 16 4 x86_64 0.019 0.011 0.047
m5.xlarge 20 General purpose 0.192 yes 16 4 x86_64 0.009 0.012 0.048
m6i.xlarge 20 General purpose 0.192 yes 16 4 x86_64 0.009 0.012 0.048
c5d.xlarge 20 Compute optimized 0.192 yes 8 4 x86_64 0.009 0.024 0.048
r6idn.large 10 Memory optimized 0.195 yes 16 2 x86_64 0.019 0.012 0.097
m7i.xlarge 20 General purpose 0.201 yes 16 4 x86_64 0.010 0.012 0.050
c6id.xlarge 20 Compute optimized 0.201 yes 8 4 x86_64 0.010 0.025 0.050
r6g.xlarge 20 Memory optimized 0.201 yes 32 4 arm64 0.010 0.006 0.050
a1.2xlarge 40 General purpose 0.204 no 16 8 arm64 0.005 0.012 0.025
c7a.xlarge 20 Compute optimized 0.205 yes 8 4 x86_64 0.010 0.025 0.051
m5ad.xlarge 20 General purpose 0.206 yes 16 4 x86_64 0.010 0.012 0.051
m7gd.xlarge 20 General purpose 0.213 yes 16 4 arm64 0.010 0.013 0.053
r7g.xlarge 20 Memory optimized 0.214 yes 32 4 arm64 0.010 0.006 0.053
m5d.xlarge 20 General purpose 0.226 yes 16 4 x86_64 0.011 0.014 0.056
r5a.xlarge 20 Memory optimized 0.226 yes 32 4 x86_64 0.011 0.007 0.056
c6in.xlarge 20 Compute optimized 0.226 yes 8 4 x86_64 0.011 0.028 0.056
r6a.xlarge 20 Memory optimized 0.226 yes 32 4 x86_64 0.011 0.007 0.056
r6gd.xlarge 20 Memory optimized 0.230 yes 32 4 arm64 0.011 0.007 0.057
m7a.xlarge 20 General purpose 0.231 yes 16 4 x86_64 0.011 0.014 0.057
r8g.xlarge 20 Memory optimized 0.235 yes 32 4 arm64 0.011 0.007 0.058
m6id.xlarge 20 General purpose 0.237 yes 16 4 x86_64 0.011 0.014 0.059
c7gn.xlarge 20 Compute optimized 0.249 yes 8 4 arm64 0.012 0.031 0.062
r5.xlarge 20 Memory optimized 0.252 yes 32 4 x86_64 0.012 0.007 0.063
r6i.xlarge 20 Memory optimized 0.252 yes 32 4 x86_64 0.012 0.007 0.063
r5ad.xlarge 20 Memory optimized 0.262 yes 32 4 x86_64 0.013 0.008 0.065
r7i.xlarge 20 Memory optimized 0.264 yes 32 4 x86_64 0.013 0.008 0.066
c6g.2xlarge 40 Compute optimized 0.272 yes 16 8 arm64 0.006 0.017 0.034
r7gd.xlarge 20 Memory optimized 0.272 yes 32 4 arm64 0.013 0.008 0.068
m6in.xlarge 20 General purpose 0.278 yes 16 4 x86_64 0.013 0.017 0.069
r5d.xlarge 20 Memory optimized 0.288 yes 32 4 x86_64 0.014 0.009 0.072
is4gen.large 10 Storage Optimized 0.288 yes 12 2 arm64 0.028 0.024 0.144
c7g.2xlarge 40 Compute optimized 0.289 yes 16 8 arm64 0.007 0.018 0.036
r6id.xlarge 20 Memory optimized 0.302 yes 32 4 x86_64 0.015 0.009 0.075
r7a.xlarge 20 Memory optimized 0.304 yes 32 4 x86_64 0.015 0.009 0.076
c6a.2xlarge 40 Compute optimized 0.306 yes 16 8 x86_64 0.007 0.019 0.038
c6gd.2xlarge 40 Compute optimized 0.307 yes 16 8 arm64 0.007 0.019 0.038
m6g.2xlarge 40 General purpose 0.308 yes 32 8 arm64 0.007 0.009 0.038
c5a.2xlarge 40 Compute optimized 0.308 yes 16 8 x86_64 0.007 0.019 0.038
i4g.xlarge 20 Storage Optimized 0.308 yes 32 4 arm64 0.015 0.009 0.077
m6idn.xlarge 20 General purpose 0.318 yes 16 4 x86_64 0.015 0.019 0.079
m7g.2xlarge 40 General purpose 0.326 yes 32 8 arm64 0.008 0.010 0.040
x2gd.xlarge 20 Memory optimized 0.334 yes 64 4 arm64 0.016 0.005 0.083
c7i-flex.2xlarge 20 Compute optimized 0.339 yes 16 8 x86_64 0.016 0.021 0.042
c5.2xlarge 40 Compute optimized 0.34 yes 16 8 x86_64 0.008 0.021 0.042
c6i.2xlarge 40 Compute optimized 0.34 yes 16 8 x86_64 0.008 0.021 0.042
i4i.xlarge 8 Storage Optimized 0.343 yes 32 4 x86_64 0.042 0.010 0.085
m5a.2xlarge 40 General purpose 0.344 yes 32 8 x86_64 0.008 0.010 0.043
c5ad.2xlarge 40 Compute optimized 0.344 yes 16 8 x86_64 0.008 0.021 0.043
m6a.2xlarge 40 General purpose 0.345 yes 32 8 x86_64 0.008 0.010 0.043
c6gn.2xlarge 40 Compute optimized 0.345 yes 16 8 arm64 0.008 0.021 0.043
r6in.xlarge 20 Memory optimized 0.348 yes 32 4 x86_64 0.017 0.010 0.087
c7i.2xlarge 40 Compute optimized 0.357 yes 16 8 x86_64 0.008 0.022 0.044
m6gd.2xlarge 40 General purpose 0.361 yes 32 8 arm64 0.009 0.011 0.045
c7gd.2xlarge 40 Compute optimized 0.362 yes 16 8 arm64 0.009 0.022 0.045
im4gn.xlarge 20 Storage Optimized 0.363 yes 16 4 arm64 0.018 0.022 0.090
r7iz.xlarge 20 Memory optimized 0.372 yes 32 4 x86_64 0.018 0.011 0.093
g4ad.xlarge 12 Accelerated computing 0.378 yes 16 4 x86_64 0.031 0.023 0.094
m7i-flex.2xlarge 20 General purpose 0.383 yes 32 8 x86_64 0.019 0.011 0.047
m5.2xlarge 40 General purpose 0.384 yes 32 8 x86_64 0.009 0.012 0.048
m6i.2xlarge 40 General purpose 0.384 yes 32 8 x86_64 0.009 0.012 0.048
c5d.2xlarge 40 Compute optimized 0.384 yes 16 8 x86_64 0.009 0.024 0.048
r6idn.xlarge 20 Memory optimized 0.390 yes 32 4 x86_64 0.019 0.012 0.097
m7i.2xlarge 40 General purpose 0.403 yes 32 8 x86_64 0.010 0.012 0.050
c6id.2xlarge 40 Compute optimized 0.403 yes 16 8 x86_64 0.010 0.025 0.050
r6g.2xlarge 40 Memory optimized 0.403 yes 64 8 arm64 0.010 0.006 0.050
a1.4xlarge 60 General purpose 0.408 no 32 16 arm64 0.006 0.012 0.025
c7a.2xlarge 40 Compute optimized 0.410 yes 16 8 x86_64 0.010 0.025 0.051
m5ad.2xlarge 40 General purpose 0.412 yes 32 8 x86_64 0.010 0.012 0.051
m7gd.2xlarge 40 General purpose 0.427 yes 32 8 arm64 0.010 0.013 0.053
r7g.2xlarge 40 Memory optimized 0.428 yes 64 8 arm64 0.010 0.006 0.053
m5d.2xlarge 40 General purpose 0.452 yes 32 8 x86_64 0.011 0.014 0.056
r5a.2xlarge 40 Memory optimized 0.452 yes 64 8 x86_64 0.011 0.007 0.056
c6in.2xlarge 40 Compute optimized 0.453 yes 16 8 x86_64 0.011 0.028 0.056
r6a.2xlarge 40 Memory optimized 0.453 yes 64 8 x86_64 0.011 0.007 0.056
r6gd.2xlarge 40 Memory optimized 0.460 yes 64 8 arm64 0.011 0.007 0.057
m7a.2xlarge 40 General purpose 0.463 yes 32 8 x86_64 0.011 0.014 0.057
r8g.2xlarge 40 Memory optimized 0.471 yes 64 8 arm64 0.011 0.007 0.058
m6id.2xlarge 40 General purpose 0.474 yes 32 8 x86_64 0.011 0.014 0.059
c7gn.2xlarge 40 Compute optimized 0.499 yes 16 8 arm64 0.012 0.031 0.062
r5.2xlarge 40 Memory optimized 0.504 yes 64 8 x86_64 0.012 0.007 0.063
r6i.2xlarge 40 Memory optimized 0.504 yes 64 8 x86_64 0.012 0.007 0.063
r5ad.2xlarge 40 Memory optimized 0.524 yes 64 8 x86_64 0.013 0.008 0.065
r7i.2xlarge 40 Memory optimized 0.529 yes 64 8 x86_64 0.013 0.008 0.066
g4ad.2xlarge 12 Accelerated computing 0.541 yes 32 8 x86_64 0.045 0.016 0.067
c6g.4xlarge 60 Compute optimized 0.544 yes 32 16 arm64 0.009 0.017 0.034
r7gd.2xlarge 40 Memory optimized 0.544 yes 64 8 arm64 0.013 0.008 0.068
m6in.2xlarge 40 General purpose 0.556 yes 32 8 x86_64 0.013 0.017 0.069
r5d.2xlarge 40 Memory optimized 0.576 yes 64 8 x86_64 0.014 0.009 0.072
is4gen.xlarge 20 Storage Optimized 0.576 yes 24 4 arm64 0.028 0.024 0.144
c7g.4xlarge 60 Compute optimized 0.578 yes 32 16 arm64 0.009 0.018 0.036
r6id.2xlarge 40 Memory optimized 0.604 yes 64 8 x86_64 0.015 0.009 0.075
r7a.2xlarge 40 Memory optimized 0.608 yes 64 8 x86_64 0.015 0.009 0.076
c6a.4xlarge 60 Compute optimized 0.612 yes 32 16 x86_64 0.010 0.019 0.038
c6gd.4xlarge 60 Compute optimized 0.614 yes 32 16 arm64 0.010 0.019 0.038
m6g.4xlarge 60 General purpose 0.616 yes 64 16 arm64 0.010 0.009 0.038
c5a.4xlarge 60 Compute optimized 0.616 yes 32 16 x86_64 0.010 0.019 0.038
i4g.2xlarge 40 Storage Optimized 0.617 yes 64 8 arm64 0.015 0.009 0.077
m6idn.2xlarge 40 General purpose 0.636 yes 32 8 x86_64 0.015 0.019 0.079
m7g.4xlarge 60 General purpose 0.652 yes 64 16 arm64 0.010 0.010 0.040
x2gd.2xlarge 40 Memory optimized 0.668 yes 128 8 arm64 0.016 0.005 0.083
c7i-flex.4xlarge 40 Compute optimized 0.678 yes 32 16 x86_64 0.016 0.021 0.042
c5.4xlarge 60 Compute optimized 0.68 yes 32 16 x86_64 0.011 0.021 0.042
c6i.4xlarge 60 Compute optimized 0.68 yes 32 16 x86_64 0.011 0.021 0.042
i4i.2xlarge 28 Storage Optimized 0.686 yes 64 8 x86_64 0.024 0.010 0.085
m5a.4xlarge 60 General purpose 0.688 yes 64 16 x86_64 0.011 0.010 0.043
c5ad.4xlarge 60 Compute optimized 0.688 yes 32 16 x86_64 0.011 0.021 0.043
m6a.4xlarge 60 General purpose 0.691 yes 64 16 x86_64 0.011 0.010 0.043
c6gn.4xlarge 60 Compute optimized 0.691 yes 32 16 arm64 0.011 0.021 0.043
r6in.2xlarge 40 Memory optimized 0.697 yes 64 8 x86_64 0.017 0.010 0.087
c7i.4xlarge 60 Compute optimized 0.714 yes 32 16 x86_64 0.011 0.022 0.044
m6gd.4xlarge 60 General purpose 0.723 yes 64 16 arm64 0.012 0.011 0.045
c7gd.4xlarge 60 Compute optimized 0.725 yes 32 16 arm64 0.012 0.022 0.045
im4gn.2xlarge 40 Storage Optimized 0.727 yes 32 8 arm64 0.018 0.022 0.090
r7iz.2xlarge 40 Memory optimized 0.744 yes 64 8 x86_64 0.018 0.011 0.093
inf2.xlarge 20 Accelerated computing 0.758 yes 16 4 x86_64 0.037 0.047 0.189
m7i-flex.4xlarge 40 General purpose 0.766 yes 64 16 x86_64 0.019 0.011 0.047
m5.4xlarge 60 General purpose 0.768 yes 64 16 x86_64 0.012 0.012 0.048
m6i.4xlarge 60 General purpose 0.768 yes 64 16 x86_64 0.012 0.012 0.048
c5d.4xlarge 60 Compute optimized 0.768 yes 32 16 x86_64 0.012 0.024 0.048
r6idn.2xlarge 40 Memory optimized 0.781 yes 64 8 x86_64 0.019 0.012 0.097
g6.xlarge 20 Accelerated computing 0.804 yes 16 4 x86_64 0.040 0.050 0.201
m7i.4xlarge 60 General purpose 0.806 yes 64 16 x86_64 0.013 0.012 0.050
c6id.4xlarge 60 Compute optimized 0.806 yes 32 16 x86_64 0.013 0.025 0.050
r6g.4xlarge 60 Memory optimized 0.806 yes 128 16 arm64 0.013 0.006 0.050
c7a.4xlarge 60 Compute optimized 0.821 yes 32 16 x86_64 0.013 0.025 0.051
m5ad.4xlarge 60 General purpose 0.824 yes 64 16 x86_64 0.013 0.012 0.051
x2iedn.xlarge 13 Memory optimized 0.833 yes 128 4 x86_64 0.064 0.006 0.208
m7gd.4xlarge 60 General purpose 0.854 yes 64 16 arm64 0.014 0.013 0.053
r7g.4xlarge 60 Memory optimized 0.856 yes 128 16 arm64 0.014 0.006 0.053
g4ad.4xlarge 12 Accelerated computing 0.867 yes 64 16 x86_64 0.072 0.013 0.054
m5d.4xlarge 60 General purpose 0.904 yes 64 16 x86_64 0.015 0.014 0.056
r5a.4xlarge 60 Memory optimized 0.904 yes 128 16 x86_64 0.015 0.007 0.056
c6in.4xlarge 60 Compute optimized 0.907 yes 32 16 x86_64 0.015 0.028 0.056
r6a.4xlarge 60 Memory optimized 0.907 yes 128 16 x86_64 0.015 0.007 0.056
r6gd.4xlarge 60 Memory optimized 0.921 yes 128 16 arm64 0.015 0.007 0.057
m7a.4xlarge 60 General purpose 0.927 yes 64 16 x86_64 0.015 0.014 0.057
r8g.4xlarge 60 Memory optimized 0.942 yes 128 16 arm64 0.015 0.007 0.058
m6id.4xlarge 60 General purpose 0.949 yes 64 16 x86_64 0.015 0.014 0.059
g6.2xlarge 40 Accelerated computing 0.977 yes 32 8 x86_64 0.024 0.030 0.122
c7gn.4xlarge 60 Compute optimized 0.998 yes 32 16 arm64 0.016 0.031 0.062
g5.xlarge 6 Accelerated computing 1.006 yes 16 4 x86_64 0.167 0.062 0.251
r5.4xlarge 60 Memory optimized 1.008 yes 128 16 x86_64 0.016 0.007 0.063
r6i.4xlarge 60 Memory optimized 1.008 yes 128 16 x86_64 0.016 0.007 0.063
r5ad.4xlarge 60 Memory optimized 1.048 yes 128 16 x86_64 0.017 0.008 0.065
r7i.4xlarge 60 Memory optimized 1.058 yes 128 16 x86_64 0.017 0.008 0.066
c6g.8xlarge 60 Compute optimized 1.088 yes 64 32 arm64 0.018 0.017 0.034
r7gd.4xlarge 60 Memory optimized 1.088 yes 128 16 arm64 0.018 0.008 0.068
m6in.4xlarge 60 General purpose 1.113 yes 64 16 x86_64 0.018 0.017 0.069
r5d.4xlarge 60 Memory optimized 1.152 yes 128 16 x86_64 0.019 0.009 0.072
is4gen.2xlarge 40 Storage Optimized 1.152 yes 48 8 arm64 0.028 0.024 0.144
c7g.8xlarge 60 Compute optimized 1.156 yes 64 32 arm64 0.019 0.018 0.036
r6id.4xlarge 60 Memory optimized 1.209 yes 128 16 x86_64 0.020 0.009 0.075
g5.2xlarge 19 Accelerated computing 1.212 yes 32 8 x86_64 0.063 0.037 0.151
r7a.4xlarge 60 Memory optimized 1.217 yes 128 16 x86_64 0.020 0.009 0.076
c6a.8xlarge 90 Compute optimized 1.224 yes 64 32 x86_64 0.013 0.019 0.038
c6gd.8xlarge 60 Compute optimized 1.228 yes 64 32 arm64 0.020 0.019 0.038
m6g.8xlarge 60 General purpose 1.232 yes 128 32 arm64 0.020 0.009 0.038
i4g.4xlarge 60 Storage Optimized 1.235 yes 128 16 arm64 0.020 0.009 0.077
m6idn.4xlarge 60 General purpose 1.272 yes 64 16 x86_64 0.021 0.019 0.079
m7g.8xlarge 60 General purpose 1.305 yes 128 32 arm64 0.021 0.010 0.040
g6.4xlarge 60 Accelerated computing 1.323 yes 64 16 x86_64 0.022 0.020 0.082
x2gd.4xlarge 60 Memory optimized 1.336 yes 256 16 arm64 0.022 0.005 0.083
trn1.2xlarge 19 Accelerated computing 1.343 yes 32 8 x86_64 0.070 0.041 0.167
c7i-flex.8xlarge 60 Compute optimized 1.356 yes 64 32 x86_64 0.022 0.021 0.042
c6i.8xlarge 90 Compute optimized 1.36 yes 64 32 x86_64 0.015 0.021 0.042
i4i.4xlarge 58 Storage Optimized 1.373 yes 128 16 x86_64 0.023 0.010 0.085
m5a.8xlarge 60 General purpose 1.376 yes 128 32 x86_64 0.022 0.010 0.043
m6a.8xlarge 90 General purpose 1.382 yes 128 32 x86_64 0.015 0.010 0.043
c6gn.8xlarge 60 Compute optimized 1.382 yes 64 32 arm64 0.023 0.021 0.043
r6in.4xlarge 60 Memory optimized 1.394 yes 128 16 x86_64 0.023 0.010 0.087
c7i.8xlarge 90 Compute optimized 1.428 yes 64 32 x86_64 0.015 0.022 0.044
m6gd.8xlarge 60 General purpose 1.446 yes 128 32 arm64 0.024 0.011 0.045
c7gd.8xlarge 60 Compute optimized 1.451 yes 64 32 arm64 0.024 0.022 0.045
im4gn.4xlarge 60 Storage Optimized 1.455 yes 64 16 arm64 0.024 0.022 0.090
r7iz.4xlarge 60 Memory optimized 1.488 yes 128 16 x86_64 0.024 0.011 0.093
c5.9xlarge 60 Compute optimized 1.53 yes 72 36 x86_64 0.025 0.021 0.042
m7i-flex.8xlarge 60 General purpose 1.532 yes 128 32 x86_64 0.025 0.011 0.047
m5.8xlarge 60 General purpose 1.536 yes 128 32 x86_64 0.025 0.012 0.048
m6i.8xlarge 90 General purpose 1.536 yes 128 32 x86_64 0.017 0.012 0.048
gr6.4xlarge 60 Accelerated computing 1.539 yes 128 16 x86_64 0.025 0.012 0.096
r6idn.4xlarge 60 Memory optimized 1.563 yes 128 16 x86_64 0.026 0.012 0.097
m7i.8xlarge 90 General purpose 1.612 yes 128 32 x86_64 0.017 0.012 0.050
c6id.8xlarge 90 Compute optimized 1.612 yes 64 32 x86_64 0.017 0.025 0.050
r6g.8xlarge 60 Memory optimized 1.612 yes 256 32 arm64 0.026 0.006 0.050
g5.4xlarge 40 Accelerated computing 1.624 yes 64 16 x86_64 0.040 0.025 0.101
c6g.12xlarge 60 Compute optimized 1.632 yes 96 48 arm64 0.027 0.017 0.034
c7a.8xlarge 90 Compute optimized 1.642 yes 64 32 x86_64 0.018 0.025 0.051
m5ad.8xlarge 60 General purpose 1.648 yes 128 32 x86_64 0.027 0.012 0.051
x2iedn.2xlarge 29 Memory optimized 1.667 yes 256 8 x86_64 0.057 0.006 0.208
m7gd.8xlarge 60 General purpose 1.708 yes 128 32 arm64 0.028 0.013 0.053
r7g.8xlarge 60 Memory optimized 1.713 yes 256 32 arm64 0.028 0.006 0.053
c5d.9xlarge 60 Compute optimized 1.728 yes 72 36 x86_64 0.028 0.024 0.048
g4ad.8xlarge 12 Accelerated computing 1.734 yes 128 32 x86_64 0.144 0.013 0.054
c7g.12xlarge 60 Compute optimized 1.734 yes 96 48 arm64 0.028 0.018 0.036
m5d.8xlarge 60 General purpose 1.808 yes 128 32 x86_64 0.030 0.014 0.056
r5a.8xlarge 60 Memory optimized 1.808 yes 256 32 x86_64 0.030 0.007 0.056
c6in.8xlarge 90 Compute optimized 1.814 yes 64 32 x86_64 0.020 0.028 0.056
r6a.8xlarge 90 Memory optimized 1.814 yes 256 32 x86_64 0.020 0.007 0.056
c6a.12xlarge 120 Compute optimized 1.836 yes 96 48 x86_64 0.015 0.019 0.038
c6gd.12xlarge 60 Compute optimized 1.843 yes 96 48 arm64 0.030 0.019 0.038
r6gd.8xlarge 60 Memory optimized 1.843 yes 256 32 arm64 0.030 0.007 0.057
m6g.12xlarge 60 General purpose 1.848 yes 192 48 arm64 0.030 0.009 0.038
c5a.12xlarge 60 Compute optimized 1.848 yes 96 48 x86_64 0.030 0.019 0.038
m7a.8xlarge 90 General purpose 1.854 yes 128 32 x86_64 0.020 0.014 0.057
r8g.8xlarge 60 Memory optimized 1.885 yes 256 32 arm64 0.031 0.007 0.058
m6id.8xlarge 90 General purpose 1.898 yes 128 32 x86_64 0.021 0.014 0.059
m7g.12xlarge 60 General purpose 1.958 yes 192 48 arm64 0.032 0.010 0.040
inf2.8xlarge 90 Accelerated computing 1.967 yes 128 32 x86_64 0.021 0.015 0.061
c7gn.8xlarge 60 Compute optimized 1.996 yes 64 32 arm64 0.033 0.031 0.062
g6.8xlarge 90 Accelerated computing 2.014 yes 128 32 x86_64 0.022 0.015 0.062
r6i.8xlarge 90 Memory optimized 2.016 yes 256 32 x86_64 0.022 0.007 0.063
c5.12xlarge 60 Compute optimized 2.04 yes 96 48 x86_64 0.034 0.021 0.042
c6i.12xlarge 120 Compute optimized 2.04 yes 96 48 x86_64 0.017 0.021 0.042
m5a.12xlarge 60 General purpose 2.064 yes 192 48 x86_64 0.034 0.010 0.043
c5ad.12xlarge 60 Compute optimized 2.064 yes 96 48 x86_64 0.034 0.021 0.043
m6a.12xlarge 120 General purpose 2.073 yes 192 48 x86_64 0.017 0.010 0.043
c6gn.12xlarge 60 Compute optimized 2.073 yes 96 48 arm64 0.034 0.021 0.043
r5ad.8xlarge 60 Memory optimized 2.096 yes 256 32 x86_64 0.034 0.008 0.065
r7i.8xlarge 90 Memory optimized 2.116 yes 256 32 x86_64 0.023 0.008 0.066
c7i.12xlarge 120 Compute optimized 2.142 yes 96 48 x86_64 0.017 0.022 0.044
m6gd.12xlarge 60 General purpose 2.169 yes 192 48 arm64 0.036 0.011 0.045
c6g.16xlarge 120 Compute optimized 2.176 yes 128 64 arm64 0.018 0.017 0.034
c6g.metal 120 Compute optimized 2.176 yes 128 64 arm64 0.018 0.017 0.034
c7gd.12xlarge 60 Compute optimized 2.177 yes 96 48 arm64 0.036 0.022 0.045
r7gd.8xlarge 60 Memory optimized 2.177 yes 256 32 arm64 0.036 0.008 0.068
m6in.8xlarge 90 General purpose 2.227 yes 128 32 x86_64 0.024 0.017 0.069
m5.12xlarge 60 General purpose 2.304 yes 192 48 x86_64 0.038 0.012 0.048
m6i.12xlarge 120 General purpose 2.304 yes 192 48 x86_64 0.019 0.012 0.048
c5d.12xlarge 60 Compute optimized 2.304 yes 96 48 x86_64 0.038 0.024 0.048
r5d.8xlarge 60 Memory optimized 2.304 yes 256 32 x86_64 0.038 0.009 0.072
is4gen.4xlarge 60 Storage Optimized 2.305 yes 96 16 arm64 0.038 0.024 0.144
c7g.16xlarge 120 Compute optimized 2.312 yes 128 64 arm64 0.019 0.018 0.036
c7g.metal 120 Compute optimized 2.312 yes 128 64 arm64 0.019 0.018 0.036
m7i.12xlarge 120 General purpose 2.419 yes 192 48 x86_64 0.020 0.012 0.050
c6id.12xlarge 120 Compute optimized 2.419 yes 96 48 x86_64 0.020 0.025 0.050
r6g.12xlarge 60 Memory optimized 2.419 yes 384 48 arm64 0.040 0.006 0.050
r6id.8xlarge 90 Memory optimized 2.419 yes 256 32 x86_64 0.026 0.009 0.075
r7a.8xlarge 90 Memory optimized 2.434 yes 256 32 x86_64 0.027 0.009 0.076
gr6.8xlarge 90 Accelerated computing 2.446 yes 256 32 x86_64 0.027 0.009 0.076
c6a.16xlarge 120 Compute optimized 2.448 yes 128 64 x86_64 0.020 0.019 0.038
g5.8xlarge 90 Accelerated computing 2.448 yes 128 32 x86_64 0.027 0.019 0.076
c6gd.16xlarge 120 Compute optimized 2.457 yes 128 64 arm64 0.020 0.019 0.038
c6gd.metal 120 Compute optimized 2.457 yes 128 64 arm64 0.020 0.019 0.038
c7a.12xlarge 120 Compute optimized 2.463 yes 96 48 x86_64 0.020 0.025 0.051
m6g.16xlarge 120 General purpose 2.464 yes 256 64 arm64 0.020 0.009 0.038
m6g.metal 120 General purpose 2.464 yes 256 64 arm64 0.020 0.009 0.038
c5a.16xlarge 120 Compute optimized 2.464 yes 128 64 x86_64 0.020 0.019 0.038
i4g.8xlarge 60 Storage Optimized 2.471 yes 256 32 arm64 0.041 0.009 0.077
m5ad.12xlarge 60 General purpose 2.472 yes 192 48 x86_64 0.041 0.012 0.051
m6idn.8xlarge 90 General purpose 2.545 yes 128 32 x86_64 0.028 0.019 0.079
m7gd.12xlarge 60 General purpose 2.562 yes 192 48 arm64 0.042 0.013 0.053
r7g.12xlarge 60 Memory optimized 2.570 yes 384 48 arm64 0.042 0.006 0.053
m7g.16xlarge 120 General purpose 2.611 yes 256 64 arm64 0.021 0.010 0.040
m7g.metal 120 General purpose 2.611 yes 256 64 arm64 0.021 0.010 0.040
x2gd.8xlarge 60 Memory optimized 2.672 yes 512 32 arm64 0.044 0.005 0.083
m5d.12xlarge 60 General purpose 2.712 yes 192 48 x86_64 0.045 0.014 0.056
r5a.12xlarge 60 Memory optimized 2.712 yes 384 48 x86_64 0.045 0.007 0.056
c6i.16xlarge 120 Compute optimized 2.72 yes 128 64 x86_64 0.022 0.021 0.042
c6in.12xlarge 120 Compute optimized 2.721 yes 96 48 x86_64 0.022 0.028 0.056
r6a.12xlarge 120 Memory optimized 2.721 yes 384 48 x86_64 0.022 0.007 0.056
i4i.8xlarge 118 Storage Optimized 2.746 yes 256 32 x86_64 0.023 0.010 0.085
m5a.16xlarge 120 General purpose 2.752 yes 256 64 x86_64 0.022 0.010 0.043
c5ad.16xlarge 120 Compute optimized 2.752 yes 128 64 x86_64 0.022 0.021 0.043
m6a.16xlarge 120 General purpose 2.764 yes 256 64 x86_64 0.023 0.010 0.043
c6gn.16xlarge 120 Compute optimized 2.764 yes 128 64 arm64 0.023 0.021 0.043
r6gd.12xlarge 60 Memory optimized 2.764 yes 384 48 arm64 0.046 0.007 0.057
m7a.12xlarge 120 General purpose 2.782 yes 192 48 x86_64 0.023 0.014 0.057
r6in.8xlarge 90 Memory optimized 2.789 yes 256 32 x86_64 0.030 0.010 0.087
r8g.12xlarge 60 Memory optimized 2.827 yes 384 48 arm64 0.047 0.007 0.058
m6id.12xlarge 120 General purpose 2.847 yes 192 48 x86_64 0.023 0.014 0.059
c7i.16xlarge 120 Compute optimized 2.856 yes 128 64 x86_64 0.023 0.022 0.044
hpc6a.48xlarge 120 High performance computing 2.88 yes 384 96 x86_64 0.024 0.007 0.03
m6gd.16xlarge 120 General purpose 2.892 yes 256 64 arm64 0.024 0.011 0.045
m6gd.metal 120 General purpose 2.892 yes 256 64 arm64 0.024 0.011 0.045
c7gd.16xlarge 120 Compute optimized 2.903 yes 128 64 arm64 0.024 0.022 0.045
c7gd.metal 120 Compute optimized 2.903 yes 128 64 arm64 0.024 0.022 0.045
im4gn.8xlarge 60 Storage Optimized 2.910 yes 128 32 arm64 0.048 0.022 0.090
r7iz.8xlarge 90 Memory optimized 2.976 yes 256 32 x86_64 0.033 0.011 0.093
c7gn.12xlarge 60 Compute optimized 2.995 yes 96 48 arm64 0.049 0.031 0.062
r5.12xlarge 60 Memory optimized 3.024 yes 384 48 x86_64 0.050 0.007 0.063
r6i.12xlarge 120 Memory optimized 3.024 yes 384 48 x86_64 0.025 0.007 0.063
c5.18xlarge 120 Compute optimized 3.06 yes 144 72 x86_64 0.025 0.021 0.042
m5.16xlarge 120 General purpose 3.072 yes 256 64 x86_64 0.025 0.012 0.048
m6i.16xlarge 120 General purpose 3.072 yes 256 64 x86_64 0.025 0.012 0.048
r6idn.8xlarge 90 Memory optimized 3.126 yes 256 32 x86_64 0.034 0.012 0.097
r5ad.12xlarge 60 Memory optimized 3.144 yes 384 48 x86_64 0.052 0.008 0.065
r7i.12xlarge 120 Memory optimized 3.175 yes 384 48 x86_64 0.026 0.008 0.066
m7i.16xlarge 120 General purpose 3.225 yes 256 64 x86_64 0.026 0.012 0.050
c6id.16xlarge 120 Compute optimized 3.225 yes 128 64 x86_64 0.026 0.025 0.050
r6g.16xlarge 120 Memory optimized 3.225 yes 512 64 arm64 0.026 0.006 0.050
r6g.metal 120 Memory optimized 3.225 yes 512 64 arm64 0.026 0.006 0.050
r7gd.12xlarge 60 Memory optimized 3.265 yes 384 48 arm64 0.054 0.008 0.068
c7a.16xlarge 120 Compute optimized 3.284 yes 128 64 x86_64 0.027 0.025 0.051
m5ad.16xlarge 120 General purpose 3.296 yes 256 64 x86_64 0.027 0.012 0.051
x2iedn.4xlarge 60 Memory optimized 3.334 yes 512 16 x86_64 0.055 0.006 0.208
m6in.12xlarge 120 General purpose 3.341 yes 192 48 x86_64 0.027 0.017 0.069
g6.16xlarge 120 Accelerated computing 3.396 yes 256 64 x86_64 0.028 0.013 0.053
m7gd.16xlarge 120 General purpose 3.417 yes 256 64 arm64 0.028 0.013 0.053
m7gd.metal 120 General purpose 3.417 yes 256 64 arm64 0.028 0.013 0.053
r7g.16xlarge 120 Memory optimized 3.427 yes 512 64 arm64 0.028 0.006 0.053
r7g.metal 120 Memory optimized 3.427 yes 512 64 arm64 0.028 0.006 0.053
c5d.18xlarge 120 Compute optimized 3.456 yes 144 72 x86_64 0.028 0.024 0.048
r5d.12xlarge 60 Memory optimized 3.456 yes 384 48 x86_64 0.057 0.009 0.072
g4ad.16xlarge 12 Accelerated computing 3.468 yes 256 64 x86_64 0.289 0.013 0.054
m5d.16xlarge 120 General purpose 3.616 yes 256 64 x86_64 0.030 0.014 0.056
r5a.16xlarge 120 Memory optimized 3.616 yes 512 64 x86_64 0.030 0.007 0.056
c6in.16xlarge 120 Compute optimized 3.628 yes 128 64 x86_64 0.030 0.028 0.056
r6a.16xlarge 120 Memory optimized 3.628 yes 512 64 x86_64 0.030 0.007 0.056
r6id.12xlarge 120 Memory optimized 3.628 yes 384 48 x86_64 0.030 0.009 0.075
r7a.12xlarge 120 Memory optimized 3.651 yes 384 48 x86_64 0.030 0.009 0.076
c6a.24xlarge 120 Compute optimized 3.672 yes 192 96 x86_64 0.030 0.019 0.038
r6gd.16xlarge 120 Memory optimized 3.686 yes 512 64 arm64 0.030 0.007 0.057
r6gd.metal 120 Memory optimized 3.686 yes 512 64 arm64 0.030 0.007 0.057
c5a.24xlarge 120 Compute optimized 3.696 yes 192 96 x86_64 0.030 0.019 0.038
m7a.16xlarge 120 General purpose 3.709 yes 256 64 x86_64 0.030 0.014 0.057
r8g.16xlarge 120 Memory optimized 3.770 yes 512 64 arm64 0.031 0.007 0.058
m6id.16xlarge 120 General purpose 3.796 yes 256 64 x86_64 0.031 0.014 0.059
m6idn.12xlarge 120 General purpose 3.818 yes 192 48 x86_64 0.031 0.019 0.079
c7gn.16xlarge 120 Compute optimized 3.993 yes 128 64 arm64 0.033 0.031 0.062
c7gn.metal 120 Compute optimized 3.993 yes 128 64 arm64 0.033 0.031 0.062
x2gd.12xlarge 60 Memory optimized 4.008 yes 768 48 arm64 0.066 0.005 0.083
r5.16xlarge 120 Memory optimized 4.032 yes 512 64 x86_64 0.033 0.007 0.063
r6i.16xlarge 120 Memory optimized 4.032 yes 512 64 x86_64 0.033 0.007 0.063
c5.24xlarge 120 Compute optimized 4.08 yes 192 96 x86_64 0.034 0.021 0.042
c6i.24xlarge 120 Compute optimized 4.08 yes 192 96 x86_64 0.034 0.021 0.042
g5.16xlarge 120 Accelerated computing 4.096 yes 256 64 x86_64 0.034 0.016 0.064
i4i.12xlarge 118 Storage Optimized 4.118 yes 384 48 x86_64 0.034 0.010 0.085
m5a.24xlarge 120 General purpose 4.128 yes 384 96 x86_64 0.034 0.010 0.043
c5ad.24xlarge 120 Compute optimized 4.128 yes 192 96 x86_64 0.034 0.021 0.043
m6a.24xlarge 120 General purpose 4.147 yes 384 96 x86_64 0.034 0.010 0.043
r6in.12xlarge 120 Memory optimized 4.183 yes 384 48 x86_64 0.034 0.010 0.087
r5ad.16xlarge 120 Memory optimized 4.192 yes 512 64 x86_64 0.034 0.008 0.065
r7i.16xlarge 120 Memory optimized 4.233 yes 512 64 x86_64 0.035 0.008 0.066
c7i.24xlarge 120 Compute optimized 4.284 yes 192 96 x86_64 0.035 0.022 0.044
c7i.metal-24xl 120 Compute optimized 4.284 yes 192 96 x86_64 0.035 0.022 0.044
r7gd.16xlarge 120 Memory optimized 4.354 yes 512 64 arm64 0.036 0.008 0.068
r7gd.metal 120 Memory optimized 4.354 yes 512 64 arm64 0.036 0.008 0.068
m6in.16xlarge 120 General purpose 4.455 yes 256 64 x86_64 0.037 0.017 0.069
r7iz.12xlarge 120 Memory optimized 4.464 yes 384 48 x86_64 0.037 0.011 0.093
g6.12xlarge 120 Accelerated computing 4.601 yes 192 48 x86_64 0.038 0.023 0.095
m5.24xlarge 120 General purpose 4.608 yes 384 96 x86_64 0.038 0.012 0.048
m6i.24xlarge 120 General purpose 4.608 yes 384 96 x86_64 0.038 0.012 0.048
c5d.24xlarge 120 Compute optimized 4.608 yes 192 96 x86_64 0.038 0.024 0.048
r5d.16xlarge 120 Memory optimized 4.608 yes 512 64 x86_64 0.038 0.009 0.072
is4gen.8xlarge 60 Storage Optimized 4.610 yes 192 32 arm64 0.076 0.024 0.144
r6idn.12xlarge 120 Memory optimized 4.689 yes 384 48 x86_64 0.039 0.012 0.097
r5b.16xlarge 120 Memory optimized 4.768 yes 512 64 x86_64 0.039 0.009 0.074
m7i.24xlarge 120 General purpose 4.838 yes 384 96 x86_64 0.040 0.012 0.050
m7i.metal-24xl 120 General purpose 4.838 yes 384 96 x86_64 0.040 0.012 0.050
c6id.24xlarge 120 Compute optimized 4.838 yes 192 96 x86_64 0.040 0.025 0.050
r6id.16xlarge 120 Memory optimized 4.838 yes 512 64 x86_64 0.040 0.009 0.075
r7a.16xlarge 120 Memory optimized 4.868 yes 512 64 x86_64 0.040 0.009 0.076
c6a.32xlarge 120 Compute optimized 4.896 yes 256 128 x86_64 0.040 0.019 0.038
c7a.24xlarge 120 Compute optimized 4.926 yes 192 96 x86_64 0.041 0.025 0.051
i4g.16xlarge 120 Storage Optimized 4.942 yes 512 64 arm64 0.041 0.009 0.077
m5ad.24xlarge 120 General purpose 4.944 yes 384 96 x86_64 0.041 0.012 0.051
m6idn.16xlarge 120 General purpose 5.091 yes 256 64 x86_64 0.042 0.019 0.079
r5dn.16xlarge 120 Memory optimized 5.344 yes 512 64 x86_64 0.044 0.010 0.083
x2gd.16xlarge 120 Memory optimized 5.344 yes 1024 64 arm64 0.044 0.005 0.083
x2gd.metal 120 Memory optimized 5.344 yes 1024 64 arm64 0.044 0.005 0.083
m5d.24xlarge 120 General purpose 5.424 yes 384 96 x86_64 0.045 0.014 0.056
m5d.metal 120 General purpose 5.424 yes 384 96 x86_64 0.045 0.014 0.056
r5a.24xlarge 120 Memory optimized 5.424 yes 768 96 x86_64 0.045 0.007 0.056
c6i.32xlarge 120 Compute optimized 5.44 yes 256 128 x86_64 0.045 0.021 0.042
c6i.metal 120 Compute optimized 5.44 yes 256 128 x86_64 0.045 0.021 0.042
c6in.24xlarge 120 Compute optimized 5.443 yes 192 96 x86_64 0.045 0.028 0.056
r6a.24xlarge 120 Memory optimized 5.443 yes 768 96 x86_64 0.045 0.007 0.056
i4i.16xlarge 248 Storage Optimized 5.491 yes 512 64 x86_64 0.022 0.010 0.085
m6a.32xlarge 120 General purpose 5.529 yes 512 128 x86_64 0.046 0.010 0.043
m7a.24xlarge 120 General purpose 5.564 yes 384 96 x86_64 0.046 0.014 0.057
r6in.16xlarge 120 Memory optimized 5.578 yes 512 64 x86_64 0.046 0.010 0.087
r8g.24xlarge 120 Memory optimized 5.655 yes 768 96 arm64 0.047 0.007 0.058
r8g.metal-24xl 120 Memory optimized 5.655 yes 768 96 arm64 0.047 0.007 0.058
g5.12xlarge 120 Accelerated computing 5.672 yes 192 48 x86_64 0.047 0.029 0.118
m6id.24xlarge 120 General purpose 5.695 yes 384 96 x86_64 0.047 0.014 0.059
hpc6id.32xlarge 120 High performance computing 5.7 yes 1024 64 x86_64 0.047 0.005 0.089
im4gn.16xlarge 120 Storage Optimized 5.820 yes 256 64 arm64 0.048 0.022 0.090
r7iz.16xlarge 120 Memory optimized 5.952 yes 512 64 x86_64 0.049 0.011 0.093
r7iz.metal-16xl 120 Memory optimized 5.952 yes 512 64 x86_64 0.049 0.011 0.093
r5.24xlarge 120 Memory optimized 6.048 yes 768 96 x86_64 0.050 0.007 0.063
r6i.24xlarge 120 Memory optimized 6.048 yes 768 96 x86_64 0.050 0.007 0.063
m6i.32xlarge 120 General purpose 6.144 yes 512 128 x86_64 0.051 0.012 0.048
m6i.metal 120 General purpose 6.144 yes 512 128 x86_64 0.051 0.012 0.048
r6idn.16xlarge 120 Memory optimized 6.252 yes 512 64 x86_64 0.052 0.012 0.097
r5ad.24xlarge 120 Memory optimized 6.288 yes 768 96 x86_64 0.052 0.008 0.065
r7i.24xlarge 120 Memory optimized 6.350 yes 768 96 x86_64 0.052 0.008 0.066
r7i.metal-24xl 120 Memory optimized 6.350 yes 768 96 x86_64 0.052 0.008 0.066
c6id.32xlarge 120 Compute optimized 6.451 yes 256 128 x86_64 0.053 0.025 0.050
c6id.metal 120 Compute optimized 6.451 yes 256 128 x86_64 0.053 0.025 0.050
inf2.24xlarge 120 Accelerated computing 6.490 yes 384 96 x86_64 0.054 0.016 0.067
c7a.32xlarge 120 Compute optimized 6.568 yes 256 128 x86_64 0.054 0.025 0.051
x2idn.16xlarge 120 Memory optimized 6.669 yes 1024 64 x86_64 0.055 0.006 0.104
x2iedn.8xlarge 120 Memory optimized 6.669 yes 1024 32 x86_64 0.055 0.006 0.208
g6.24xlarge 120 Accelerated computing 6.675 yes 384 96 x86_64 0.055 0.017 0.069
m6in.24xlarge 120 General purpose 6.683 yes 384 96 x86_64 0.055 0.017 0.069
r5d.24xlarge 120 Memory optimized 6.912 yes 768 96 x86_64 0.057 0.009 0.072
c6in.32xlarge 120 Compute optimized 7.257 yes 256 128 x86_64 0.060 0.028 0.056
c6in.metal 120 Compute optimized 7.257 yes 256 128 x86_64 0.060 0.028 0.056
r6a.32xlarge 120 Memory optimized 7.257 yes 1024 128 x86_64 0.060 0.007 0.056
r6id.24xlarge 120 Memory optimized 7.257 yes 768 96 x86_64 0.060 0.009 0.075
r7a.24xlarge 120 Memory optimized 7.303 yes 768 96 x86_64 0.060 0.009 0.076
c6a.48xlarge 120 Compute optimized 7.344 yes 384 192 x86_64 0.061 0.019 0.038
c6a.metal 120 Compute optimized 7.344 yes 384 192 x86_64 0.061 0.019 0.038
m7a.32xlarge 120 General purpose 7.418 yes 512 128 x86_64 0.061 0.014 0.057
m6id.32xlarge 120 General purpose 7.593 yes 512 128 x86_64 0.063 0.014 0.059
m6id.metal 120 General purpose 7.593 yes 512 128 x86_64 0.063 0.014 0.059
m6idn.24xlarge 120 General purpose 7.637 yes 384 96 x86_64 0.063 0.019 0.079
r6i.32xlarge 120 Memory optimized 8.064 yes 1024 128 x86_64 0.067 0.007 0.063
r6i.metal 120 Memory optimized 8.064 yes 1024 128 x86_64 0.067 0.007 0.063
g5.24xlarge 120 Accelerated computing 8.144 yes 384 96 x86_64 0.067 0.021 0.084
i4i.24xlarge 118 Storage Optimized 8.236 yes 768 96 x86_64 0.069 0.010 0.085
m6a.48xlarge 120 General purpose 8.294 yes 768 192 x86_64 0.069 0.010 0.043
m6a.metal 120 General purpose 8.294 yes 768 192 x86_64 0.069 0.010 0.043
r6in.24xlarge 120 Memory optimized 8.367 yes 768 96 x86_64 0.069 0.010 0.087
c7i.48xlarge 120 Compute optimized 8.568 yes 384 192 x86_64 0.071 0.022 0.044
c7i.metal-48xl 120 Compute optimized 8.568 yes 384 192 x86_64 0.071 0.022 0.044
m6in.32xlarge 120 General purpose 8.910 yes 512 128 x86_64 0.074 0.017 0.069
m6in.metal 120 General purpose 8.910 yes 512 128 x86_64 0.074 0.017 0.069
r6idn.24xlarge 120 Memory optimized 9.378 yes 768 96 x86_64 0.078 0.012 0.097
m7i.48xlarge 120 General purpose 9.676 yes 768 192 x86_64 0.080 0.012 0.050
m7i.metal-48xl 120 General purpose 9.676 yes 768 192 x86_64 0.080 0.012 0.050
r6id.32xlarge 120 Memory optimized 9.676 yes 1024 128 x86_64 0.080 0.009 0.075
r6id.metal 120 Memory optimized 9.676 yes 1024 128 x86_64 0.080 0.009 0.075
r7a.32xlarge 120 Memory optimized 9.737 yes 1024 128 x86_64 0.081 0.009 0.076
c7a.48xlarge 120 Compute optimized 9.853 yes 384 192 x86_64 0.082 0.025 0.051
c7a.metal-48xl 120 Compute optimized 9.853 yes 384 192 x86_64 0.082 0.025 0.051
x2idn.24xlarge 120 Memory optimized 10.00 yes 1536 96 x86_64 0.083 0.006 0.104
m6idn.32xlarge 120 General purpose 10.18 yes 512 128 x86_64 0.084 0.019 0.079
m6idn.metal 120 General purpose 10.18 yes 512 128 x86_64 0.084 0.019 0.079
r6a.48xlarge 120 Memory optimized 10.88 yes 1536 192 x86_64 0.090 0.007 0.056
r6a.metal 120 Memory optimized 10.88 yes 1536 192 x86_64 0.090 0.007 0.056
i4i.metal 498 Storage Optimized 10.98 yes 1024 128 x86_64 0.022 0.010 0.085
i4i.32xlarge 498 Storage Optimized 10.98 yes 1024 128 x86_64 0.022 0.010 0.085
m7a.48xlarge 120 General purpose 11.12 yes 768 192 x86_64 0.092 0.014 0.057
m7a.metal-48xl 120 General purpose 11.12 yes 768 192 x86_64 0.092 0.014 0.057
r6in.32xlarge 120 Memory optimized 11.15 yes 1024 128 x86_64 0.092 0.010 0.087
r6in.metal 120 Memory optimized 11.15 yes 1024 128 x86_64 0.092 0.010 0.087
r8g.48xlarge 120 Memory optimized 11.31 yes 1536 192 arm64 0.094 0.007 0.058
r8g.metal-48xl 120 Memory optimized 11.31 yes 1536 192 arm64 0.094 0.007 0.058
r7iz.32xlarge 120 Memory optimized 11.90 yes 1024 128 x86_64 0.099 0.011 0.093
r7iz.metal-32xl 120 Memory optimized 11.90 yes 1024 128 x86_64 0.099 0.011 0.093
r6idn.32xlarge 120 Memory optimized 12.50 yes 1024 128 x86_64 0.104 0.012 0.097
r6idn.metal 120 Memory optimized 12.50 yes 1024 128 x86_64 0.104 0.012 0.097
r7i.48xlarge 120 Memory optimized 12.70 yes 1536 192 x86_64 0.105 0.008 0.066
r7i.metal-48xl 120 Memory optimized 12.70 yes 1536 192 x86_64 0.105 0.008 0.066
inf2.48xlarge 120 Accelerated computing 12.98 yes 768 192 x86_64 0.108 0.016 0.067
x2idn.32xlarge 120 Memory optimized 13.33 yes 2048 128 x86_64 0.111 0.006 0.104
x2idn.metal 120 Memory optimized 13.33 yes 2048 128 x86_64 0.111 0.006 0.104
x2iedn.16xlarge 120 Memory optimized 13.33 yes 2048 64 x86_64 0.111 0.006 0.208
g6.48xlarge 120 Accelerated computing 13.35 yes 768 192 x86_64 0.111 0.017 0.069
r7a.48xlarge 120 Memory optimized 14.60 yes 1536 192 x86_64 0.121 0.009 0.076
r7a.metal-48xl 120 Memory optimized 14.60 yes 1536 192 x86_64 0.121 0.009 0.076
g5.48xlarge 120 Accelerated computing 16.28 yes 768 192 x86_64 0.135 0.021 0.084
x2iedn.24xlarge 120 Memory optimized 20.00 yes 3072 96 x86_64 0.166 0.006 0.208
trn1.32xlarge 120 Accelerated computing 21.5 yes 512 128 x86_64 0.179 0.041 0.167
trn1n.32xlarge 242 Accelerated computing 24.78 yes 512 128 x86_64 0.102 0.048 0.193
x2iedn.32xlarge 120 Memory optimized 26.67 yes 4096 128 x86_64 0.222 0.006 0.208
x2iedn.metal 120 Memory optimized 26.67 yes 4096 128 x86_64 0.222 0.006 0.208
u-3tb1.56xlarge 12 Memory optimized 27.3 yes 3072 224 x86_64 2.275 0.008 0.121
p4d.24xlarge 120 Accelerated computing 32.77 yes 1152 96 x86_64 0.273 0.028 0.341
u-6tb1.56xlarge 12 Memory optimized 46.40 yes 6144 224 x86_64 3.866 0.007 0.207
p5.48xlarge 242 Accelerated computing 98.32 yes 2048 192 x86_64 0.406 0.048 0.512
For more information, email us at [email protected] or call us on 01609 635 932

Author

Simon Gurney

- CTO -

Simon is one of the Punk Security Directors and has over 17 years experience working within IT, primarily focused on automation and InfoSec.

read more