The changed block tracking (CBT) mechanism allows Veeam Backup for AWS to perform quick and cost-efficient image-level backup to S3 repositories.
Veeam Backup for AWS uses the CBT mechanism to reduce the amount of data read from processed EBS volumes:
- During a full backup session, Veeam Backup for AWS reads only written data blocks, unallocated data blocks are filtered out.
- During an incremental backup session, Veeam Backup for AWS reads only those data blocks that have changed since the previous backup session.
To detect unallocated and changed data blocks, CBT relies on EBS Direct APIs.
- When the first backup session (full backup session) is performed, Veeam Backup for AWS creates a cloud-native snapshot of an EC2 instance. Veeam Backup for AWS sends API requests to access the content of the snapshot and detects unallocated data blocks.
- When the next incremental backup session is performed, a new cloud-native snapshot is created. Veeam Backup for AWS sends API requests to access and compare the content of two cloud-native snapshots (a snapshot created during the previous backup session and a snapshot created during the current backup session). Snapshot comparison allows Veeam Backup for AWS to detect data blocks that have changed since the previous backup session.
Veeam Backup for AWS cannot use CBT for EC2 instances that reside in AWS regions where EBS Direct APIs is not available.
If CBT cannot be used, Veeam Backup for AWS reads the whole content of processed EBS volumes and compares it with backed-up data that already exists in an S3 repository. In this case, the completion time and cost of incremental backups may increase.