Database Service Limitations

Know the Constraints & Boundaries

RDS Limitations

Storage Limits

64 TiB maximum storage per instance

Read Replicas

Maximum 15 read replicas per source

Backup Retention

35 days maximum retention period

Database Names

63 characters maximum length

Aurora Limitations

Cluster Volume

128 TiB maximum cluster volume size

Read Replicas

15 Aurora replicas per cluster

Global Database

5 secondary regions maximum

Backtrack

72 hours maximum backtrack window

Connection Limits by Instance Type

db.t3.micro

Smallest instance type

  • • MySQL: ~66 connections
  • • PostgreSQL: ~87 connections
  • • Memory-based calculation

db.r5.large

Memory optimized

  • • MySQL: ~1,000 connections
  • • PostgreSQL: ~1,320 connections
  • • Higher memory = more connections

db.r5.24xlarge

Largest instance

  • • MySQL: ~16,000 connections
  • • PostgreSQL: ~26,000 connections
  • • Formula: DBInstanceClassMemory/12582880

ElastiCache Redis

Memory Limit

6.1 TiB per node maximum

Cluster Nodes

500 nodes per cluster maximum

Shards

500 shards per cluster

Connections

65,000 concurrent connections

ElastiCache Memcached

Memory Limit

4.7 TiB per node maximum

Cluster Nodes

40 nodes per cluster maximum

Object Size

1 MB maximum per object

Key Length

250 bytes maximum key length

DynamoDB Limitations

Item Size

400 KB maximum

Attribute Name

255 characters max

Query Result

1 MB maximum

Batch Operations

25 items maximum

Regional Limitations

Service Availability

Not all services in all regions

Instance Types

Limited instance types in some regions

Cross-Region

Data transfer costs apply

Time-based Limitations

Maintenance Windows

30 minutes minimum duration

Backup Windows

Cannot overlap with maintenance

Snapshot Restore

Time depends on data size

Common Gotchas & Workarounds

Cannot Encrypt Existing Database

Problem: Encryption must be enabled at creation

Workaround: Create encrypted snapshot → Restore to new encrypted instance

Connection Exhaustion

Problem: Too many concurrent connections

Workaround: Use RDS Proxy or connection pooling

Storage Full

Problem: Database becomes read-only when storage full

Workaround: Enable storage autoscaling or monitor storage metrics

Service Quotas

DB Instances

40 instances per region (adjustable)

Parameter Groups

50 per region (adjustable)

Subnet Groups

50 per region

Mitigation Strategies

Monitor Metrics

Set up CloudWatch alarms

Plan Capacity

Right-size instances and storage

Request Increases

Use Service Quotas console

Limitations Exam Tips

  • • Know the maximum storage limits: RDS (64 TiB), Aurora (128 TiB)
  • • Connection limits are based on instance memory size
  • • Cannot encrypt existing unencrypted databases - must restore from encrypted snapshot
  • • Service quotas are adjustable through AWS Support or Service Quotas console
  • • Monitor key metrics to avoid hitting limits unexpectedly
RDS Proxy Deep Dive Parameter Groups Deep Dive