Nota
Esta funcionalidad no está disponible para clústeres gratuitos ni flexibles. Para aprender más sobre qué funcionalidades no están disponibles, consulte Límites del clúster gratuito de Atlas.
Atlas te permite exportar tus snapshots de copias de seguridad en la nube a un servicio de almacenamiento de objetos.
Para aprender cómo restaurar un snapshot exportado en un clúster de Atlas, consulta Importar snapshots archivados en Atlas.
Para aprender a gestionar las políticas y los cronogramas de las copias de seguridad automáticas, consulte Gestione las políticas de copias de seguridad.
Servicios de almacenamiento compatibles
Actualmente, Atlas admite los siguientes servicios de almacenamiento de objetos:
AWS Buckets S3
Azure Blob Storage
Buckets de almacenamiento de Google Cloud
Además, Atlas admite la exportación de instantáneas a AWS S3 buckets utilizando PrivateLink.
Cómo Atlas exporta instantáneas
Puede exportar manualmente snapshots individuales o configurar una política de exportación para la exportación automática de sus snapshots. Para conocer los pasos específicos de su servicio de almacenamiento de objetos, consulte la página de exportación de su proveedor de nube.
Para configurar exportaciones automáticas, agrega una política de exportación a tu cronograma de copias de seguridad en la nube y establece su tipo de frecuencia en daily, weekly, monthly o yearly. Cuando un elemento de política de copia de seguridad con el mismo tipo de frecuencia crea un snapshot, Atlas exporta ese snapshot a tu almacenamiento de objetos especificado.
Atlas carga un archivo vacío en la ruta /exported_snapshots/.permissioncheck de su almacén de objetos cuando agrega un nuevo almacén de objetos para la exportación y cuando inicia una exportación. A medida que avanza la exportación, puede consultar resultados parciales en su servicio de almacenamiento de objetos.
Atlas almacena documentos en snapshots independientemente de la configuración de Time to Live. Se puede acceder a estos documentos desde el snapshot una vez superado el plazo de Time to Live.
Para aprender sobre los precios de exportación de snapshots, consulta Costos de exportación de snapshots.
Archivos de datos exportados
Cada tarea de exportación de snapshot de copias de seguridad en la nube carga los datos de snapshot en el almacén de objetos en documentos JSON extendido v2 comprimidos con gzip. Estos archivos no se cargan en ningún orden en particular. Cada archivo contiene un fragmento de documentos de una sola colección en el snapshot. Para los clúster particionados, Atlas crea una tarea de exportación independiente por set de réplicas (partición) y especifica el nombre del set de réplicas en la ruta de los archivos cargados.
Importante
A medida que avanza la exportación, puede consultar resultados parciales en su servicio de almacenamiento de objetos. Si se produce un error en una tarea de exportación:
Atlas no intenta exportar de nuevo automáticamente.
Atlas no remueve ningún dato parcial en su almacenamiento de objetos.
Atlas sube cada archivo de datos a la siguiente ruta de su almacén de objetos:
/exported_snapshots/<orgName>/<projectName>/<clusterName>/<initiationDateOfSnapshot>/<timestamp>/<dbName>/<collectionName>/<shardName>.<increment>.json.gz
Atlas reemplaza cada marcador de posición en la ruta con estos valores:
| Nombre de tu organización en Atlas. |
| Nombre de tu proyecto Atlas. |
| Nombre de tu clúster Atlas. |
| Fecha en que se tomó la snapshot. |
| Marca de tiempo cuando se creó la tarea de exportación. |
| Nombre de la base de datos en el clúster Atlas. |
| Nombre de la colección Atlas. |
| Nombre del set de réplicas. Para las colecciones particionadas, este es el nombre de la partición primaria. |
| Conteo que aumenta a medida que se suben fragmentos. Comienza en |
Archivos de metadatos exportados
Una vez que Atlas termina de exportar los datos de snapshot a su almacenamiento de objetos, Atlas también carga un archivo de metadatos llamado .complete y un archivo de metadatos llamado metadata.json para cada colección:
Para cada colección de la tarea de exportación de snapshot, Atlas sube un archivo de metadatos denominado .complete a la siguiente ruta de su objeto store:
/exported_snapshots/<orgUUID>/<projectUUID>/<clusterName>/<initiationDateOfSnapshot>/<timestamp>/
Nota
De forma por defecto, Atlas utiliza los UUID de organización y proyecto en la ruta de los archivos de metadatos. Para utilizar los nombres de organizaciones y proyectos en lugar de UUIDs, configure la bandera useOrgAndGroupNamesInExportPrefix en true a través de la API. Atlas reemplaza cualquier espacio con guiones bajos (_) y remueve cualquier caracteres que puedan requerir un tratamiento especial y caracteres a evitar de los nombres de la organización y del Proyecto en la ruta.
El archivo de metadatos .complete está en formato JSON y contiene los siguientes campos:
Campo de cuerpo de solicitud | Descripción |
|---|---|
| Secuencia única de 24 dígitos hexadecimales que identifica la organización Atlas. |
| Nombre de la organización de Atlas. |
| string única de 24 dígitos hexadecimales que identifica el Proyecto en la organización Atlas. |
| Nombre del proyecto de Atlas. |
| string única de 24 dígitos hexadecimales que identifica el clúster de Atlas. |
| Nombre del proyecto de Atlas. |
| Fecha en que se tomó la snapshot. |
| Número total de archivos cargados en el almacén de objetos. |
| Etiquetas del clúster cuya instantánea fue exportada. |
| Datos personalizados, en su caso, que usted haya especificado al crear la tarea de exportación. |
Ejemplo
{ "orgId": "60512d6f65e4047fe0842095", "orgName": "org1", "groupId": "60512dac65e4047fe084220f", "groupName": "group1", "clusterUniqueId": "60512dac65e4047fe0842212", "clusterName": "cluster0", "snapshotInitiationDate": "2020-04-03T05:50:29.321Z" "totalFiles": 23, "labels": [ { "key": "key1", "value": "xyz" }, { "key": "key2", "value": "xyzuio" } ], "customData": [ { "key": "key1", "value": "xyz" }, { "key": "key2", "value": "xyzuio" } ] }
Para cada colección de la tarea de exportación de snapshot, Atlas sube un archivo de metadatos denominado metadata.json a la siguiente ruta de su objeto store:
/exported_snapshots/<orgUUID>/<projectUUID>/<clusterName>/<initiationDateOfSnapshot>/<timestamp>/<dbName>/<collectionName>/metadata.json
Nota
De forma por defecto, Atlas utiliza los UUID de organización y proyecto en la ruta de los archivos de metadatos. Para usar nombres de organización y proyecto en lugar de UUID, establece el flag useOrgAndGroupNamesInExportPrefix a través de la API en true. Atlas reemplaza cualquier espacio con guiones bajos (_) y remueve cualquier carácter que pueda requerir un manejo especial y caracteres a evitar de los nombres de la organización y del Proyecto en la ruta.
El archivo de metadatos está en formato JSON y contiene los siguientes campos:
Campo de cuerpo de solicitud | Descripción |
|---|---|
| Etiqueta legible por humanos que identifica la colección. |
| Lista de todos los índices en la colección en el formato devuelto por el comando db.collection.getIndexes. |
| Opciones de configuración definidas en la colección. Para aprender más sobre las opciones, consulta el comando db.createCollection(). |
| (Opcional) Tipo de colección. Este campo sólo se admite para colección de series de tiempo, con un valor de Atlas no admite la exportación de colecciones de tipo |
| UUID de la colección. Para aprender más sobre UUID, se puede consultar UUID. |
Ejemplo
{ "options":{ "viewOn":"othercol", "pipeline":[{"$project":{"namez":"$name"}}] }, "indexes":[], "collectionName":"viewcol", "type":"view" }
{ "options":{ "timeseries":{ "timeField":"timestamp", "granularity":"seconds", "bucketMaxSpanSeconds":{"$numberInt":"3600"} } }, "indexes":[], "collectionName":"timeseriescol", "type":"timeseries" }
{ "indexes": [ { "v":{"$numberInt":"2"}, "key":{ "_id":{"$numberInt":"1"} }, "name":"_id_" } ], "uuid":"342c40a937c34c478bab03de8ce44f3e", "collectionName":"somecol" }
Limitaciones
No puedes realizar las siguientes acciones:
Exporta instantáneas de respaldo.
Tener más de una exportación activa por cada snapshot.
Exporta colecciones de vistas o colecciones del sistema, a excepción de las colecciones
<database>.system.js.Exporta instantáneas desde clústeres en un proyecto de Atlas con la función cifrado en reposo activada y restringida por IP.
Exporta snapshots a través de nodos privados (exportaciones privadas) para los clústeres de Azure o Google Cloud.
Acceso requerido
Para crear o gestionar un cronograma de exportación de copias de seguridad en la nube o configurar un bucket de exportación de copias de seguridad en la nube en Atlas, debes tener
Project Backup ManageroProject Ownerpara el proyecto.Para crear o gestionar una tarea de exportación de copias de seguridad en la nube, debes tener acceso
Project Backup Export OperatoroProject Owneral proyecto.Para crear o gestionar un nodo privado de almacenamiento de objetos de copias de seguridad en la nube, debe tener acceso
Project Owneral proyecto.
Exportar a su proveedor de nube
Los pasos para exportar los snapshots de copias de seguridad en la nube dependen de su servicio de almacenamiento de objetos. Para configurar el acceso a Atlas, configurar un bucket de exportación y exportar snapshot, consulte la página de su proveedor de nube:
Exporte snapshots a depósitos AWS S3, incluso a través de PrivateLink.
Exportar snapshots a contenedores de almacenamiento de blobs de Azure.
Exportar snapshot a depósitos de Google Cloud Platform.