将数据库集群数据导出到 Amazon S3
您可以将数据从实时 Amazon Aurora 数据库集群导出到 Amazon S3 桶。导出过程在后台运行,不会影响活动数据库集群的性能。
原定设置情况下,将导出数据库集群中的所有数据。但是,您可以选择导出特定的一组数据库、方案或表。
Amazon Aurora 克隆数据库集群,从克隆中提取数据,并将数据存储在 Amazon S3 桶中。数据以压缩和一致的 Apache Parquet 格式存储。各个 Parquet 文件的大小通常约为 1-10MB。
导出 Aurora MySQL 版本 2 和版本 3 的快照数据所能获得的更快的性能不适用于导出数据库集群数据。有关更多信息,请参阅 将数据库集群快照数据导出到 Amazon S3。
无论是导出全部数据还是部分数据,您都需要为导出整个数据库集群付费。有关更多信息,请参阅 Amazon Aurora 定价页面
导出数据后,您可以通过 Amazon Athena 或 Amazon Redshift Spectrum 等工具直接分析导出的数据。有关使用 Athena 读取 Parque 数据的更多信息,请参阅 Amazon Athena 用户指南中的 Parquet SerDe。有关使用 Redshift Spectrum 读取 Parquet 数据的更多信息,请参阅《Amazon Redshift 数据库开发人员指南》中的从列式数据格式执行 COPY 操作。
功能可用性和支持因每个数据库引擎的特定版本以及 AWS 区域而异。有关将数据库集群数据导出到 S3 的版本和区域可用性的更多信息,请参阅 支持将集群数据导出到 Amazon S3 的区域和 Aurora 数据库引擎。
您可以使用以下过程将数据库集群数据导出到 Amazon S3 桶。有关更多详细信息,请参阅以下部分。
导出数据库集群数据概述
-
标识要导出其数据的数据库集群。
-
设置对 Amazon S3 存储桶的访问权限。
存储桶是 Amazon S3 对象或文件的容器。要提供访问存储桶的信息,请执行以下步骤:
-
标识要将数据库集群数据导出到的 S3 桶。S3 桶和数据库集群必须位于同一 AWS 区域中。有关更多信息,请参阅 标识要导出到的 Amazon S3 存储桶。
-
创建一个 AWS Identity and Access Management(IAM)角色,用于授予数据库集群导出任务对 S3 桶的访问权限。有关更多信息,请参阅 使用 IAM 角色提供对 Amazon S3 存储桶的访问权限。
-
-
创建对称加密 AWS KMS key 以进行服务器端加密。集群导出任务使用 KMS 密钥在将导出数据写入 S3 时设置 AWS KMS 服务器端加密。
KMS 密钥策略必须同时包含
kms:CreateGrant
和kms:DescribeKey
权限。有关在 Amazon Aurora 中使用 KMS 密钥的更多信息,请参阅 AWS KMS key 管理。如果 KMS 密钥策略中有拒绝语句,则确保显式排除 AWS 服务主体
export.rds.amazonaws.com
。您可以在您的 AWS 账户内使用 KMS 密钥,或者您可以使用跨账户 KMS 密钥。有关更多信息,请参阅 使用跨账户 AWS KMS key。
-
使用控制台或
start-export-task
CLI 命令将数据库集群导出到 Amazon S3。有关更多信息,请参阅 创建数据库集群导出任务。 -
要访问 Amazon S3 存储桶中导出的数据,请参阅 Amazon Simple Storage Service 用户指南中的上传、下载和管理对象。
在以下各节中,学习设置、导出、监控、取消数据库集群导出任务并对其进行故障排除。