创建数据库集群导出任务 - Amazon Aurora
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

创建数据库集群导出任务

创建导出任务,来将数据从 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 导出。

导出数据库集群数据
  1. 登录 Amazon Web Services Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/

  2. 在导航窗格中,选择 Databases(数据库)

  3. 选择要导出其数据的数据库集群。

  4. 对于 Actions (操作),选择 Export to Amazon S3 (导出到 Amazon S3)

    此时将显示 Export to Amazon S3 (导出到 Amazon S3) 窗口。

  5. 对于 Export identifier (导出标识符),输入用于标识导出任务的名称。此值也用于在 S3 存储桶中创建的文件的名称。

  6. 选择要导出的数据:

    • 选择 All(全部)可导出数据库集群中的所有数据。

    • 选择 Partial(部分)可导出数据库集群的特定部分。如需标识要导出集群的哪些部分,请为 Identifiers(标识符)输入一个或多个数据库、模式或表,以空格分隔。

      使用以下格式:

      database[.schema][.table] database2[.schema2][.table2] ... databasen[.scheman][.tablen]

      例如:

      mydatabase mydatabase2.myschema1 mydatabase2.myschema2.mytable1 mydatabase2.myschema2.mytable2
  7. 对于 S3 bucket (S3 存储桶),选择要导出到的存储桶。

    要将导出的数据分配给 S3 存储桶中的文件夹路径,请为 S3 prefix (S3 前缀) 输入可选路径。

  8. 对于 IAM role (IAM 角色),请选择一个角色以授予您对所选 S3 存储桶的写入访问权限,或创建新角色。

    • 如果您按照 使用 IAM 角色提供对 Amazon S3 存储桶的访问权限中的步骤创建了角色,请选择该角色。

    • 如果您没有创建授予您对所选 S3 桶的写入访问权限的角色,则选择 Create a new role(创建新角色)来自动创建该角色。接下来,在 IAM role name (IAM 角色名称) 中输入角色的名称。

  9. 对于 KMS key(KMS 密钥),输入要用于加密导出数据的密钥的 ARN。

  10. 选择 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-name amzn-s3-demo-destination-bucket \ --iam-role-arn iam-role \ --kms-key-id my-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-name amzn-s3-demo-destination-bucket ^ --iam-role-arn iam-role ^ --kms-key-id my-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