RecoverProof vs AWS Backup restore testing
The short version
- Use AWS Backup restore testing if your databases are RDS or Aurora (or other AWS resources) backed up by AWS Backup. It's built in, it restores your real snapshots on a schedule, measures restore time, and reports to AWS Backup Audit Manager.
- Use RecoverProof for databases AWS Backup doesn't cover: self-managed PostgreSQL on EC2, VMs, Hetzner, DigitalOcean or on-prem, and
pg_dumpcopies kept in S3, R2 or B2 (including off-site copies of RDS, Supabase or Neon databases). Also if you want the data itself checked without writing your own validation code.
Side by side
| AWS Backup restore testing | RecoverProof | |
|---|---|---|
| What it restores | AWS Backup recovery points: RDS, Aurora, DynamoDB, EBS, EC2, EFS, FSx, S3, Redshift, DocumentDB, Neptune | PostgreSQL dumps (pg_dump) from S3-compatible storage or files; MySQL planned |
| Where restores run | In your AWS account, as real resources (e.g. a temporary RDS instance) | In your infrastructure, inside a throwaway container run by the RecoverProof runner |
| Schedule and selection | Cron schedule; latest or random recovery point within a window | Your scheduler (cron, Kubernetes CronJob, CI); newest backup under a prefix |
| Restore succeeded and duration | Yes | Yes |
| Checking the data inside | Optional and do-it-yourself: you write validation (for example a Lambda function) and report the result back; restored resources can be kept 1 to 168 hours for it | Built in: every row read back, index corruption check (amcheck), row counts compared with history, freshness of key tables, schema changes |
| History and anomaly detection | Job history; Audit Manager control for restore time vs target | Each run compared with the last ones: shrinking tables, stale data, missing tables, unusual file sizes |
| Cost | A charge per recovery point tested (AWS's pricing example uses $1.50) plus the cost of the restored resources while they exist | Free runner; hosted reporting planned from $19 per database per month; compute is your own |
| Outside AWS | No | Yes |
Using both
A common pattern: AWS Backup restore testing for the managed RDS instance, plus a nightly pg_dump copy to a separate account or provider that RecoverProof tests. The independent copy protects against the scenarios where the managed backups themselves are the problem (a compromised account, a deleted vault, a region-wide incident), and it's the copy that usually never gets tested.
Testing databases outside the managed safety net? RecoverProof restore-tests them inside your own infrastructure and keeps the evidence for your auditor.