REL01-BP01: Aware of service quotas and constraints
You are aware of your default quotas and quota increase requests for your workload architecture. You additionally understand how quotas apply to your architecture and which quotas are shared across accounts or regions.
Implementation guidance
Understanding AWS service quotas and constraints is fundamental to building reliable workloads. Service quotas define the maximum number of resources you can create or the maximum rate at which you can make API calls for AWS services. Being aware of these limits helps you design resilient architectures, plan for growth, and avoid service disruptions.
Key steps for implementing this best practice:
- Inventory current service usage and quotas:
- Document all AWS services used in your workload architecture
- Identify current usage levels for each service and resource type
- Review default service quotas for all services in use
- Understand which quotas are soft limits (adjustable) vs hard limits
- Map quota dependencies between services and resources
- Implement quota monitoring and alerting:
- Set up CloudWatch metrics and alarms for quota utilization
- Create automated alerts when approaching quota limits (typically at 80% utilization)
- Implement dashboard visualization for quota usage across services
- Establish regular quota review processes and schedules
- Monitor quota usage trends and growth patterns
- Plan for quota increases and growth:
- Forecast future resource needs based on business growth projections
- Submit quota increase requests proactively before reaching limits
- Understand AWS quota increase approval processes and timelines
- Plan for seasonal or event-driven traffic spikes
- Document quota increase history and rationale
- Design architecture with quota awareness:
- Distribute workloads across multiple regions to leverage regional quotas
- Use multiple AWS accounts to increase effective quotas
- Implement resource pooling and sharing strategies
- Design for graceful degradation when approaching quota limits
- Consider alternative services or architectures when quotas are constraining
- Establish quota governance and processes:
- Create quota management policies and procedures
- Define roles and responsibilities for quota monitoring and requests
- Implement approval workflows for quota increase requests
- Establish communication channels for quota-related issues
- Document quota-related architectural decisions and trade-offs
- Test quota limits and failure scenarios:
- Conduct chaos engineering experiments to test quota limit behavior
- Validate application behavior when quotas are exceeded
- Test failover and recovery mechanisms related to quota constraints
- Verify monitoring and alerting effectiveness for quota events
- Document and practice quota-related incident response procedures
Implementation examples
Example 1: Comprehensive quota monitoring and alerting system
Example 2: Automated quota increase request system
Example 3: CloudFormation template for quota monitoring infrastructure
Example 4: Quota awareness integration with Terraform
AWS services to consider
Benefits of being aware of service quotas and constraints
- Proactive capacity planning: Enables planning for growth and avoiding service disruptions
- Improved reliability: Prevents application failures due to quota limits being reached
- Cost optimization: Helps optimize resource usage and avoid unnecessary quota increases
- Better architecture decisions: Informs architectural choices based on service constraints
- Faster incident resolution: Reduces time to identify and resolve quota-related issues
- Enhanced monitoring: Provides visibility into resource utilization and growth trends
- Automated management: Enables automated quota monitoring and increase request processes
- Compliance assurance: Ensures adherence to organizational resource usage policies