Overview
The RDS Free Tier resource provides a cost-effective PostgreSQL database instance that qualifies for the AWS Free Tier program. It’s optimized for development, testing, and learning environments with minimal configuration and lower resource allocation. Perfect for new AWS accounts, proof-of-concepts, and non-production workloads. RDS Free Tier is ideal for:- Development and testing environments
- Learning and experimentation with PostgreSQL
- Proof-of-concept projects
- Demo applications and tutorials
- Personal projects and side applications
- New AWS accounts utilizing free tier benefits
- AWS Free Tier eligible (750 hours/month for 12 months)
- PostgreSQL 17.5 latest engine version
- db.t3.micro instance (1 vCPU, 1 GB RAM)
- Single-AZ deployment for cost efficiency
- 20 GB storage included in free tier
- Customer-managed KMS encryption for security
- Secrets Manager integration for credential management
- 7-day backup retention default
AWS Free Tier Eligibility
Free Tier includes:- 750 hours per month of db.t3.micro usage (first 12 months)
- 20 GB of General Purpose (SSD) storage
- 20 GB of backup storage
- No charge for data transfer within same region
- db.t3.micro: ~12/month)
- Storage: 2.30/month
- Total: ~$15/month after free tier period
Resource Class
Basic Usage
Configuration Options
Core Properties
| Property | Type | Description | Default |
|---|---|---|---|
vpc | IVpc | VPC for database deployment (required) | - |
databaseName | string | Database name | "postgres" |
engine | IInstanceEngine | PostgreSQL engine version | PostgreSQL 17.5 |
instanceType | InstanceType | Instance size (must be free tier eligible) | t3.micro |
port | number | Database port | 5432 |
Storage Configuration
| Property | Type | Description | Default |
|---|---|---|---|
allocatedStorage | number | Storage in GB (20 GB free) | 20 |
Backup Configuration
| Property | Type | Description | Default |
|---|---|---|---|
backupRetention | Duration | Backup retention period | Duration.days(7) |
Monitoring Configuration
| Property | Type | Description | Default |
|---|---|---|---|
monitoringInterval | Duration | Enhanced monitoring interval | Duration.minutes(1) |
Default Configuration
The RDS Free Tier construct includes these defaults:- PostgreSQL 17.5 latest stable version
- db.t3.micro instance (1 vCPU, 1 GB RAM)
- Single-AZ deployment (no Multi-AZ)
- 20 GB storage (free tier limit)
- No storage auto-scaling (cost control)
- Customer-managed KMS encryption for storage
- Secrets Manager integration for credentials
- 7-day backup retention
- Enhanced monitoring every 1 minute
- No RDS Proxy (not needed for low traffic)
- No read replicas (free tier focused)
- No Performance Insights (cost optimization)
Usage Patterns
Pattern 1: Basic Development Database
Pattern 2: Learning and Tutorials
Pattern 3: Proof of Concept
Pattern 4: Side Project
Integration Examples
With Lambda Functions
With ECS Services
With EC2 Development Instance
Security Configuration
Network Isolation
Access Credentials
Encryption at Rest
Limitations and Constraints
Free Tier Limits
Performance Expectations
Single-AZ Only
Cost Management
Staying Within Free Tier
After Free Tier Expires
Cost Monitoring
Upgrade Path
Transitioning to RdsInstance
When to Upgrade
Upgrade from Free Tier when:- Free tier eligibility expires (12 months)
- Need more than 1 GB RAM
- Dataset exceeds 15 GB
- Require Multi-AZ for high availability
- Need better performance (CPU burst limits)
- Moving to production
Methods
getHostEndpoint()
getHostPort()
getCredentials()
Complete Example
Best Practices
- Monitor free tier usage - check AWS Console billing dashboard regularly
- Set billing alarms - alert when charges exceed expected amounts
- Use for dev/test only - not suitable for production workloads
- Keep storage under 20 GB - avoid overage charges
- Implement connection pooling - 1 GB RAM limits connections
- Use appropriate instance type - only t3.micro is free tier eligible
- Plan upgrade path - know when to transition to RdsInstance
- Optimize queries - limited CPU and memory require efficiency
- Clean up unused resources - avoid charges after free tier expires
- Understand limitations - single-AZ, no high availability
Common Patterns
Development Environment
Learning PostgreSQL
Multi-Tenant Development
Cost Considerations
| Component | Free Tier | After Free Tier | Notes |
|---|---|---|---|
| db.t3.micro | 750 hours/month | ~$12/month | Full month coverage |
| Storage (20 GB) | Included | ~$2.30/month | gp3 pricing |
| Backups | Included | Included | Up to DB size |
| KMS Key | Not covered | $1/month | Required for encryption |
| Secrets Manager | Not covered | ~$0.40/month | Credential storage |
| Total | ~$1.40/month | ~$16/month | First 12 months vs after |
- New AWS accounts only
- 12 months from account creation
- 750 hours/month = continuous operation
- 20 GB storage + 20 GB backups
Troubleshooting
Common Issues
-
Free tier charges appearing
- Cause: Instance type not t3.micro, storage > 20 GB, or Multi-AZ enabled
- Solution: Verify instance type, reduce storage, ensure single-AZ
-
Connection timeouts
- Cause: Security group misconfigured, database in isolated subnet without NAT
- Solution: Check security group rules, verify subnet routing
-
Out of memory errors
- Cause: 1 GB RAM insufficient for workload
- Solution: Optimize queries, reduce connections, upgrade to larger instance
-
Storage full
- Cause: 20 GB limit reached, no auto-scaling
- Solution: Clean up data, or upgrade to RdsInstance with more storage
-
Slow performance
- Cause: t3.micro CPU burst credits exhausted
- Solution: Optimize queries, reduce load, or upgrade instance type
Debug Commands
SQL Diagnostics
Related Resources
- RDS Instance - Standard RDS for production workloads
- RDS Aurora - Aurora Serverless for auto-scaling
- VPC - Network configuration
- Security Group - Network access controls
- Secrets Manager - Credential management
- Lambda Function - Serverless compute (also free tier)