AWS Snapshots vs. Backups — Differences in Terms and Service Support
TL;DR
When AWS services store snapshots, configurations, or backups in S3:
- Snapshots are typically invisible and billed under their respective services, not S3
- Templates and configs are usually visible
- Backups are usually visible
Backups and snapshots are similar in description, but with key differences:
- Snapshots primarily serve HA and disaster recovery purposes, usually with retention periods
- Backups focus on user data protection with user-defined management approaches. You can decide whether to delete them.
- Some services distinguish between manual and automatic snapshots (e.g., DocumentDB treats manual snapshots more like backups)
- Services may use terms interchangeably (e.g., Neptune uses "automated backup and manual snapshot")
Snapshots/Templates Not Visible in S3
Default snapshots prioritize quick recovery and high availability, typically with retention periods. While viewable in service consoles, they're stored in S3 but not visible in the S3 console.
Snapshots
- EBS 🔺
More backup-like than snapshot-like. No minimum or maximum retention period.
- RDS (including Aurora, often discussed separately)
retention period 1 to 35 days
- Redshift
retention period 1 to 35 days
- Redshift Serverless
Recovery Points: Automatic creation every 30 minutes, kept for 24 hours
https://docs.aws.amazon.com/redshift/latest/mgmt/serverless-snapshots-recovery-points.html
- DocumentDB
retention period 1 to 35 days
- Neptune
retention period 1 to 35 days
- EFS, FSx 🔺
depends on you, I think it’s more like a backup instead of snapshot because we can delete on my own.
- ElasticCache (only Redis, no
Memcached)retention period 1 to 35 days
Other Resources
- EC2 AMIs(Amazon Machine Images)
- ECS task definitions
- Lambda function code
- Elastic Beanstalk application versions
Backups
- RDS backups
Database snapshots aren't visible, but some databases can export full backups to visible S3 locations
- EFS backups
EFS snapshots aren't directly visible, but AWS Backup can store visible EFS backups in S3
- DynamoDB table backups
- PITR (Point-in-Time Recovery) backups aren't visible
- Table exports to S3 are visible
- Can restore to any point within the last 35 days
restore to any given second in the preceding 35 days.
- DocumentDB
Manual snapshots function more like backups
- S3 itself
Templates/Configurations Visible in S3
This section is less critical; it’s just for visibility comparison purposes, so feel free to ignore it, LOL.
- CloudFormation templates
- Elastic Beanstalk application source bundles
- AWS Glue ETL scripts
- AWS Step Functions state machine definitions
- Custom Lambda Layers
- AWS Config configuration snapshots
- AWS CloudTrail logs
- AWS WAF logs
References
https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-export-snapshot.html
https://docs.aws.amazon.com/documentdb/latest/developerguide/backup_restore.html
https://docs.aws.amazon.com/ebs/latest/userguide/ebs-deleting-snapshot.html
https://docs.aws.amazon.com/config/latest/developerguide/neptune-cluster-backup-retention-check.html
https://docs.aws.amazon.com/redshift/latest/mgmt/serverless-snapshots-recovery-points.html
https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-snapshots.html
https://docs.aws.amazon.com/redshift/latest/mgmt/serverless-snapshots-recovery-points.html