Overview
The Resilient pattern targets mission-critical applications that need high availability, data durability, and disaster recovery. It deploys across 3 Availability Zones with KMS encryption, an Aurora PostgreSQL database, RDS Proxy, and enhanced monitoring.What’s Included
- ECS Fargate with auto-scaling across multiple AZs
- Aurora PostgreSQL database with automatic failover
- KMS encryption for data at rest (customer-managed keys)
- RDS Proxy for connection pooling and failover handling
- Enhanced monitoring with Database Insights (advanced mode)
- 30-day backup retention with point-in-time recovery
Architecture
Generated Infrastructure
Specifications
Compute (ECS Fargate)
Database (Aurora)
Security
High Availability Features
Multi-AZ Deployment
- ECS tasks spread across 3 AZs
- Aurora with automatic failover
- ALB routing across AZs
- 3 NAT Gateways (one per AZ)
Auto-Scaling Policies
Database Features
- Automatic failover: Aurora promotes a reader on writer failure
- Reader instances: 2 readers for read scaling and redundancy
- Fast cloning: copy-on-write database copies for testing
- RDS Proxy: pooled connections survive failover with minimal disruption
Disaster Recovery
RTO and RPO Targets
Backup Strategy
- Continuous backups: Aurora to S3 with point-in-time recovery
- Cross-region snapshots: daily
- Application state: S3 with versioning
- Configuration: AWS Systems Manager
Monitoring and Alerting
CloudWatch Dashboards
- Service health overview
- Database performance metrics
- Application business metrics
- Cost tracking dashboard
Alarms Configuration
Cost Estimation
Costs vary with traffic and database load.
Security Hardening
KMS Encryption
- All data at rest encrypted with customer-managed KMS keys
- Aurora storage encryption
- S3 bucket encryption
- EBS volume encryption
Compliance Features
When to Use
Choose Resilient for:- E-commerce platforms
- Financial services
- Healthcare applications
- SaaS platforms
- Government systems
- Any mission-critical application
- Low-traffic application (use Standard)
- Cost is the primary concern (use Lightweight)
- Development only (use Tinkerer)
Migration from Standard
- Switch from an RDS Instance to Aurora
- Raise the minimum task count to 4
- Add KMS encryption
- Configure enhanced monitoring
- Set up cross-region backups
Best Practices
- Test failover procedures regularly
- Monitor costs closely, as they scale with traffic
- Document runbooks for incidents
- Practise chaos engineering
- Run regular security audits
- Performance-test at scale
- Apply cost-allocation tags for tracking
Next Steps
Deploy your application
Push the Resilient stack to AWS.
Add resources
Extend the infrastructure with storage, messaging, and more.
Compute Factory
Customise the ECS Fargate compute layer.
Load balancer
Configure CloudFront and ALB routing.