Creating the snapshot of our EBS volume of the EC2 Instance is one of the great strategies for backing up the data stored in EBS
What is snapshot
You can back up the data on your Amazon EBS volumes to Amazon S3 by taking point-in-time snapshots. Snapshots are incremental backups, which means that only the blocks on the device that have changed after your most recent snapshot are saved. This minimizes the time required to create the snapshot and saves on storage costs by not duplicating data.
When you delete a snapshot, only the data unique to that snapshot is removed. Each snapshot contains all of the information that is needed to restore your data (from the moment when the snapshot was taken) to a new EBS volume.
Boto3
Boto3 is the Amazon Web Services (AWS) Software Development Kit (SDK) for Python, which allows Python developers to write software that makes use of services like Amazon S3 and Amazon EC2.
Create a snapshot using boto3
Create a client for EC2 Service
ec2 = boto3.resource('ec2', 'region-name')
Create snapshot
response = self.ec2.create_snapshot( VolumeId=volume_id )
Verify the status
# response is a dictionary containing ResponseMetadata and SnapshotId status_code = response['ResponseMetadata']['HTTPStatusCode'] snapshot_id = response['SnapshotId'] # check if status_code was 200 or not to ensure the snapshot was created successfully if status_code == 200: return snapshot_id
Also published on Medium.