Snapshot is an exact copy of your disk at a point in time used to backup a full image of your persistent disks.
Snapshots are differential, that means they work in the following way: The first snapshot of a persistent disk is a full snapshot that contains all the data on the persistent disk. The second snapshot only contains any new data or modified data since the first snapshot. Data that hasn't changed since snapshot 1 aren't included. Instead, snapshot 2 contains references to snapshot 1 for any unchanged data. Snapshot 3 contains any new or changed data since snapshot 2, and references to blocks in snapshot 1 and snapshot 2 for any unchanged data.
File system cache will not be present in the snapshot, meaning a snapshot is equivalent to a disk that underwent an unclean shutdown. Google uses compression to save your data and even if it's the first snapshot of the server, the amount will be less than the actual size of the VM.
Snapshot storage price: most of US regions are $0.026 per GB /month. You can check pricing details here.
Compute Engine encrypts and compresses the data. Multiple copies of each snapshot are stored redundantly across multiple locations with automatic checksums to ensure the integrity of your data. Therefore, in case there's any damage to your data center, your snapshots are still safe.
Snapshots in Google are regional, they are available across al GCP regions. For example, you can have an VM instance in us-east4-c, create a snapshot, delete the server, and then you can create a new server in australia-southeast1-a using the snapshot from the VM instance you just deleted.
Per Google limitation, VSS is not available for Windows boot disks.
We recommend to have a secondary backup solution in place that is more convenient for fast file/ folder restores like Microsoft Volume Shadow Copy.
Itopia built an automation using GCP's snapshot technology that allows you to create snapshot schedules. itopia system will automatically take the snapshot of your selected servers at your defined times. itopia CAS will also delete historic snapshots depending on your retention criteria.
Create a Snapshot schedule
In itopia's Cloud manager section under Snapshots, you can schedule your snapshot preferences. Click the green + sign to create a new snapshot:
Add plan window will open to configure your new plan details. Put a Name and a Description.
In Retention section, specify the number of snapshots you need to have saved and available. When the number of snapshots gets higher than your retention criteria, the system will start deleting them from the oldest one.
In the Schedule configuration, you can choose the time and the frequency of snapshots. It will be automatically applied to the time zone you selected when creating the deployment. Lastly, select servers for the specified schedule and hit Save.
Your new snapshot plan will appear in Plans tab and you can modify it (pencil icon) or delete it (trash bin icon) anytime.
In Snapshots tab you will see the list of your successful snapshots:
IMPORTANT: It's recommended to have standard backup solution in place (e.g. VSS/ Windows backups) as an addition to Snapshots to be able to recover files without reverting the disk back to an older snapshot.
Delete the snapshot schedule
You can either delete the snapshot plan and keep the snapshots that were already created under the schedule, or delete the existing snapshots as well along with the plan.
To delete the snapshots, mark the snapshot plan you want to delete and hit the trash bin icon. In the confirmation message you will have an option to delete the existing images that were created under the plan. Mark the option if that's what you want to do, if not, leave it unchecked.
Searching through snapshots
Along the top of the snapshots list, you have the option to filter the list via the Name, Plan, Frequency, Date, Storage Size, and Instance by clicking either title at the top of the columns.
When you filter by the name column, it will filter the snapshots by name per plane, and also if you try to filter by the storage size, it will do it per vm. So it might be a bit confusing since the naming scheme is very similar on all the instances. For this there is a filter on the right side where you can filter the list to only show the snapshot for a specific vm instance.
Related articles: How to restore from a Snapshot