Home > Backup and Recovery Strategies Blog > How to backup Amazon AWS? AWS S3 backup with Bacula Enterprise.
1 Star2 Stars3 Stars4 Stars5 Stars
(15 votes, average: 5.00 out of 5)
Loading...

How to backup Amazon AWS? AWS S3 backup with Bacula Enterprise.

  • May 13, 2020, Rob Morrison

Using AWS Backup to create backups

Backing up your information - data -  is perhaps the most important part of protecting it from any harm as well as ensuring compliance. Even the most durable servers and storages are susceptible to bugs, human errors and other possible reasons for a disaster. But creating and managing all of your backup workflows might be a daunting task overall. Therefore, there is a variety of methods that you can use to simplify the entire process of creating a backup while using AWS S3.

A popular choice is Amazon’s own backup solution – AWS Backup. AWS backup can  provide a way to manage your backups both in the AWS Cloud and on premise, as well as supporting a variety of other Amazon applications.

The backup process itself is fairly easy. A user would have to create a backup policy – their backup plan - specifying a number of parameters such as backup frequency, the amount of time that these backups should be kept, etc. As soon as the policy is set up – AWS Backup should start backing up your data automatically. After that you’ll be able to use AWS Backup’s console to view your backed up resources, have the option to restore a specific backup or just monitor your backup and restore activity.

AWS Backup and its interaction with other AWS-based services

There are plenty of different AWS services that can offer various useful features and work in tandem with AWS Backup service. For example, these services include, but not exclusive to:

  • Amazon EBS (Elastic block store);
  • Amazon RDS (Relational database service);
  • Amazon DynamoDB backups;
  • AWS storage gateway snapshots, etc.

Of course, you have to enable the specific service that you want to use in your backup process before using it in the first place. Trying to initiate or create the backup using specific resources from a service that you have yet to enable, you will receive an error message instead and won’t be able to perform the creation process.

To find the list of services that you can switch on or off, you have to follow a number of steps:

  1. Open the AWS backup console.
  2. Go into the “Settings” menu.
  3. Move to the “Service opt-in” page and click “Configure resources”.

This should get you to the page with a number of service names and toggles, and you can easily toggle each of the specific services on or off. Clicking “Confirm” after making the changes would save your operations.

AWS backup is capable of implementing a lot of existing AWS service capabilities in the process of creating a backup. One good example of that is the EBS snapshot capability that is used to create backups according to the backup plan you’ve created. Creating EBS snapshots, on the other hand, can be done using the EC2 API (Elastic compute cloud). This way you’ll be able to manage your backups from a centralized AWS backup console, monitor them, schedule different operations, and so on.

AWS backup can perform backup jobs on entire EC2 instances, allowing you to have less need to interact with the storage layer itself. The way it works is also quite simple – AWS backup takes a snapshot of the root EBS storage volume, as well as associated volumes and launch configurations. All of the data is stored in the specific image format called volume-backed AMI (Amazon machine image).

EC2 AMI backup files can also be encrypted in the backup process the same way AWS backup does this to EBS snapshots. You can either use the default KMS key if you don’t have one, or you can use your own one to apply it to the backup.

The restoration process for EC2 resources can be done in several different ways: AWS backup console, command line or just the API. Compared to the other two, the backup console has a lot of functionality limits for the restoration process and cannot restore several parameters like ipv6 addresses, some specific IDs, and so on. The other two methods, on the other hand, are capable of doing a full restore, one way or another.

Other methods of backing up your Amazon S3 bucket

Using AWS Backup isn’t the only option when it comes to S3 backups, as well. There’s a variety of different options that can be both performed by an application within Amazon’s ecosystem as well as third-party solutions.

For example, here’s several more ways of creating an S3 backup without using AWS Backup application:

  • Create backups using Amazon Glacier;
  • Use AWS SDK to copy one S3 bucket to another;
  • Copy information to the production server that is itself backed up;
  • Use versioning as a backup service.

It is worth mentioning that most of these methods aren’t exactly fast or convenient. Amazon Glacier, for example, would be a good backup solution if it wasn’t a lot slower than your regular backup process, since Glacier is more about data archiving and less about ongoing data backups. On the other hand, using versioning as a backup solution might raise your storage costs a lot due to the amounts of data that need to be stored.

Speaking of third-party solutions, while there are a lot of different ones in the market, we’ll examine one of the most promising ones – the solution provided by Bacula Enterprise.

Enterprise-grade AWS  S3 backup solutions with minimal restore costs.

Bacula delivers natively integrated AWS S3 backup solutions as part of its extensive enterprise cloud-based backup and recovery options. It delivers native integration with public and private clouds via the Amazon S3 interface, with transparent support for S3-IA. AWS S3 backup is available for Linux, Windows and other platforms. However, there is something else your organization should know about Amazon S3 backup with Bacula Enterprise: the ability to have unique control over your cloud backup - and at the same time bring significant cloud cost reduction for AWS backup solutions.

AWS S3 Backup with Bacula Enterprise

To begin the AWS backup process with Bacula, you need to enter configuration mode first. After that you will be able to see several new options available. You need the one titled “Add a New Storage Resource”.

entering configuration mode

configuration mode’s options

Adding a new S3 storage in Bacula Enterprise

In this specific example we’re adding a new Amazon S3 storage to an existing storage daemon. We’ll also choose the “Cloud Virtual Disk Changer” under the “Device Type” – this device type allows for several simultaneous backups to the same cloud storage.

choosing device type

Since our storage daemon already exists – all of the information at step 2 (Configuring a new storage resource) can be taken from the previously created devices.

configuring a new storage resource

Configuring your AWS S3 storage backup using Bacula Enterprise

The next step of AWS backup process is the cloud storage information configuration. In this example we’ll be storing our backup volumes in the cloud cache, which is usually used as a small temporary area in-between loading a backup to a cloud, but it can still hold a week or more’s worth of the data to allow local backups for that period, and cloud backups if the time period is longer than a week. You can always contact Bacula support experts to know more about cloud cache’s storage size, cache retention policy and cloud upload behaviour.

choosing cloud cache as a target upload location

Next we’ll choose a unique media type for our new storage device, to make it easier for Bacula to see this specific storage device’s files.

choosing a unique media type

One more part of this step is choosing your AWS S3 cloud driver from a list of supported cloud drivers.

choosing the cloud service provider

Next, we set up a list of arbitrary information like cloud hostname, account info, region and so on. You’ll also have a choice between choosing an existing bucket by connecting to your existing account or to enter a name in the corresponding line to confirm the creation of a new bucket.

Finishing the S3 storage setup process

There are two possible options left: cloud link status and “upload to the cloud during the job”. Cloud link status button allows you to immediately check your current system’s connection to a cloud of your choosing. “Upload to the cloud during the job” is an option that is chosen as a part of default settings to upload your backed up data to the cloud as soon as it’s ready (even in the process of a backup job), but you can also disable this option if you wish to upload after a job is finished or with some other schedule in mind.

filling in the rest of the blank fields

The next step of this wizard is simply typing in your preferred storage name and optional description.

typing in a preferred storage name

Saving your new S3 backup settings

After this step you can push the “Save” button to allow all of the previous changes to be committed to production. Keep in mind that in order to properly commit everything to production you’ll have to reload your storage daemon, meaning that any job that is running would fail in the process.

a list of changes not yet committed

restarting your storage daemon

confirming the restart process

A logical step after this would be to set up new backup pools for this specific cloud storage and to properly configure jobs to write data to the new pools. You can address Bacula’s documentation, contact our support or watch our YouTube channel to get help in regards to these steps.

Testing the AWS backup settings

To test that everything we’ve just done works properly, we’ll run a small full Amazon S3 backup job manually directly to the new storage device. Usually this process is automated using a job schedule and/or other configurations.

choosing a “defined job” section of BWeb

changing storage target and pool of the backup job

confirming the beginning of the “test” backup job

After the job has run we will be able to see the entire process’s logs, and this specific section (on the screenshot below) shows us that everything uploaded correctly.

backup job’s data logs

Conclusion

Bacula Enterprise is a sensible choice for reliably managing your AWS S3 and other cloud backups, including creating and configuring newer backup storages and setting up backup jobs to be performed automatically. Next we will list some of the AWS S3-specific features of Bacula Enterprise.

About the author

Rob Morrison

Rob Morrison is the marketing director at Bacula Systems. He started his IT marketing career with Silicon Graphics in Switzerland, performing strongly in various marketing management roles for almost 10 years. In the next 10 years Rob also held various marketing management positions in JBoss, Red Hat and Pentaho ensuring market share growth for these well-known companies. He is a graduate of Plymouth University and holds an Honours Digital Media and Communications degree, and completed an Overseas Studies Program.

4 Comments
  1. Edison
    Edison

    It’s surprising how many other services can be integrated into the basic AWS S3 backup process. This was a very interesting read, thank you.

    1. Isabelle
      Isabelle

      It’s true, I never thought that something like Amazon Glacier can be used to backup S3 databases, or that we can use versioning for that purpose, either.

  2. Shaun
    Shaun

    I never thought that you can postpone the data upload after the backup is complete, even though i’ve been using Bacula Enterprise’s S3 backup software for quite a while. We learn something new every day, i guess.

  3. Ozan
    Ozan

    I knew that Amazon takes their data’s safety seriously, but this is far more versatility than i’ve anticipated. Learning about Bacula Enterprise’s capabilities in the field of Amazon S3 backup was really interesting, too.

Leave a comment

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>