Skip to main content

Overview

Database Backups are essential because they provide a way to recover important data in case of disasters or data loss. They also provide a historical record of changes to data, which can be required for auditing and compliance purposes. Aptible provides Automatic Backups of your Databases every 24 hours, along with a range of other backup options. All Backups are compressed and encrypted for maximum security and efficiency. Additionally, all Backups are automatically stored across multiple Availability Zones for high-availability.

Automatic Backups

By default, Aptible provides automatic backups of all Databases. The retention period for Automated Backups is determined by the Backup Retention Policy for the Environment in which the Database resides. The configuration options are as follows:
  • DAILY BACKUPS RETAINED - Number of daily backups retained
  • MONTHLY BACKUPS RETAINED - Number of monthly backups retained (the last backup of each month)
  • YEARLY BACKUPS RETAINED - Number of yearly backups retained (the last backup of each year)
  • COPY BACKUPS TO ANOTHER REGION: TRUE/FALSE - When enabled, Aptible will copy all the backups within that Environment to another region. See: Cross-region Copy Backups
  • KEEP FINAL BACKUP: TRUE/FALSE - When enabled, Aptible will create and retain one final backup of a Database when you deprovision it. See: Final Backups
Recommended Backup Retention PoliciesProduction environments: Daily: 14-30, Monthly: 12, Yearly: 5, Copy backups to another region: TRUE (depending on DR needs), Keep final backups: TRUENon-production environments: Daily: 1-14, Monthly: 0, Yearly: 0, Copy backups to another region: FALSE, Keep final backups: FALSE

Manual Backups

Manual Backups can be created anytime and are retained indefinitely (even after the Database is deprovisioned).

Cross-region Copy Backups

When COPY BACKUPS TO ANOTHER REGION is enabled on an Environment, Aptible will copy all the backups within that Environment to another region. For example, if your Stack is in the US East Coast, then Backups will be copied to the US West Coast.
Cross-region Copy Backups are useful for creating redundancy for disaster recovery purposes. To further improve your recovery time objective (RTO), it’s recommended to have a secondary Stack in the region of your Cross-region Copy Backups to enable quick restoration in the event of a regional outage.
The exact mapping of Cross-region Copy Backups is as follows:
Originating regionDestination region(s)
us-east-1us-west-1, us-west-2
us-east-2us-west-1, us-west-2
us-west-1us-east-1
us-west-2us-east-1
sa-east-1us-east-2
ca-central-1ca-west-1 (formerly us-east-2)
eu-west-1eu-central-1
eu-west-2eu-central-1
eu-west-3eu-central-1
eu-central-1eu-west-1
ap-northeast-1ap-northeast-2
ap-northeast-2ap-northeast-1
ap-southeast-1ap-northeast-2, ap-southeast-2
ap-southeast-2ap-southeast-1
ap-south-1ap-southeast-2
Aptible guarantees that data processing and storage occur only within the US for US Stacks and EU for EU Stacks.

Final Backups

When KEEP FINAL BACKUP is enabled on an Environment, Aptible will create and retain a backup of the Database when you deprovision it. Final Backups are kept indefinitely as long as the Environment has this setting enabled.
We highly recommend enabling this setting for production Environments.

Managing Backup Retention Policy

The retention period for Automated Backups is determined by the Backup Retention Policy for the Environment in which the Database resides. The default Backup Retention Policy for an Environment is 30 Automatic Daily Backups, 12 Monthly Backups, 6 Yearly Backups, Keep Final Backup: Enabled, Cross-region Copy Backup: Disabled. Backup Retention Policies can be modified using one of these methods:
Reducing the number of retained backups, including disabling copies or final backups, will automatically delete existing, automated backups that do not match the new policy. This may result in the permanent loss of backup data and could violate your organization’s internal compliance controls.

Excluding a Database from new Automatic Backups

Disabling Backups
A Database can be excluded from the backup retention policy preventing new Automatic Backups from being taken. This can be done within the Aptible Dashboard from the Database Settings, or via the Terraform Provider. Once this is selected, there will be no new automatic backups taken of this database, including preventing a final backup of the database during deprovision, even if the environment’s policy specifies it. Please note: making this change on an existing database does not automatically delete previously taken backups. Purging the previously taken backups can be achieved in the following ways:
APTIBLE_OUTPUT_FORMAT=json aptible backup:list DB_HANDLE 

Purging Backups

Automatic Backups are automatically and permanently deleted when the associated database is deprovisioned. Final Backups and Cross-region Copy Backups that do not match the Backup Retention Policy are also automatically and permanently deleted. This purging process can take up to 1 hour. All Backups can be manually and individually deleted.

Restoring from a Backup

Restoring a Backup creates a new Database from the backed-up data. It does not replace or modify the Database the Backup was initially created from. By default, all newly restored Databases are created as a 1GB General Purpose Container Profile, however you can specify both container size and profile using the backup:restore command.
Deep dive: Databases Backups are stored as volume EBS Snapshots. As such, Databases restored from a Backup will initially have degraded disk performance, as described in the “Restoring from an Amazon EBS snapshot” documentation. If you are using a restored Database for performance testing, the performance test should be run twice: once to ensure all of the required data has been synced to disk and the second time to get an accurate result. Disk initialization time can be minimized by restoring the backup in the same region the Database is being restored to. Generally, this means the original Backup should be restored, not a copy.
If you have special retention needs (such as for a litigation hold), please contact Aptible Support.

Encryption

Aptible provides built-in, automatic Database Encryption. The encryption key and algorithm used for Database Encryption are automatically applied to all Backups of a given Database.

FAQ

Backup Retention Policies can be modified using one of these methods:
Automatic Backups can be viewed in two ways:
  • Using the aptible backup:list command
  • Within the Aptible Dashboard, by navigating to the Database > Backup tab
Final Backups can be viewed in two ways:
  • Using the aptible backup:orphaned command
  • Within the Aptible Dashboard by navigating to the respective Environment > “Backup Management” tab > “Retained Backups of Deleted Databases”
Users can create Manual Backups in two ways:
  • Using the aptible db:backup) command
  • Within the Aptible Dashboard by navigating to the Database > “Backup Management” tab > “Create Backup”
All Backups can be manually and individually deleted in the following ways:
  • Using the aptible backup:purge command
  • For Active Databases - Within the Aptible Dashboard by:
    • Navigating to the respective Environment in which your Database lives in
    • Selecting the respective Database
    • Selecting the Backups tab
    • Selecting Permanently remove this backup for the respective Backup
  • For deprovisioned Databases - Within the Aptible Dashboard by:
    • Navigating to the respective Environment in which your Database Backup lives in
    • Selecting the Backup Management tab
    • Selecting Delete for the respective Backup
  • Navigating to the respective Database
  • Selecting the Settings tab
  • Select Disabled: No new backups allowed within Database Backups
For critical production data, maintaining a substantial backup repository is crucial. While compliance frameworks like HIPAA don’t mandate a specific duration for data retention, our practice has been to keep backups for up to six years. The introduction of Yearly backups now makes this practice more cost-effective. Aptible provides a robust default backup retention policy, but in most cases, a custom retention policy is best for tailoring to specific needs. Aptible backup retention policies are customizable at the Environment level, which applies to all databases within that environment.A well-balanced backup retention policy for production environments might look something like this:
  • Yearly Backups Retained: 0-6
  • Monthly Backups Retained: 3-12
  • Daily Backups Retained: 15-60
When it comes to non-production environments, the backup requirements tend to be less stringent compared to production environments. In these cases, Aptible recommends the establishment of custom retention policies tailored to the specific needs and cost considerations of non-production environments. An effective backup retention policy for a non-production environment might include a more conservative approach:
  • Yearly Backups Retained: 0
  • Monthly Backups Retained: 0-1
  • Daily Backups Retained: 1-7
To optimize costs, it’s best to disable Cross-region Copy Backups and Keep Final Backups in non-production environments — as these settings are designed for critical production resources.
You can restore from a Backup in the following ways:
  • Using the aptible backup:restore command
  • For Active Databases - Within the Aptible Dashboard by:
    • Navigating to the respective Environment in which your Database lives in
    • Selecting the respective Database
    • Selecting the Backups tab
    • Selecting Restore to a New Database from the respective Backup
  • For deprovisioned Databases - Within the Aptible Dashboard by:
    • Navigating to the respective Environment in which your Database Backup lives in
    • Selecting the Backup Management tab
    • Selecting Restore to a New Database for the respective Backup
I