DEV Community

Cover image for How to Perform AWS EC2 Backup In a Few Minutes
Salman Saleem for Cloudways

Posted on

How to Perform AWS EC2 Backup In a Few Minutes

When it comes down to choosing a cloud storage provider, it’s essential to consider an AWS EC2 backup solution that’s simple and easy for both servers and at the application level. It’s vital to understand how to back up the Amazon Web Services (AWS) EC2 server correctly because of the risks involved in improper restore in case of a disaster.

Table of Content

    1. Backup Solution for Raw AWS EC2 Server
      1. First Method - EBS Snapshot
      2. Second Method: Amazon Machine Image
      3. Third Method: EC2 Backup to S3
      4. Fourth Method: Simple Backup
    2. Cloudways Makes AWS EC2 Backups Easy

Consider the example of an agency. Agencies often have multiple clients, and they usually handle a massive volume of data on behalf of these customers. To speed up data backup, the agencies often backup entre servers. This way, they’re able to consolidate all the data in a handy archive that can be used in case of a disaster or server migration.

On the other hand, agency customers often have a much smaller number of active applications. They prefer application-level backups because they are not concerned with server-level operations.

Since AWS EC2  is a leading IaaS provider, I would describe how to an AWS EC2 backup is performed on an unmanaged server and go into the simplicity of backing up a Cloudways managed EC2 server.

Backup Solution for Raw AWS EC2 Server

Unmanaged EC2 backup on the server can get complicated, even for experienced users. To make things easier, Amazon offers various AWS EC2 backup solutions. Here, I’ve highlighted four of these AWS backup strategies.

Elastic Block Storage

Elastic Block Storage (EBS) is designed for an EC2 instance for intensive workloads at any scale. EBS is a high-performance block storage service which can handle a broad range of workloads such as:

  1. Enterprise Applications
  2. Relational & Non-relational databases
  3. Big Data Analytics Engines
  4. Media Workflows

First Method - EBS Snapshot

One way of using EBS for backup is to create a snapshot of EBS volume used by EC2. EBS snapshot works as an external storage device. The user saves the instance at a given time and can restore it later (if the need arises).

The process is quite straightforward but and requires the machine to stop processing user requests. This can be an issue for users communicating with the hosted application(s). The working EBS volume is unmounted for the backup process as it’s not possible to backup a volume that is still in use.

To start the process, log in to the EC2 console and select the EC2 snapshot tool. Follow the on-screen instructions. Note that the snapshot creation can take several hours, depending on the volume of the data on the EBS.

Once the snapshot has been created, it can be used to restore data in case of disaster recovery or for other data retrieval purposes.

Thought EBS volume snapshot appears to be a smooth process; there are three significant issues:

    1. The process is manual and could take a lot of time.
    2. The machine needs to be stopped, and the volumes need to be unmounted. This can affect user interaction with the applications deployed on the server.

Second Method: Amazon Machine Image

Amazon Machine Image (AMI) provides the required information for launching an EC2 instance. An AMI is a master image that comprises templates, a preconfigured operating system, configuration files, and other supporting software. In effect, the AMI determines the working environment for the user and the applications.

A typical AMI comes with:

    1. All the necessary permission to use the AMI for launching instances from authorized AWS accounts
    2.  An operating system, application server environment & the main application (Template for the root volume instance)
    3. A block device mapping which ensures specified volume is attached to the launched instance


AMI can be used for EC2 backup. Once a custom-built AMI is deployed on EC2 instance, it can be used to create a clone of the server. In case of disaster, this clone can be used to restore the application environment and data.

As stated above, when backing up an AWS EC2 instance or an EBS instance, the machine instance needs to be stopped. However, there are a few exceptions in this case. If a user has opted for the XFS file system, it freezes while taking backups without the requirement of stopping the entire instance.

However, according to expert opinion, stopping the instance is preferred before taking the backup as it minimizes the chances of data corruption.

To start the process, log in to the AWS console and stop the instance you wish to back up.

Navigated to Actions > Image. Click Create Image and follow the onscreen instructions for creating the new AMI.

Although it looks simple, it’s slightly more complicated when compared to taking snapshots because of the more detailed process. There is no doubt AMI backups provide the convenience of configuration data along with operating system packages into a single image. Still, this backup method relies heavily on manual work and could get very time intensive.

Third Method: EC2 Backup to S3

Simple Storage Service (S3) is a storage facility designed for web-based enterprise-level applications. In many cases, S3 is the ideal solution for online backup/archiving of application data. AWS S3 provides a simple interface for storing and retrieving any volume of data, from anywhere on the web, at any time.

Unlike the previous methods (that are manual), EC2 Backup to S3 processes can be automated with the help of a command-line interface (CLI). The automation is based on several bash scripts.

Here is an example of bash scripting for the backup process:

!/bin/bash

aws ec2 create-snapshot --volume-id vol-xxxxx --description "Backup: `date`."

The script creates a snapshot volume command on AWS CLI, setting up a snapshot of the EBS volume.

To use the AMI Image approach, swap ‘create image’ for ‘create snapshot’ and the script will look like this

!/bin/bash

aws ec2 create-image --instance-id i-1234567890abcdef0 --name "Image Backup" --description "Backup AMI"

The only complication in the process is the need to remember these bash scripts. To back up multiple EC2 instances, set up a cron job on the server with script deployed properly.

Fourth Method: Simple Backup

At some point, a user desires just to back up specific data rather than the entire instance. This is a right approach as it can minimize storage costs. Similarly, instead of placing data on an online storage service, an offline backup can be recommended. However, offline backup has significant risks such as a system crash, virus or malware intrusion and/or data leaks, etc.

This approach works best when the system does not have a vast amount of custom configuration settings. Although, recovery during an emergency situation may get complicated since a new instance needs to be built instead of recreating one from an existing AMI or EBS Snapshot.

Furthermore, this method also negatively affects the business bottom line as AWS backup pricing is an additional cost to the business. Every AWS EC2 backup request has a price attached to it; hence, that’s an important consideration when choosing cloud storage providers.

Cloudways Makes AWS EC2 Backups Easy

Rounding up the four methods of backing up the AWS EC2 backup, it’s important to note that these methods are time-consuming and need a good knowledge of AWS server operation. In a scenario where someone new to the platform needs to create a backup, the process is not intuitive and can appear to be a huge hassle.

On the other hand, Cloudways makes the process of creating EC2 backups simple and straightforward. There’s no requirement to code. It’s as simple as following a few steps and et voila!

Application Backup

To simplify the backup process, Cloudways also allows users to back up individual applications. The process is straightforward. To know more, https://www.cloudways.com/blog/aws-ec2-backup/ visit the link more, to know more how?

Top comments (0)