Restore snapshots on s3 back to atlas cluster
Currently we store Atlas snapshots on S3 for D.R purposes as well as for compliance reasons.
There was a scenario where an instance was deleted by mistake, and once an instance is deleted all of the atlas managed backup snapshots were gone. In order to restore the Atlas instance we had to do the following:
1) create a new atlas instance
2) restore the snapshot from s3 to a temporary mongodb database and then do a dump and restore in order to migrate the data back into the new atlas instance.
This is a time-consuming process, so if there is the ability to copy the snapshots directly back to the atlas instance that will save some time.
In addition, this also can benefit a scenario where we archive/purge data on a periodic basis and if needing to restore the data back for compliance reasons we can restore the snapshot, stored in S3, taken before the purge/archive process to another Atlas instance. (with the understanding that the mongo snapshot versions are the same as what is being offered in atlas).
Hello,
I would like to update everyone on some changes we have made over the last couple of quarters that resolves multiple parts of the overall goal here, in addition to the methods Ben outlined in the past
First, is Import Archive from S3 in Atlas. This walks you through how to import an archive from S3 back into Atlas.
In addition to this we now have other protections around cluster and backup deletion protection to protect against human error but also to ensure you can comply with various requirements automatically in Atlas.
You now have an option to retain all backups when terminating an M10+ cluster.
- When you terminated a cluster through the Atlas Ui, on the termination confirmation pop up, you will now see an additional toggle labeled "Keep existing snapshots after termination". If you select this option when terminating your cluster, all of your backups for that cluster will be retained.
- You can also choose to retain you backups for a cluster when deleting a cluster through the Atlas Administration API. When deleting a cluster through the API, you can include the retainBackups parameter and this will retain all of your backups after termination as well.
- You can view or use the backups from a terminated (or other active) M10+ cluster by selecting the "Backup" tab in the left side navigation of the Atlas UI.
To protect from accidentally deleting a cluster in general, you can utilize the Termination Protection setting in Atlas, which when enabled prevents users from deleting any cluster.
In addition to these options, if you would like to protect your backups, in all scenarios, from ever being deleted before the designated retention period has ended, please learn more about our new backup feature called Backup Compliance Policy.
- Backup Compliance Policy allows organizations to configure a project-level policy to prevent the deletion of backups before a predefined period, guarantee all clusters have backup enabled, ensure that all clusters have a minimum backup retention and schedule policy in place, and more.
- With these controls, you can more easily satisfy data protection requirements (e.g., AppJ, DORA, immutable / WORM backups, etc.) without the need for manual processes.
- Please note that the Backup Compliance Policy can not be disabled without MongoDB support once enabled so please make sure to read our documentation thoroughly before enabling.
In addition to Backup Compliance Policy, organizations can also utilize our multi-region Snapshot Distribution to automatically copy backups (snapshots and oplogs) to additional Atlas regions. If your primary cloud experiences a region outage then Atlas will be able to recover with a copied backup from another region, just like any normal restore.
With all of these features, you can automatically protect your data and meet compliance directly in Atlas.
-
Hi, thanks for the comments. A few things, first the intention of this feature is for long-term archival to meet a compliance requirement. In the near future, we will release something new to archive DR all contained in Atlas.
Secondly regarding restoring from these archives. There are two other ways you could do this. The first is to use Atlas Data Lake to query the archive directly or secondly follow the instructions here --> https://docs.atlas.mongodb.com/backup/cloud-backup/import-archive/
-
Sam Craske commented
Yes please - why give the facilities to export to S3 when there is no converse option to restore a cluster's from a snapshot on S3?
We pay for a service to host our MongoDB clusters so we don't have to host own own anymore - it is counterintuitive that we have to make clusters to restore data to clusters on a hosted service.