创建数据库集群导出任务
创建导出任务,来将数据从 Aurora 数据库集群导出到 Amazon S3 存储桶。每个 Amazon Web Services 账户 最多可以执行五个并发数据库集群导出任务。
注意
导出数据库集群数据可能需要一段时间,具体取决于您的数据库类型和大小。导出任务首先克隆并扩展整个数据库,然后再将数据提取到 Amazon S3。此阶段的任务进度显示为正在启动。当任务切换到将数据导出到 S3 时,进度显示为正在进行。
完成导出所需的时间取决于数据库中存储的数据。例如,具有分布良好的数字主键或索引列的表导出速度最快。不包含适用于分区的列的表,以及只有基于字符串的列上的一个索引的表需要更长时间,因为导出使用较慢的单线程进程。
您可以使用 Amazon Web Services Management Console、Amazon CLI 或 RDS API 将数据库集群数据导出到 Amazon S3。
如果您使用 Lambda 函数导出数据库集群数据,请将 kms:DescribeKey
操作添加到 Lambda 函数策略中。有关更多信息,请参阅 Amazon Lambda 权限。
仅为可导出到 Amazon S3 的数据库集群显示 Export to Amazon S3(导出到 Amazon S3)控制台选项。由于以下原因,数据库集群可能无法导出:
-
此数据库引擎不支持 S3 导出。
-
数据库集群版本不支持 S3 导出。
-
创建了数据库集群的 Amazon 区域不支持 S3 导出。
导出数据库集群数据
登录 Amazon Web Services Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/
。 -
在导航窗格中,选择 Databases(数据库)。
-
选择要导出其数据的数据库集群。
-
对于 Actions (操作),选择 Export to Amazon S3 (导出到 Amazon S3)。
此时将显示 Export to Amazon S3 (导出到 Amazon S3) 窗口。
-
对于 Export identifier (导出标识符),输入用于标识导出任务的名称。此值也用于在 S3 存储桶中创建的文件的名称。
-
选择要导出的数据:
-
选择 All(全部)可导出数据库集群中的所有数据。
-
选择 Partial(部分)可导出数据库集群的特定部分。如需标识要导出集群的哪些部分,请为 Identifiers(标识符)输入一个或多个数据库、模式或表,以空格分隔。
使用以下格式:
database
[.schema
][.table
]database2
[.schema2
][.table2
] ...database
n[.schema
n][.table
n]例如:
mydatabase mydatabase2.myschema1 mydatabase2.myschema2.mytable1 mydatabase2.myschema2.mytable2
-
-
对于 S3 bucket (S3 存储桶),选择要导出到的存储桶。
要将导出的数据分配给 S3 存储桶中的文件夹路径,请为 S3 prefix (S3 前缀) 输入可选路径。
-
对于 IAM role (IAM 角色),请选择一个角色以授予您对所选 S3 存储桶的写入访问权限,或创建新角色。
-
如果您按照 使用 IAM 角色提供对 Amazon S3 存储桶的访问权限中的步骤创建了角色,请选择该角色。
-
如果您没有创建授予您对所选 S3 桶的写入访问权限的角色,则选择 Create a new role(创建新角色)来自动创建该角色。接下来,在 IAM role name (IAM 角色名称) 中输入角色的名称。
-
-
对于 KMS key(KMS 密钥),输入要用于加密导出数据的密钥的 ARN。
-
选择 Export to Amazon S3 (导出到 Amazon S3)。
要使用 Amazon CLI 将数据库集群数据导出到 Amazon S3,请使用包含以下所需选项的 start-export-task 命令:
-
--export-task-identifier
-
--source-arn
– 数据库集群的 Amazon 资源名称(ARN) -
--s3-bucket-name
-
--iam-role-arn
-
--kms-key-id
在以下示例中,导出任务名为 my-cluster-export
,该任务将数据导出到名为 amzn-s3-demo-destination-bucket
的 S3 存储桶。
对于 Linux、macOS 或 Unix:
aws rds start-export-task \ --export-task-identifier
my-cluster-export
\ --source-arn arn:aws:rds:us-west-2
:123456789012:cluster:my-cluster
\ --s3-bucket-nameamzn-s3-demo-destination-bucket
\ --iam-role-arniam-role
\ --kms-key-idmy-key
对于 Windows:
aws rds start-export-task ^ --export-task-identifier
my-DB-cluster-export
^ --source-arn arn:aws:rds:us-west-2
:123456789012:cluster:my-cluster
^ --s3-bucket-nameamzn-s3-demo-destination-bucket
^ --iam-role-arniam-role
^ --kms-key-idmy-key
示例输出如下。
{ "ExportTaskIdentifier": "my-cluster-export", "SourceArn": "arn:aws:rds:us-west-2:123456789012:cluster:my-cluster", "S3Bucket": "
amzn-s3-demo-destination-bucket
", "IamRoleArn": "arn:aws:iam:123456789012:role/ExportTest", "KmsKeyId": "my-key", "Status": "STARTING", "PercentProgress": 0, "TotalExtractedDataInGB": 0, }
要在 S3 桶中为数据库集群导出提供文件夹路径,请在 start-export-task 命令中包含 --s3-prefix
选项。
要使用 Amazon RDS API 将数据库集群数据导出到 Amazon S3,请使用包含以下所需参数的 StartExportTask 操作:
-
ExportTaskIdentifier
-
SourceArn
– 数据库集群的 ARN -
S3BucketName
-
IamRoleArn
-
KmsKeyId