Amazon EC2 EBS backup AMI vs Snapshot
Master System Design with Codemia
Enhance your system design skills with over 120 practice problems, detailed solutions, and hands-on exercises.
Introduction
An EBS snapshot and an AMI are related, but they are not the same kind of backup artifact. A snapshot is a point-in-time backup of one EBS volume. An AMI is a launch template for an EC2 instance that includes metadata and, for EBS-backed images, references to one or more EBS snapshots. If your goal is to recover data, you usually start with snapshots. If your goal is to recreate a machine, you usually start with an AMI.
What an EBS Snapshot Captures
An EBS snapshot is a storage-level backup of a specific volume. AWS stores snapshots incrementally, which means after the first full snapshot, later snapshots save only changed blocks.
Create one with the AWS CLI:
You can restore a snapshot into a new volume:
This is ideal when you need to recover a data disk, clone a volume, or keep recurring backups of application data.
What an AMI Captures
An AMI describes how to launch an instance. For an EBS-backed instance, it includes:
- the root volume snapshot
- optional snapshots for additional attached EBS volumes
- block device mappings
- launch metadata such as virtualization and architecture details
Create an AMI from an existing instance:
When AWS creates that AMI, it also creates the required EBS snapshots in the background. Later, you launch a new instance from the AMI rather than restoring each volume by hand.
That makes AMIs the better choice when you want to recreate a server image consistently, including the operating system and boot volume layout.
When to Use Each One
Use snapshots when the unit of recovery is a volume.
Examples:
- backing up a database data volume
- cloning a filesystem to another volume
- restoring one broken disk without rebuilding the whole instance
Use an AMI when the unit of recovery is the machine image.
Examples:
- replacing an instance in an Auto Scaling Group
- preserving a known-good application server configuration
- recreating a full EC2 instance from a tested baseline
A simple rule is:
- snapshot for storage recovery
- AMI for instance reprovisioning
AMIs Are Not a Substitute for Application-Consistent Backups
Both snapshots and AMI creation happen at the block-storage level. That means an active database may still need application-aware preparation such as flushing writes or freezing the filesystem briefly.
For example, you might stop writes before snapshotting a database volume:
For multi-volume instances, consistency across volumes matters too. If the application spans several disks, an AMI or a set of coordinated snapshots is safer than snapshotting one volume in isolation.
Cost and Lifecycle
Snapshots are stored independently and billed as snapshot storage. AMIs themselves are metadata, but the AMI depends on underlying snapshots, so you still pay for snapshot storage.
This matters operationally:
- deleting an AMI does not automatically mean every related snapshot should disappear
- deleting a snapshot that an AMI depends on can break future launches
Use tags and retention policies so backup artifacts remain understandable.
Common Pitfalls
- Treating an AMI as if it were just a prettier name for a snapshot.
- Using only AMIs when the real requirement is granular volume-level recovery.
- Assuming a crash-consistent snapshot is the same as an application-consistent backup.
- Deleting snapshots without checking whether an AMI still depends on them.
- Forgetting that data on ephemeral instance store volumes is not protected by EBS snapshots.
Summary
- An EBS snapshot backs up a single volume at the block level.
- An AMI is an instance image that usually references one or more EBS snapshots.
- Use snapshots for data-volume recovery and cloning.
- Use AMIs when you need to relaunch a whole EC2 instance configuration.
- Neither approach automatically guarantees application consistency; plan for that explicitly.

