将数据库集群快照数据导出到 Amazon S3 - Amazon Aurora

将数据库集群快照数据导出到 Amazon S3

您可以将数据库集群快照数据导出到 Amazon S3 存储桶。导出过程在后台运行,不会影响活动数据库集群的性能。

导出数据库集群快照时,Amazon Aurora 从快照中提取数据并将其存储在 Amazon S3 存储桶中。您可以导出手动快照和自动系统快照。默认情况下,将导出快照中的所有数据。但是,您可以选择导出特定的一组数据库、方案或表。

注意

从数据库集群快照导出数据要求还原快照。还原时间受多种因素的影响,例如 AWS 区域相对于其可用带宽接收的网络流量。当流量突然增加时,完成时间可能比预期更长。

缩短 Aurora 数据库的 S3 导出时间的另一种方法是将数据库集群实时导出到 S3。数据库集群导出的开始时间比数据库快照导出更短,因为无需还原快照。有关更多信息,请参阅 将数据库集群数据导出到 Amazon S3

数据以压缩和一致的 Apache Parquet 格式存储。各个 Parquet 文件的大小通常约为 1-10MB。

导出数据后,您可以通过 Amazon Athena 或 Amazon Redshift Spectrum 等工具直接分析导出的数据。有关使用 Athena 读取 Parque 数据的更多信息,请参阅 Amazon Athena 用户指南中的 Parquet SerDe。有关使用 Redshift Spectrum 读取 Parquet 数据的更多信息,请参阅《Amazon Redshift 数据库开发人员指南》中的从列式数据格式执行 COPY 操作

功能可用性和支持因每个数据库引擎的特定版本以及 AWS 区域而异。有关将数据库集群快照数据导出到 S3 的版本和区域可用性的更多信息,请参阅 支持将快照数据导出到 Amazon S3 的区域和 Aurora 数据库引擎

您可以使用以下过程将数据库快照数据导出到 Amazon S3 存储桶。有关更多详细信息,请参阅以下部分。

导出快照数据概述
  1. 确定要导出的快照。

    使用现有的自动快照或手动快照,或创建数据库实例的手动快照。

  2. 设置对 Amazon S3 存储桶的访问权限。

    存储桶是 Amazon S3 对象或文件的容器。要提供访问存储桶的信息,请执行以下步骤:

    1. 标识要将快照导出到的 S3 存储桶。S3 存储桶必须与快照位于同一 AWS 区域。有关更多信息,请参阅 标识要导出到的 Amazon S3 存储桶

    2. 创建一个 AWS Identity and Access Management (IAM) 角色,用于授予快照导出任务对 S3 存储桶的访问权限。有关更多信息,请参阅 使用 IAM 角色提供对 Amazon S3 存储桶的访问权限

  3. 创建对称加密 AWS KMS key 以进行服务器端加密。快照导出任务使用 KMS 密钥在将导出数据写入 S3 时设置 AWS KMS 服务器端加密。

    KMS 密钥策略必须同时包含 kms:CreateGrantkms:DescribeKey 权限。有关在 Amazon Aurora 中使用 KMS 密钥的更多信息,请参阅 AWS KMS key 管理

    如果 KMS 密钥策略中有拒绝语句,则确保显式排除 AWS 服务主体 export.rds.amazonaws.com

    您可以在您的 AWS 账户内使用 KMS 密钥,或者您可以使用跨账户 KMS 密钥。有关更多信息,请参阅 使用跨账户 AWS KMS key

  4. 使用控制台或 start-export-task CLI 命令将快照导出到 Amazon S3。有关更多信息,请参阅 创建快照导出任务

  5. 要访问 Amazon S3 存储桶中导出的数据,请参阅 Amazon Simple Storage Service 用户指南中的上传、下载和管理对象

在以下各节中,学习设置、导出、监控、取消数据库集群快照导出任务并对其进行故障排除。