Handing Service Quotas in AWS
Using the Service Quota Console
The Scope
We have been used to use the AWS Support Center generally to handle Service Quotas in the past. However, AWS introduced AWS Service Quota Console to do this job in much more abstract manner. This blog gives you an overview of this new feature.
Why a Service Quota increase?
By default, most of AWS services have service limits on the basis of per region or per account. Most of these service quota limits have relatively smaller values by default and if you want to develop more complex systems, these service quota limits need to be increased.
Though most of these service quota limits are allowed to be increased, there are some of them, which AWS will not allow you to be changed. This is purely due to challenges faced by doing so within the AWS infrastructure. One of the key popular limit is the “maximum number of IAM users you can have within an AWS account is 5,000”, which is not allowed to be increased further by AWS.
You can get an idea about service quotas for each Service Endpoint in AWS using this link. This particular links gives you all the Service Endpoints available and default service quotas.
Managing Service Quotas
However, as mentioned before, AWS has its own Service Quotas Console for us to manage those limits in a more abstract manner. Lets see how we can do this now.
Step 1: Login to your AWS account and search for “Service Quotas”. You will see the following Dashboard (See Figure 1 and 2).
Step 2: Click AWS Services link on the left menu to see all AWS services with limits (See Figure 3).
If you need a service limit increase of AWS EC2 you may search for EC2 using the search box (See Figure 4).
Now you can select provided service limits under EC2 and select the area that you want to focus on. In this example, we select Amazon EC2 Auto Scaling (See Figure 5).
On Figure 5, you can see service quotas with three attributes.
- Applied quota value — This is the value already applied
- AWS default quota value — The default values provided by AWS
- Adjustable — If these limits could be adjusted. If it say YES, then you can click the Auto Scaling Feature to get to the next screen for adjustments (See Figure 6 and 7).
Managing Service Quotas at AWS Organizational Level
Rather increasing service quotas one by one as you did before, you can create a template with all required service quota increases for an AWS organization that you are trying to create. This will reduce a lot of time for you in the long run.
Step 1: Click the Quota Request Template (under Organizations) link on the left side menu (See Figure 8).
Step 2: Click Associate button on right (See Figure 8) to activate the quota request template to any newly created account in your AWS organization. This will automatically requests the increased quota values. However, existing accounts in your AWS organization will not be effected with this change (See Figure 9).
Creating a CloudWatch Alarm based on a Service Quota
Step 1: Click AWS Services link on the left menu and select AWS Lambda as the service and select Concurrent Executions from the list (See Figure 10).
Once clicked, you will be forwarded to the next page which has a Monitoring section along with CloudWatch Alarms. There you can add any CloudWatch alarms by clicking the Create button under CloudWatch Alarms (See Figure 11).
Step 2: Now you can create the CloudWatch Alarm for exceeding the number of AWS Lambda concurrent executions (by default 1000). (See Figure 12).
Conclusion
As mentioned, we used to increase service quota limits using the AWS Support Center Console. With the introduction of a separate Service Quota Console, as solution architects we have been given a much more improved interface to control/ manage service level quotas and even to create templates for your new AWS accounts under your AWS organizational level.
References
- Service Endpoints and Quotas: https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html