AWS Service Quotas, or AWS has a LOT of Services!
Tags: aws, leadership, otherposts
Published: 2023-04-19 20:16:33

---
title: AWS Service Quotas, or AWS has a LOT of Services!
published: true
date: 2023-02-15 18:03:21 UTC
tags: AWS,Leadership,OtherPosts
canonical_url: https://unskript.com/aws-service-quotas-or-aws-has-a-lot-of-services/
---

In our [recent post](https://unskript.com/aws-service-quotas-what-are-they-and-how-can-i-increase-them/), we unveiled unSkript Actions that can query AWS Service Quotas.  Service quotas are limits imposed by AWS on how many times a certain AWS feature can be used.  Most of them are adjustable with a simple request, and our post showed how to determine your Service Quota values, AND request an increase using unSkript.

In this post, I thought it might be fun to dig into AWS Service Quotas a bit deeper, and get s general idea of how Service Quotas fit into the AWS landscape.

To get the Service Quota value, you need to know the Service Name, and the Quota Code.  But how do you get these values?

## AWS Service Names

We can get all of the AWS Service Names using the Service Node endpoint. Running this call, we find that there are 221 named services in AWS (as of Feb 15, 2023).  AWS gets a [lot](https://ben11kehoe.medium.com/dear-aws-we-need-to-talk-about-service-naming-d33ea68027d8) [of](https://expeditedsecurity.com/aws-in-plain-english/) [flak](https://twitter.com/QuinnyPig/status/1070451608050315264) for their naming conventions, but with so many services, if course some are going to have sup-optimal names. Lucky for us, we’ll be using the ServiceCode, and not the Service Name, so “_ **AWS Systems Manager Incident Manager Contacts** _” is simply “ **_ssm-contacts_** ” and “_**AWS IAM Identity Center (successor to AWS Single Sign-On)**_” is just “_ **sso.** _”

## AWS Service Quotas

Next, we can run these 221 named services against the “List Service Quotas” endpoint to get all of the Service Quotas for all of the Services.  Only 113 of AWS Services (51%) have features that have a service quota.  Even with just half of services having quotas – there are a _ **LOT** _ of preset quotas in AWS:  2,629 of them in fact! (Feb 15,2023)

| Service Code | Count of  Quota Name |
| --- | --- |
| sagemaker | 702 |
| ec2 | 131 |
| iotwireless | 102 |
| kinesisvideo | 82 |
| rekognition | 80 |
| personalize | 66 |
| cases | 65 |
| braket | 62 |
| elasticmapreduce | 60 |
| geo | 60 |
| comprehend | 56 |
| kms | 53 |
| lookoutmetrics | 44 |
| sns | 44 |
| logs | 41 |
| apigateway | 38 |
| iotcore | 37 |
| chime | 36 |
| forecast | 33 |
| ebs | 32 |
| glue | 28 |
| acm-pca | 26 |
| fsx | 26 |
| robomaker | 24 |
| rds | 24 |
| elasticloadbalancing | 22 |
| dataexchange | 22 |
| mediapackage | 22 |
| monitoring | 22 |
| cognito-idp | 21 |
| elasticfilesystem | 21 |
| vpc | 21 |
| fis | 19 |
| servicecatalog | 17 |
| omics | 17 |
| ssm-contacts | 16 |
| application-autoscaling | 15 |
| ssm | 15 |
| cassandra | 14 |
| frauddetector | 14 |
| imagebuilder | 14 |
| servicequotas | 13 |
| workspaces | 13 |
| textract | 13 |
| lex | 13 |
| events | 12 |
| amplify | 11 |
| appmesh | 11 |
| route53resolver | 11 |
| iottwinmaker | 11 |
| databrew | 11 |
| medialive | 11 |
| rolesanywhere | 10 |
| mgn | 10 |
| access-analyzer | 9 |
| eks | 9 |
| groundstation | 9 |
| nimble | 9 |
| dms | 9 |
| dynamodb | 9 |
| workspaces-web | 8 |
| ecr | 8 |
| ivschat | 8 |
| profile | 8 |
| batch | 7 |
| proton | 7 |
| mediastore | 7 |
| drs | 6 |
| appconfig | 6 |
| pinpoint | 6 |
| schemas | 5 |
| cloudformation | 5 |
| athena | 5 |
| m2 | 5 |
| ivs | 5 |
| ec2-ipam | 5 |
| es | 5 |
| refactor-spaces | 4 |
| kafka | 4 |
| resiliencehub | 4 |
| app-integrations | 4 |
| network-firewall | 4 |
| resource-explorer-2 | 3 |
| AWSCloudMap | 3 |
| qldb | 3 |
| ssm-sap | 3 |
| mediaconnect | 3 |
| auditmanager | 3 |
| sms | 2 |
| lambda | 2 |
| guardduty | 2 |
| ram | 2 |
| ses | 2 |
| autoscaling | 2 |
| fargate | 2 |
| cloudhsm | 2 |
| outposts | 2 |
| airflow | 2 |
| dlm | 2 |
| license-manager | 2 |
| ssm-guiconnect | 1 |
| connect-campaigns | 1 |
| connect | 1 |
| macie2 | 1 |
| iotanalytics | 1 |
| emr-serverless | 1 |
| codeguru-profiler | 1 |
| autoscaling-plans | 1 |
| firehose | 1 |
| codeguru-reviewer | 1 |
| kinesis | 1 |
| grafana | 1 |
| ec2fastlaunch | 1 |

As Machine Learning can be a very expensive process, it is no surprise that Amazon SageMaker leads the pack with over 700 service quotas.  2nd in line is an oldie but a goodie, Amazon’s EC2 (debuted in 2006!) with 131 quotas.

## What do we know about quotas?

The longest quota name belongs to Rekognition, and it is quote a mouthful:

_ **Transactions per second per account for the Amazon Rekognition Image personal protective equipment operation DetectProtectiveEquipment**. _with a quota of 5.  That’s a lot of words to say that the service can scan 5 frames per second to identify a helmet, face mask or gloves on anyone in the picture.  This quota can be adjusted, if desired.

The largest Quota is **ElasticFileSystem’s file size** , weighing in at 52673613135872 bytes.  (Which, if I did my math correctly, is 47.9 TB).  This is a hard limit and cannot be adjusted.

The second largest quota is the **Maximum number of rows in a dataset** for **Amazon Forecast,** with a soft limit of 3 billion rows.  You can request that this number be increased.

![3 billion rows meme](https://i0.wp.com/unskript.com/wp-content/uploads/2023/02/3billion.jpeg?resize=500%2C500&ssl=1)

## Quota adjustment

Of the 2,629 quotas, 2,003 can be adjusted (76%), and 626 (24%) cannot be changed.

## Quota Units

Only 87 of our quotas have units (3.3%).  20 are time based, and the remaining 67 are data sizes (of varying magnitude):

| Unit | Count |
| --- | --- |
| Millisecond | 2 |
| Second | 18 |

These vary from 200 ms ( **API Gateway Maximum Integration Timeout** ) to 30 days: **SageMaker’s Longest run time for an AutoML job from creation to termination**. In case you were wondering, 30 days is also 2,592,000 seconds.)

When it comes to units, there’s nothing like arbitrarily multiplying by 1024 to change the units (and I see you MegaBits and your extra x8… but these are all throughput, so I’ll give that a pass).

| Unit | Count |
| --- | --- |
| Bytes | 11 |
| Kilobytes | 15 |
| Megabits | 4 |
| Megabytes | 13 |
| Gigabytes | 22 |
| Terabytes | 2 |

The smallest value is **Lookout Metrics Value Length** at 40 Bytes, and the largest is **RDS Total storage for all DB instances** at 100,000 GB (or 97 TB).

The winner for the oddest size measurement goes to **_Elasticfilesystem’s Throughput per NFC Client_** at 524.288 MegaBytes.

## Summary

While looking at the giant list of AWS Service Quotas, I thought it might be fun to look at the data more closely. It remains to be seen whether the unSkript team will continue to let me use PivotTables to look at data.

More importantly, the list of Service quotas – with the Service Code and Quota Code are all in one table, and we have published the Feb 15, 2023 list in the [unSkript Docs](https://docs.unskript.com/unskript-product-documentation/lists/test).

If you’re interested in learning more about unSkript, join our [Slack Community](https://communityinviter.com/apps/cloud-ops-community/awesome-cloud-automation), or check out our [Open Source](https://github.com/unskript/Awesome-CloudOps-Automation) repo, you can run unSkript Open Source locally with Docker!