A volume lives in one zone, and one bad command can wipe it. A snapshot is a copy of the volume at one moment, kept by AWS across the zones of the region.
volumeus-east-1a
create-snapshot
snapshotkept across the region's zones
create-volume
new volumeus-east-1b, same files
Taking one
sh
SNAP=$(aws ec2 create-snapshot --volume-id $VOL --description "market data" --query SnapshotId --output text)The snapshot is pending while AWS copies the blocks, then completed. It holds the volume as it was at that moment; later writes are not in it.
sh
aws ec2 describe-snapshots --snapshot-ids $SNAP --query "Snapshots[0].State" --output textRestoring one
sh
aws ec2 create-volume --snapshot-id $SNAP --availability-zone us-east-1b --volume-type gp3A volume made from a snapshot already holds the filesystem and the files. It can be in any zone of the region, which is also how a volume moves between zones. Attach it and mount it, without mkfs.
Snapshots are billed per gigabyte per month stored, and each one after the first stores only the blocks that changed.