View a markdown version of this page

创建快照导出任务 - Amazon Aurora

创建快照导出任务

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

注意

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

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

您可以使用AWS 管理控制台、AWS CLI 或 RDS API 将数据库快照导出到 Amazon S3。

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

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

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

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

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

导出数据库快照
  1. 登录 AWS 管理控制台 并通过以下网址打开 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