创建快照导出任务 - Amazon Aurora

创建快照导出任务

创建快照导出任务,来将数据从快照导出到 Amazon S3 存储桶。每个 AWS 账户 最多可以执行五个并发数据库快照导出任务。

注意

导出 RDS 快照可能需要一段时间,具体取决于您的数据库类型和大小。导出任务首先还原并扩展整个数据库,然后再将数据提取到 Amazon S3。此阶段的任务进度显示为正在启动。当任务切换到将数据导出到 S3 时,进度显示为正在进行

完成导出所需的时间取决于数据库中存储的数据。例如,具有分布良好的数字主键或索引列的表导出速度最快。不包含适用于分区的列的表,以及只有基于字符串的列上的一个索引的表将需要更长时间。导出时间之所以更长,是因为导出使用较慢的单线程进程。

您可以使用AWS Management Console、AWS CLI 或 RDS API 将数据库快照导出到 Amazon S3。

如果您使用 Lambda 函数导出快照,请将 kms:DescribeKey 操作添加到 Lambda 函数策略中。有关更多信息,请参阅 AWS Lambda 权限

仅为可导出到 Amazon S3 的快照显示导出到 Amazon S3 控制台选项。由于以下原因,快照可能无法导出:

  • 不支持数据库引擎的 S3 导出。

  • 不支持数据库实例版本的 S3 导出。

  • 创建了快照的 AWS 区域不支持 S3 导出。

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

  2. 在导航窗格中,选择快照

  3. 从选项卡中,选择要导出的快照类型。

  4. 在快照列表中,选择要导出的快照。

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

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

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

  7. 选择要导出的数据:

    • 选择 All (全部) 可导出快照中的所有数据。

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

      使用以下格式:

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

      例如:

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

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

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

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

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

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

  11. 选择 Export to Amazon S3 (导出到 Amazon S3)

要使用 AWS CLI 将数据库快照导出到 Amazon S3,请使用包含以下所需选项的 start-export-task 命令:

  • --export-task-identifier

  • --source-arn

  • --s3-bucket-name

  • --iam-role-arn

  • --kms-key-id

在以下示例中,快照导出任务名为 my-snapshot-export,该任务将快照导出到名为 amzn-s3-demo-destination-bucket 的 S3 存储桶。

对于 Linux、macOS 或 Unix:

aws rds start-export-task \ --export-task-identifier my-snapshot-export \ --source-arn arn:aws:rds:AWS_Region:123456789012:snapshot:snapshot-name \ --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-snapshot-export ^ --source-arn arn:aws:rds:AWS_Region:123456789012:snapshot:snapshot-name ^ --s3-bucket-name amzn-s3-demo-destination-bucket ^ --iam-role-arn iam-role ^ --kms-key-id my-key

示例输出如下。

{ "Status": "STARTING", "IamRoleArn": "iam-role", "ExportTime": "2019-08-12T01:23:53.109Z", "S3Bucket": "amzn-s3-demo-destination-bucket", "PercentProgress": 0, "KmsKeyId": "my-key", "ExportTaskIdentifier": "my-snapshot-export", "TotalExtractedDataInGB": 0, "TaskStartTime": "2019-11-13T19:46:00.173Z", "SourceArn": "arn:aws:rds:AWS_Region:123456789012:snapshot:snapshot-name" }

要在 S3 存储桶中为快照导出提供文件夹路径,请在 start-export-task 命令中包含 --s3-prefix 选项。

要使用 Amazon RDS API 将数据库快照导出到 Amazon S3,请使用包含以下所需参数的 StartExportTask 操作:

  • ExportTaskIdentifier

  • SourceArn

  • S3BucketName

  • IamRoleArn

  • KmsKeyId