AWS provides several built-in monitoring tools, but they’re designed to monitor AWS, not your users’ experience. Here’s how to set up comprehensive uptime monitoring for AWS-hosted services.
AWS Built-in Options
CloudWatch Alarms
CloudWatch monitors AWS resource metrics (CPU, memory, network, disk) and can trigger alarms when thresholds are breached. It’s essential for infrastructure monitoring but doesn’t check endpoint availability from a user perspective.
Good for: Resource health, auto-scaling triggers, internal alerting. Not good for: External availability monitoring, SLA measurement, user experience.
Route 53 Health Checks
Route 53 health checks monitor endpoint availability from multiple AWS regions. They can trigger DNS failover when an endpoint goes down.
Good for: Automated DNS failover, basic endpoint monitoring. Limitations: Minimum 10-second interval (with fast health checks). Configuration is through AWS console or API, not a monitoring-focused UI. No built-in status pages. Pricing at $0.50-$1.00 per health check per month.
CloudWatch Synthetics
CloudWatch Synthetics runs canary scripts (Node.js or Python) on a schedule to monitor endpoints and APIs. Supports screenshot capture and multi-step flows.
Good for: Detailed synthetic testing, visual regression detection. Limitations: Minimum 1-minute interval. Pricing per canary run. Setup requires writing Lambda functions. Overkill for simple uptime checks.
Why External Monitoring Matters for AWS
AWS monitoring tools check from within AWS. This creates blind spots:
- AWS outages — When AWS has a regional outage, CloudWatch and Route 53 may also be affected. You can’t rely on a monitoring tool that goes down with the thing it monitors
- Network path issues — Users don’t connect through AWS’s internal network. ISP routing issues, CDN problems, and DNS issues are invisible to AWS-internal checks
- Multi-cloud visibility — If your architecture spans AWS and other providers, AWS tools only cover the AWS portion
Recommended Setup
For Most AWS-Hosted SaaS:
- External uptime monitoring (Warden or similar) — Check your public endpoints every 10-30 seconds from multiple non-AWS regions
- Route 53 health checks — For automated DNS failover between regions/providers
- CloudWatch alarms — For AWS resource-level alerts (CPU, memory, disk)
- CloudWatch Synthetics — For complex multi-step flow testing (optional)
What to Monitor:
| Endpoint | Tool | Frequency |
|---|---|---|
| Public website | External monitoring | Every 30s |
| API health check | External monitoring | Every 10-30s |
| SSL certificates | External monitoring | Every check |
| EC2 instance health | CloudWatch | Per AWS metrics |
| RDS availability | CloudWatch | Per AWS metrics |
| ALB 5xx rate | CloudWatch | 1-minute metrics |
| DNS resolution | External monitoring | Every 1-5 min |
Cost Comparison
| Tool | 20 Endpoints | Cost/Month |
|---|---|---|
| Route 53 Health Checks | 20 | $10-20 |
| CloudWatch Synthetics | 20 canaries | ~$40-60 |
| Warden (self-hosted) | Unlimited | $0 (+ EC2 cost) |
| Warden (managed) | Unlimited | $49 |
Common AWS Monitoring Mistakes
- Only using CloudWatch — Internal metrics don’t reflect external availability
- Monitoring from same region — If us-east-1 goes down, your us-east-1 monitoring goes down too
- No SSL monitoring — ACM certificates auto-renew, but custom certificates don’t
- Ignoring DNS — Route 53 is reliable but not immune to issues
- Alert overload — CloudWatch makes it easy to create too many alarms
AWS-Specific Uptime Considerations
- Multi-AZ vs Multi-Region — Multi-AZ gives hardware redundancy. Multi-region gives geographic redundancy. Your SLA target determines which you need
- ELB health checks — These are internal health checks for load balancing, not monitoring. They don’t measure user experience
- AWS Service Health Dashboard — Subscribe to notifications for the services you depend on
- S3 static sites — Highly available but still worth monitoring. CDN configuration issues can cause outages
Use external monitoring for what users experience, AWS tools for what your infrastructure does.
Join the Warden waitlist for multi-region monitoring of your AWS services.
Related tools:
- Uptime Calculator — Calculate SLA targets
- EKS Pricing Calculator — Estimate AWS EKS costs
- NAT Gateway Calculator — Calculate NAT Gateway costs