Docs 菜单
Docs 主页
/
MongoDB Atlas
/

导出云备份快照

在此页面上

  • Atlas 如何导出快照
  • 导出的数据格式
  • 限制
  • 必需的访问权限
  • 先决条件
  • 导出管理

注意

此功能不适用于 M0 免费集群、M2M5 集群。要详细了解哪些功能不可用,请参阅 Atlas M0(免费集群)、M2 和 M5 限制

Atlas 允许您将云备份快照导出到 AWS S3 存储桶。

要了解如何管理自动备份策略和计划,请参阅管理备份策略

您可以手动导出单个快照,也可以设置导出策略来自动导出快照。对于自动导出,您必须在导出策略中指定频率:

  • 每日

  • 每周

  • 每月

  • 每年

Atlas 可自动导出频率类型与导出频率匹配的任何备份快照。导出的结果是该快照的完整备份。

例子

请考虑以下内容:

  • 设立每周和每月快照计划的备份策略

  • 设置每月导出频率的导出策略

假设在月底,每周和每月的快照发生在同一天。将有 4 个快照,其中 3 个是每周快照,第四个快照虽然被 Atlas 视为每周快照,但它也是每月快照,因为发生在同一天。Atlas 只会导出每月快照,因为导出频率与该快照的快照频率匹配。要同时导出每周快照,请将导出策略更新为同时导出每周快照。如果导出频率设置为每周,Atlas 将导出全部 4 个快照。

Atlas 会逐个导出集合的快照。随着导出的进行,您可能会在 S3 存储桶中看到部分结果。如果 Atlas 当前正在导出 5 个或更多副本集,则 Atlas 会对任何新作业进行排队。对于分片集群,无论分片数量有多少,Atlas 都会同时导出所有分片的快照。

除了 AWS 本身产生的数据传输费用外,Atlas 还针对导出到$.125 AWS S3 存储桶的每 GB 数据收取 的费用。 Atlas 会在导出之前压缩数据。要估计导出的数据量,请将集群中每个数据库的 dataSize 相加 。此总数应与导出的未压缩大小相对应,这将是 Atlas 因数据导出操作而产生的最大成本。

当您执行以下操作时,Atlas 会将空文件上传到 /exported_snapshots/.permissioncheck

  • 添加新的 AWS S3 导出桶

  • 开始导出

完成导出后,Atlas 会为每个集合上传名为 .completemetadata.json 的元数据文件。

如果导出作业失败:

  • Atlas 不会自动尝试再次导出。

  • Atlas 不会删除您的 S3 存储桶中的任何部分数据。

Atlas 将数据库内容以.json.gz格式上传到 S3,其中包含扩展 JSON 格式的文档。S3 上文件的路径是

/exported_snapshots/<orgName>/<projectName>/<clusterName>/<initiationDateOfSnapshot>/<timestamp>/<dbName>/<collectionName>/<shardName>.<increment>.json.gz

其中:

<orgName>
您的 Atlas 组织的名称。
<projectName>
您的 Atlas 项目的名称。
<clusterName>
您的 Atlas 集群的名称。
<initiationDateOfSnapshot>
拍摄快照的日期。
<timestamp>
创建导出作业时的时间戳。
<dbName>
Atlas 集群中数据库的名称。
<collectionName>
Atlas 集合的名称。
<shardName>
副本集名称。
<increment>
上传数据段时递增的计数。从 0 开始。

适用以下限制:

  • 您只能导出到 AWS S3 存储桶。

  • 您只能导出当前支持的 MongoDB 版本的快照,但无论哪个版本,您始终可以下载已保存的快照。

  • 无法导出回退快照

  • 每个快照只能有一个活动导出。

重要

当您将快照从分片集群导出到 S3 存储桶时,每个分片的导出时间戳可能不同。这可能会导致各分片出现重复或不一致的数据。

要管理云备份快照,您必须拥有项目的 Project Owner 访问权限。拥有 Organization Owner 访问权限的用户必须将自己添加为该项目的 Project Owner,然后才能管理云备份快照。

要将云备份快照导出到 AWS S3 存储桶,需要满足以下条件:

  1. M10 或更高版本且启用了 Cloud Backup 的 Atlas 集群。

  2. AWS IAM 角色 STS:AssumeRole,授予 Atlas 访问您的 AWS 资源的权限。要了解有关为 Atlas 配置 AWS 访问权限的更多信息,请参阅 设置统一 AWS 访问权限。

  3. AWS IAM 角色策略 授予 AtlasS3:PutObject S3:GetBucketLocation AWS 资源的写入权限或 和 权限。要了解有关配置 AWS 资源写访问权限的更多信息,请参阅 设置统一 AWS 访问权限。

    例子

    {
    "Version": "2012-10-17",
    "Statement": [
    {
    "Effect": "Allow",
    "Action": "s3:GetBucketLocation",
    "Resource": "arn:aws:s3:::bucket-name"
    },
    {
    "Effect": "Allow",
    "Action": "s3:PutObject",
    "Resource": "arn:aws:s3:::bucket-name/*"
    }
    ]
    }
← 存储引擎和云备份加密