Note

You can download this article as a PDF

Amazon EC2 Plugin

The following article aims at presenting the reader with information about the Bacula Enterprise Amazon EC2 Plugin.

Amazon Elastic Compute Cloud (Amazon EC2) provides on-demand, scalable computing capacity in the Amazon Web Services (AWS) Cloud. Using Amazon EC2 or any other Cloud computing service is usually done to reduce hardware costs, to gain flexibility and being more agile in order to deploy applications faster. Amazon EC2 can be used to launch as many or as few virtual servers as the target service needs, to configure security and networking, and to manage storage. It is possible to add capacity (scale up) to handle compute-heavy tasks, such as monthly or yearly processes, or spikes in website traffic. When usage decreases, it is possible to reduce capacity (scale down) again and orchestrate all these operations automatically.

Bacula Enterprise Amazon EC2 Plugin provides backup and restore of the instances running in Amazon EC2 service and the persistent data associated with them. It does it in an agent-less manner, working at the block level, using snapshots to represent the state of the information at the moment of the backup and supporting Full, Incremental or Differential backups. It offers a very high level of flexibility to perform its different operations and a high level of performance when the underlying network is appropriate to the backup target. Bacula Enterprise not only protects persistent data of the storage, but also all the configuration of the instance and the volumes, providing the ability to restore it as it was or to modify them as desired at restore time.

To provide its services, Amazon EC2 is directly linked with various AWS Cloud services, such as IAM (Identity and Access Management Service), EBS (Elastic Block Storage Service) and S3 (Amazon Simple Storage Service). Below, we outline the functions of each service and explain how they work together. This will help us understand how Bacula Enterprise manages the backup and restore of data stored in these services. The information is extracted directly from the official AWS Documentation, where it is possible to find more in-depth details:

Amazon Elastic Block Store (Amazon EBS) provides block level storage volumes designed for utilization with EC2 instances. EBS volumes behave like raw, unformatted block devices. EBS volumes function as unformatted, raw block devices and can be easily mounted as devices on EC2 instances. When attached to an instance, EBS volumes are presented as storage volumes that remain persistent even if the instance is terminated. A file system can be created on top of these volumes, or use them in any way a regular block device can be used (such as a hard drive). It is possible to dynamically change the configuration of a volume attached to an instance. As explained earlier, Bacula Enterprise not only protects the data of EBS Volumes, but also all the configuration they use, allowing for seamless restoration to its original state or customization as needed during the restore process. Bacula Enterprise uses Amazon EBS High performance Direct APIs to fetch the data of the target volumes for backup. It is important to consider the pricing structure associated with the entire Amazon EBS layer:

AWS Identity and Access Management (IAM) is a web service provided by Amazon that enables users to securely manage access to AWS resources. IAM plays a crucial role in controlling user access to various AWS resources by managing permissions. It is utilized to determine authentication (sign-in) and authorization (permissions) for resource usage. The Bacula Enterprise Amazon EC2 Plugin necessitates the configuration of an access key within IAM, along with a specific set of permissions, to facilitate listing, backup, and restore operations.

Amazon Simple Storage Service (Amazon S3) is a highly scalable object storage service that offers top-notch data availability, security, and performance. It caters to customers of various sizes and industries, allowing them to securely store and safeguard any volume of data for a wide range of purposes. These purposes include data lakes, websites, mobile applications, backup and restore operations, archiving, enterprise applications, IoT devices, and big data analytics. With Amazon S3, users can efficiently manage, organize, and control access to their data, ensuring it aligns with their specific business, organizational, and compliance requirements. Bacula Enterprise Amazon EC2 service utilizes S3 to store snapshots, which are then analyzed to identify changes in Incremental or Differential backups before being downloaded. The Bacula Enterprise Amazon EC2 Plugin takes care of cleaning up these snapshots, both before (for failed backups) and after (for unnecessary snapshots) backup operations. However, certain snapshots need to be retained in S3 to facilitate Differential and Incremental backups, and the Bacula Enterprise Amazon EC2 Plugin handles this process seamlessly.

Through subchapters, more in-depth information can be found about the following topics:

Go back to the main Dedicated Backup Solutions page.